Archive

Articles taggués ‘SysML’

Les retours de l’EA User Group 2013 à Londres

Je me suis rendu le 15 mai à la première édition de l’EAUG (Enterprise Architect User Group) où s’est réunie à Londres la communauté des utilisateurs d’Enterprise Architect.

Vous trouverez dans cet article la synthèse d’une sélection de présentations auxquelles j’ai assisté :

  1. « Modeling Software Intensive Systems » de Doug Rosenberg d’ICONIX, introduisant le concept de SwissML (SysML + UML) pour obtenir le même niveau de spécifications sur les blocs logiciels et matériels d’un système embarqué. Doug aborde l’incompatibilité des méthodes agiles dans un contexte où le logiciel n’est pas le livrable final, mais fait partie d’un système comprenant un ensemble de blocs matériels et logiciels, avec une forte criticité sur les erreurs possibles en raison des risques liés à la sureté et à la sécurité.
  2. « SysML with EA » de Roman Bretz de Lieber Lieber GmbH nous faisant part de ses retours d’expérience en clientèle sur le langage de modélisation SysML.
  3. « User Story : EA usage at EVRY » de Knut Paulsen d’EVRY, qui nous a présenté l’utilisation d’EA dans son entreprise, impliquant notamment la réalisation d’Add’ins EA (générateur de documentation, export/import Excel) définis selon la méthodologie adoptée en interne.
  4. « User Story: How to do less work, have more fun and become (a bit) famous doing it » d’Ian Mitchell d’Ability Engineering, qui nous a fait part de ses retours d’expérience en tant que BA au sein d’un projet d’envergure à l’échelle européenne. Des conseils et avis très intéressants et pertinents !

Lire la suite…

Enterprise Architect version 10 disponible

Sparx entreprise architect v10

Sparx Systems a annoncé aujourd’hui la sortie de la dernière version 10 d’Enterprise Architect, outil de modélisation UML, BPMN, SysML.

EA v10 intègre entre autre :

  • plusieurs améliorations liées à l’ergonomie et l’utilisation quotidienne de l’outil,
  • un nouveau module de recherche sur les diagrammes,
  • une nette amélioration sur la fonctionnalité « Add Related Elements »,
  • la possibilité d’appliquer des calques (textual overlays) sur les matrices de relations (par ex CRUD);
  • le support de SysML 1.3 et un outil pour convertir des diagrammes SysML 1.2 en v.1.3,
  • des assistants en appui à la création de Profils UML,
  • le support de standards et modèles dans le domaine géospatial avec Geography Markup Language et ArcGIS;
  • des améliorations sur la simulation des modèles,
  • un débogueur et visualiseur intégrés pour les applications mobiles Android.

Certaines de ces fonctionnalités ont été testées dans l’article Aperçu EA v10 bêta 2.

Aperçu d’Enterprise Architect 10 Bêta 2

Sparx Systems prévoit de sortir prochainement la version 10 d’Enterprise Architect. La liste des évolutions est disponible depuis leur site ici.

Cet article présente un aperçu des nouvelles fonctionnalités et évolutions prévues pour Enterprise Architect v10 suite au test réalisé sur la bêta 2, dont les fonctionnalités peuvent évoluer d’ici la version finale. Les fonctionnalités abordées dans cet article sont les suivantes :

  1. Évolution de la fonctionnalité Insert Related Elements.
  2. Un nouveau module de recherche dans le diagramme : Diagram Search Box.
  3. Une nouvelle fonctionnalité dans les matrices de traçabilité (Relationship Matrix) pour définir et appliquer des calques : textual overlays, par exemple pour définir des associations CRUD entre éléments.
  4. L’accès à la liste des vues à afficher a été modifié dans les menus d’EA; les vues ne sont plus toutes accessibles depuis le menu « View », mais réparties parmi les menus Element, Diagram, Project…
  5. Une amélioration dans le QuickLinker pour créer de nouveaux liens d’agrégation.

Amélioration de la fonctionnalité ‘Insert related elements’

Sparx a nettement amélioré l’ajout des éléments liés sur un diagramme (fonctionnalité Insert Related Elements) comme illustré par les captures d’écran suivantes.

Insert Related Element dans les versions 9.3 et 10 beta

Dans la nouvelle version 10, EA affiche dynamiquement les types d’éléments actuellement liés à l’élément sélectionné, les types de connecteurs/associations entre ces éléments, et enfin la liste des éléments liés selon les critères choisis. On retrouve également les mêmes critères que dans la version actuelle (9.3) : direction de l’association, profondeur de relations (niveau N+1, N+2, etc.), namespace.

