Scasefp7 consiste à créer de manière semi-automatique des services Web via des exigences multimodales à l’aide d’une méthodologie d’ingénierie pilotée par les modèles. Le monde des services Web évolue et vise à faciliter la mise en œuvre de ces services Web par les développeurs en se concentrant principalement sur l’ingénierie des exigences. La figure ci-dessous décrit les composants de base et le flux de base des événements/données.
Afin de mieux comprendre l’application pratique de la solution, examinons un exemple de cas d’utilisation typique.
L’utilisateur importe ou crée des exigences multimodales pour son application envisagée. Les exigences peuvent être :
Exigences textuelles sous la forme « L’utilisateur/le système doit être capable de… »,
Diagrammes d’activité et de cas d’utilisation créés dans la plateforme ou importés sous forme d’images,
Storyboards pour l’organigramme,
Diagrammes de classes d’analyse pour améliorer la précision du système pour identifier les entités, leurs propriétés et leurs relations.
Les exigences sont ensuite traitées par des techniques de traitement du langage naturel et d’analyse d’images afin d’extraire des concepts de génie logiciel pertinents. Il s’agit principalement de l’identification des ressources, de leurs propriétés et relations et des actions sur les ressources. Tous ces concepts sont stockés dans l’ontologie.
La procédure ci-dessus identifie également les tuples action-ressource qui peuvent être créés automatiquement par le système comme l’action-ressource « créer un signet » (construit automatiquement) ou d’autres qui nécessitent des processus plus élaborés comme « obtenir les coordonnées de géolocalisation données par la météo » (semi-automatiquement construit ou composé). Ces derniers sont envoyés dans le module de synthèse et de composition des services Web.
Le module de synthèse et de composition des services Web tente de synthétiser des processus élaborés en composant des services Web tiers en un seul service Web composite. Pour effectuer un tel calcul, le logiciel fournit une méthodologie pour annoter sémantiquement les services Web tiers à l’aide d’ontologies de domaine, afin qu’ils puissent ensuite être adaptés aux exigences du service composite. Le service composite est déployé dans l’environnement de déploiement et enregistré dans le répertoire des services Web pour référence et réutilisation futures.
Créer le modèle indépendant de calcul
Une fois les étapes ci-dessus terminées, la procédure d’ingénierie pilotée par le modèle démarre. La première étape consiste à créer le modèle indépendant de calcul à partir de l’ontologie. Il contient le strict minimum d’informations nécessaires pour échafauder un service qui respecte les exigences imposées par l’utilisateur, c’est-à-dire qu’il inclut tous les concepts du domaine du problème.
Après cela, des transformations de modèle ont lieu en transformant ou en incorporant des contraintes de conception, mais indépendantes de la plate-forme et ajout de la prise en charge de la mise en œuvre dans une suite spécifique d’outils logiciels tels que : java, jax-rs, hibernate, json, jaxb, postgresql etc). La dernière étape consiste à générer automatiquement le code du service Web. Les appels aux services composites sont encapsulés dans le code généré. Le code est construit et déployé pour que d’autres puissent l’utiliser.
Afin de prendre en charge la réutilisation des logiciels, chaque artefact logiciel créé à partir de cette procédure est stocké dans le référentiel pour une récupération future.
Nous prévoyons de développer un écosystème de services, ainsi que les outils appropriés pour que les fournisseurs de services développent des logiciels de qualité pour les PME avec un budget abordable.