Ainsi l’on peut visualiser la liste des éléments liés d’après la sélection des types de connecteurs et des types d’éléments (liste mise à jour via le bouton Refresh), puis sélectionner individuellement les éléments à rajouter au diagramme.

Ces évolutions améliorent grandement l’efficacité de cette fonctionnalité :

  • Il est possible de sélectionner plusieurs types d’éléments au lieu d’un seul.
  • Il est possible de sélectionner plusieurs types de connecteurs au lieu d’un seul.
  • Les types d’éléments et de connecteurs ne faisant pas partie de l’ensemble des éléments liés ne sont plus affichés, ce qui facilite fortement le choix des critères.
  • Un aperçu des éléments liés selon les critères définis est affiché. Il est alors possible de sélectionner depuis cette liste les éléments à rajouter au diagramme.

Nouveau module de recherche ‘Diagram Search Box’

Les filtres de diagrammes d’EA (cf. l’article Appliquer des filtres sur les diagrammes EA) ont été utilisés pour implémenter un module de recherche dans les diagrammes. Lorsque l’on souhaite rechercher un élément dans un diagramme (par exemple lorsque celui-ci contient des dizaines de classes ou composants…), la saisie d’un terme de recherche permet de griser automatiquement les éléments dont le nom ne correspond pas.

Dans l’exemple ci-dessous, tous les éléments affichés y compris les notes sont grisés à l’exception de ceux dont le titre contient le terme recherché, « use case »:

Gestion de calques dans les matrices de traçabilité : ‘Matrix overlay’

La gestion de calques est une nouvelle fonctionnalité qui peut être activée dans les matrices de traçabilité, accessibles depuis le menu View : Relationship Matrix. Cette fonctionnalité permet d’appliquer des valeurs définies dans un calque sur des associations existantes entre éléments.

Par exemple, à l’aide d’un calque CRUD acceptant uniquement des valeurs exclusives pour chaque association, il est possible de définir l’accès en création par la classe Class1 sur la classe Class3, et l’accès en modification par la classe Class5 sur la classe Class3.

Pour cela EA s’appuie sur les ‘tagged value’ pour rajouter des propriétés sur une association existante entre deux éléments. Les captures d’écran suivantes illustrent la création d’un overlay/calque CRUD, et une matrice de traçabilité avec l’utilisation de ce calque.

Accès à la liste des vues à afficher/masquer dans l’environnement EA

Dans la version 9 d’EA, les vues à afficher ou masquer dans l’environnement de travail (EA Workspace), telles que les Notes, Propriétés, Project, Browser, etc., sont toutes accessibles depuis le menu View.  Ces vues sont désormais réparties entre les menus View, Element, Project, et Diagram. Par exemple le menu Diagram permet d’afficher les vues utilisées par les diagrammes : la boite à outil (diagram toolbox), les filtres sur le diagramme (diagram filter), pan and zoom.

Une répartition logique des vues au travers des menus associés devrait les rendre plus faciles à trouver.

Amélioration du QuickLinker pour créer des agrégations

La dernière amélioration retenue dans cet article porte sur la création de liens d’agrégations et de composition en permettant de choisir le sens d’agrégation comme illustré sur la capture d’écran suivante : vers le tout (« to whole ») ou vers une partie (« to part »).

En conclusion

Cet aperçu de la version 10 d’EA présente une nette amélioration apportée sur l’ergonomie et ainsi sur l’utilisation quotidienne de l’outil de modélisation UML, BPMN et SysML de Sparx Systems.

D’autres évolutions qui n’ont pas été abordées dans cet aperçu sont également prévues dans la version 10: support du langage de modélisation SysML 1.3, aide à la création de profiles UML, visualisation et debug d’applications Android, etc.

SysML 1.3 disponible

La version 1.3 du langage de modélisation SysML est officiellement disponible. Les spécifications sont accessibles depuis le site de l’OMG.
SysML 1.3 apporte principalement des changements sur la définition des ports : les full ports et proxy ports remplacent les flow ports et ports standards.
Pour plus d’informations sur les changements avec SysML 1.3, voir mon post sur SysML 1.3 bêta.

SysML 1.3 bêta

SysML, le langage de modélisation OMG basé sur UML et adapté à l’ingénierie système, est actuellement en version 1.3 bêta. Cette version devrait être officielle au mois de Juin.

SysML 1.3 apporte de nombreux changements à la définition des ports, points d’interactions sur les Blocs. Pour rappel, SysML 1.2 intègre les ports standards pour exposer des interfaces, et les ports de flux (flow ports) pour représenter ce qui peut circuler en entrée et/ou en sortie d’un bloc, que ce soit des données, de la matière ou de l’énergie.

Les “flow port” et les “port specifications” de SysML 1.2 ont été abandonnés dans la version 1.3, mais leurs concepts ont été conservés. Les changements apportés dans la version 1.3 portent sur la définition et l’implémentation de ces concepts, qui se résume de manière non-exhaustive par les points suivants :

  • Ports complets (full ports)
    • permet de représenter une partie intégrante du bloc sur la frontière du bloc principal (main block boundary)
    • un port complet est typé par un bloc; il peut ainsi combiner les flux d’éléments en entrée/sortie et l’exécution d’opérations, remplaçant respectivement les flow ports et les ports standards de SysML 1.2
    • les interfaces ne sont alors plus exposées sur le port, supprimant l’utilisation de la notation lollipop
    • les ports complets peuvent être « conjugés » comme dans les flow ports de SysML 1.2 ayant pour effet d’inverser la direction des éléments ; cela a le même effet sur les opérations i.e. les opérations fournies par le bloc sont alors des opérations requises

OMG SysML 1.3 Full Port - port complet

  • Ports proxy
    • sert de proxy aux fonctions du bloc principal ou de ses parties intégrantes
    • un port proxy ne porte pas de comportement, ni ne constitue une partie du bloc principal
    • les flux d’éléments ou l’exécution d’opérations sur le port proxy sont transmis directement vers le bloc principal ou une partie intégrante
    • un port proxy est typé par un bloc d’interface (block interface) pour spécifier les fonctions disponibles (éléments, opérations), alors que les ports complets comme indiqué précédemment sont typés par des blocs

OMG SysML 1.3 Port Proxy

  • Ports et flux imbriqués (nested ports & flows) : SysML permet de définir des ports imbriqués ; pour cela le bloc utilisé comme type du port possède lui-même des ports

OMG SysML Ports imbriqués (nested ports)

  • Blocs d’association : ces blocs permettent de définir la compatibilité entre ports de blocs différents

En conclusion
SysML 1.3 propose une implémentation et une approche plus complète que la version 1.2 actuelle pour gérer la notion de ports, flux et connecteurs sur les Blocs. Il évite par exemple la duplication de ports si l’on a besoin de définir un port pour transmettre des éléments et fournir des opérations.
Ce changement pourrait avoir un impact non négligeable dans l’organisation du modèle comme l’on ne va plus exposer les interfaces sur un port. Par exemple, il semble que ce sera le bloc, utilisé comme type du full port, qui va réaliser les interfaces du modèle (dans le cas où un référentiel d’interfaces existe). Si un bloc doit appeler des opérations d’un autre bloc, on remplacera donc le lien entre deux interfaces required/provided de SysML 1.2, par le lien entre un full port et son inverse (full port du même type mais conjugué).

La seconde édition du livre “A Practical Guide to SysML” de Sanford Friedenthal (consultant MBSE et membre de l’OMG),  Alan Moore, et Rick Steiner est déjà disponible et intègre SysML 1.3 (cf. chapitre 7.6) ; ce livre fournit ainsi des exemples concrets sur l’utilisation de full ports, proxy ports, interface blocks, etc.
Lorsque le langage SysML 1.3 sera officiel, il sera intéressant de voir si les éditeurs d’outils de modélisation SysML tel que Sparx Systems (Enterprise Architect) auront intégrés ces nouveaux principes par une utilisation simple (par exemple pouvoir changer facilement une partie intégrante en ‘full port’ par le choix de la porter sur la frontière du bloc).

Nouvelle version 9.3 d’Enterprise Architect

Sparx Systems vient de sortir la version 9.3 de son outil de modélisation Enterprise Architect avec les améliorations suivantes :
– Affichage simultané des diagrammes

ergonomie diagrammes simultanés sous EA 9.3

– Customisation complète de la barre de menus sous EA
– Simulation :
* support BPMN 2.0
* utilisation de tableaux pour simuler l’exécution d’un diagramme d’état parmi les choix suivants : Etat-Etat Suivant | Etat-Evènement déclencheur (trigger) | Evènement déclencheur (trigger)- Etat

– Module ‘Execution Analyzer’ : affichage des interactions entre instances multiples d’une même classe dans un diagramme de séquence
– Gestion des Testpoints pour définir des conditions de test (invariants multiples par classes, pre-conditions et post-conditions multiples par opération)

– Support Archimate 2.0

Remarque : les patterns GoF accessibles depuis l’onglet ‘Resources’ ne sont plus installés par défaut. Il faut désormais les télécharger depuis le site de Sparx

Enterprise Architect 9.0

Sparx a sorti cette semaine la version 9 beta 1 de son outil de modélisation Enterprise Architect, présentant entre autre les améliorations suivantes :

  • Support de nouveaux langages de modélisation OMG : BPMN 2.0, SysML 1.2 (06/2010), et SOMF 2.1 (2011)
  • Amélioration des outils de modélisation et de maquettage IHM
  • Affichage de diagrammes dans un mode « dessinés à la main » en vue de réaliser des schémas et brouillons pour provoquer la discussion
  • Nouvelles fonctionnalités du module de recherche avec l’exécution de requêtes SQL
  • Support de nouveaux formats pour l’export des modèles : OMG XMI 2.1, Ecore (lien avec EMF – Eclipse Modelling Framework)
  • Améliorations en mode collaboratif avec les contrôles de sources (ex : SVN) : support de paquetages partagés par plusieurs projets et de leurs inter-relations, possibilité d’exécuter un « branch check in » tout en conservant les paquetages en édition (« checked out »)
  • Conception avancée du modèle documentaire et génération au format PDF
  • Support de valeurs taggées dans la « vue liste » pour un diagramme (cette vue est utilisée pour visualiser les éléments d’un diagramme dans une liste; il est possible dans la v9 d’ajouter les valeurs taggées comme colonnes)
  • Support de tests model-driven par la définition de « test cases » indépendants de la technologie et du language utilisés
  • Prototypage model-driven pour applications win32

On retrouve également les améliorations de la version 8.0, à savoir :

  • Duplication de paquetages (copier/coller l’intégralité des éléments et diagrammes d’un paquetage dans le modèle)
  • Scénarios structurés pour les cas d’utilisations
  • Surlignage des termes du glossaire avec un affichage automatique de leur définition

Voici une brève présentation de quelques nouvelles fonctionnalités d’EA v9 :

Propriétés

Sparx a changé la présentation des propriétés de tous les éléments du modèle : paquetages, cas d’utilisations, classes, opérations, attributs etc. afin de fonctionner sur un style arborescence.

Voici un exemple pour le paquetage :

propriétés paquetage EA v9

propriétés paquetage EA v9

Voici un exemple pour le cas d’utilisation où l’on retrouve les scénarios structurés, exigences associées, et contraintes (invariants, pre-conditions, post-conditions) :

propriétés use case EA V9

propriétés use case EA V9

Maquettage IHM

EA permet de modéliser des écrans et vues IHM, dont la version 9 a grandement amélioré les éléments disponibles comme illustré ci-dessous :

diagramme maquettage IHM EA v9.0

diagramme maquettage IHM EA v9.0

De nouvelles propriétés sont disponibles pour les éléments IHM:

propriétés élément IHM EA v9

propriétés élément IHM EA v9

Nouveaux diagrammes « génériques »

Sparx a défini des éléments visuels génériques à rajouter sur un diagramme, similaires à certains éléments graphiques sous Word et PowerPoint :

EA v9 diagramme whiteboard

Recherche avancée avec SQL

EA permet de lancer des recherches par l’exécution de requêtes SQL afin d’interroger directement la base de données interne d’Enterprise Architect comme illustré ci-dessous :

Génération de documents

Afin de produire des livrables, il peut être nécessaire de générer des documents à partir des modèles, par exemple pour produire la liste des cas d’utilisations et de leurs descriptions complètes.

Dans sa version 9, EA fournit de nouvelles fenêtres d’options propres à la génération de documents, et permet par des règles de substitution de mieux supporter d’autres langues que l’anglais. Il est également possible d’inclure des matrices de traçabilité dans le document généré.

En conclusion Sparx Systems nous fournit de nouvelles propriétés sur les éléments de modélisation, une nette amélioration de la modélisation IHM, et un support des dernières versions de langages de modélisation émergents tels que BPMN 2.0, SysML 1.2 (présenté en Octobre sur notre Wiki), et SOMF 2.1.

  • Prototypage « model-driven » pour applications win32

Modélisation de systèmes avec SysML

Suite à la formation donnée il y a quelques mois sur « UML2 et SysML pour modéliser des systèmes complexes », j’ai posté un article sur le Wiki d’Objet Direct pour présenter le langage de modélisation SysML (Systems Modeling Language), dérivé de l’UML.
SysML est destiné aux domaines d’activité industrielle, par exemple les systèmes embarqués impliquant la réalisation de solutions logicielles et matérielles.
Ainsi il propose un vocabulaire plus adapté à l’Ingénierie Système, à savoir la modélisation de blocs plutôt que de classes. SysML adapte et ne réutilise qu’une partie des diagrammes UML2, évitant ainsi d’être trop vaste.

Ce langage, maintenu par l’OMG, est en constante évolution (adopté en 2006, la version 1.2 est sortie en Juin 2010). Il  est aussi supporté par la plupart des outils UML via un plugin (ex: Enterprise Architect version Ultimate ou avec le plugin SysML).

Article Wiki « Présentation du langage SysML »