Papyrus nouveau est arrivé

Posté par  . Modéré par tuiu pol.
Étiquettes :
6
1
oct.
2010
Communauté
Papyrus est sorti dans sa version 0.7.0

Papyrus est un outil de modélisation UML intégré à Eclipse qui a la particularité d'implanter fidèlement le standard. En outre, il supporte les profils standards SysML pour la modélisation système et MARTE pour la modélisation de systèmes temps-réel embarqués. Sur ce dernier point, son grand avantage par rapport à d'autres outils, commerciaux ou non, est de supporter la syntaxe du langage VSL (Value Specification Language) pour la spécification et la vérification de valeurs complexes (tuples, types physiques, etc.). Il facilite également la spécification et l'outillage de nouveaux profils.

L'intégration de Papyrus dans Eclipse permet de profiter des outils de transformation de modèles comme ATL (model-to-model) ou Acceleo (model-to-text) afin de créer des chaînes de transformations et d'automatiser des bouts de processus de développements par l'ingénierie des modèles. L'outil fournit par défaut des templates pour la génération de code C++ ou java.

Papyrus représente un projet très actif. Par ailleurs, la numérotation des versions a changé depuis peu, suite à une refonte totale du projet pour changement de technologie. Papyrus a été testé sur des projets de développement de systèmes critiques avec succès. N'hésitez pas à télécharger cet outil libre et à l'aider à évoluer.

Aller plus loin

  • # Nouveautés ???

    Posté par  . Évalué à 7.

    Je ne voudrais pas paraître désobligeant, mais j'aurais apprécié quelquechose de plus étoffé pour présenter le projet.

    Je ne vois aucune release notes qui nous présente les nouveautés depuis que le projet a intégré Eclipse. Et même en cherchant sur le site je n'ai pas trouvé.
    La présentation ne fonctionne pas
    http://www.slideshare.net/rfaudou/papyrus-eclipse-con-2010-v(...)

    J'aurais également apprécié quelque nouvelles sur le statut du projet (Il était question d'un merge avec Topcased un temps, je crois)
    Un sybillyn "Papyrus représente un projet très actif." me laisse un peu sur ma faim.

    Qu'en est-il de la modélisation en équipe (fragmentation, merge de modèles, ...) qui me parait essentielle pour pratiquer "l'ingénierie des modèles" autrement que seul dans son labo ?

    Bref, ca plus les références aux outils de transfo, ca me laisse un léger goût de publi-reportage dans la bouche.
    • [^] # Re: Nouveautés ???

      Posté par  . Évalué à 5.

      Au fait, le "changement de technologie" correspond-t'il au passage sous uml2/emf d'eclipse plutôt qu'une surcouche adaptée de gmf ?
    • [^] # Re: Nouveautés ???

      Posté par  . Évalué à 4.

      Autant pour moi. Le changement de technologie correspond effectivement un alignement avec GMF pour les représentations graphiques, Modisco pour la vue "Model" et Xtext pour la syntaxe textuelle. La question du merge avec Topcased n'est à priori plus d'actualité. Les apports de cette version par rapport à la précédente réside principalement dans la provision de nombreux points d'extension permettant de customiser les vues afin de créer des outils sur mesure pour une organisation ou un domaine particulier. En parallèle de la version release, la version en développement (0.7.1) fait l'objet de très nombreux commit pour la correction de bugs et pour l'ajout de nouvelles fonctionnalités. Les futurs développement de Papyrus ont pour objectif de fournir aux utilisateurs un moteur d'exécution de modèles UML et des outils de validation formelle. Pour ce qui est du travail collaboratif, ce n'est malheureusement pas encore à l'ordre du jour; cependant, les équipes de développement réfléchissent à l'intégration de papyrus avec Eclipse CDO pour fournir des fonctionnalités équivalentes à celles fournies par jazz de IBM.
      • [^] # Re: Nouveautés ???

        Posté par  . Évalué à 2.

        Il me semblait que Jazz s'appuyait sur des CVS dont un embarqué (Jazz source Control). CDO c'est plutôt orienté base de données non ? Quid des worfklows parallèles et des merges.
        • [^] # Re: Nouveautés ???

          Posté par  . Évalué à 3.

          Tout à fait. CDO est une piste à envisager dans le cadre de développements autour de EMF et GMF car il s'appuie sur la notion de modification concurrente d'objets à travers des transactions. Je m'avance peut-être un peu, mais je pense que cela peut améliorer les choses dans la mesure ou l'unité de configuration dans cette approche est l'objet alors que dans l'approche CVS l'unité de configuration est le fichier. J'ai personnellement fait des essais sur cette technologie et j'ai pu constater que cela fonctionne plutôt bien. On peut par exemple poser des verrous sur certaines parties du modèle et voir le modèle se synchroniser automatiquement quand une autre personne a fait un commit. La contre-partie est de devoir mettre en place un système de base de données, ce qui peut-être perçu comme une contrainte forte par les utilisateurs mais peut-être nécessaire pour le passage à l'échelle.
          • [^] # Re: Nouveautés ???

            Posté par  . Évalué à 2.

            Ici nous utilisons RSA + gestionnaire de version et l'unité de contrôle peut descendre au niveau de l'élément. L'intégrité des modèle après fragmentation est assurée par le Logical Model Provider, donc ce n'est pas vraiment un problème.

            L'IHM pour le merge 3 contributeurs et pour la combinaison de modèle sont assez puissants et utilisables pour supporter une véritable approche model driven. Ils autorisent une approche itérative et incrémentale, y compris au niveau une chaine de transformation de modèles.

            Je vais me reposer la question de CDO. D'après ton expérience Papyrus ne semble pas encore prêt. Qu'en est-il de Topcased ?
            Avec quel modeleur avez-vous couplé CDO ?
            Je sais que Topcased est plus abouti pour une utilisation avancée mais je lui reproche son IHM pas toujours très intuitive pour des non techniciens. Ceci était en revanche le point fort de Papyrus avant son intégration au projet Eclipse.
            N'envisagez vous pas une collaboration entre les 2 équipes voire une fusion à terme ?

            Merci en tous ca pour vos précisions ainsi qu'à Cédric.
            • [^] # Re: Nouveautés ???

              Posté par  . Évalué à 1.

              D'après mon expérience, Topcased est moins abouti en termes d'intégration. Il évolue également beaucoup moins vite que papyrus. Je pense que c'est un problème de ressources et de financement. En effet, Papyrus a l'avantage de vivre en marge de plusieurs projets alors que Topcased était un projet à part entière financé sur fonds privés / publiques dont la date de fin est passée il y a un peu plus de un an. J'ai cru comprendre d'ailleurs qu'il y aurait une suite (Topcased 2) en cours de montage...à voir. Quoiqu'il en soit, la fusion avec Topcased n'est à ma connaissance pas pour demain. Heureusement, la plupart des briques logicielles développées pour Topcased (transformations de modèles, outils d'analyse) peuvent parfaitement être utilisées dans Papyrus. Pour ce qui est de CDO, je l'ai utilisé dans un projet d'outillage d'un méta-modèle ad-hoc pour la boîte qui m'emploie. Cela nécessite l'utilisation d'un genmodel dédié pour la génération de l'implantation du méta-modèle. Du coup, cette approche ne peut pour le moment pas être appliquée à l'implantation de UML car son genmodel ne peut-être modifié. Mais j'ai ouïe dire que le concepteur de CDO travaillait sur ce problème actuellement...à vérifier également.
              • [^] # Re: Nouveautés ???

                Posté par  . Évalué à 3.

                Les 2 projets ne sont pas à mettre sur le même plan (cela a été clairement dit plusieurs fois et encore récemment sur les forums Eclipse Papyrus...). MDT Papyrus a pour objectif de fournir des éditeurs graphiques basés modèle supportant UML et profiles, mais aussi autres modèles EMF.
                TOPCASED est surtout une plateforme et une commuanuté qui continuent de vivre et de se développer au delà du projet de recherche qui a permis de les lancer. Cette plateforme s'enrichit régulièrement de nouveaux industriels et l'intégration de l'éditeur MDT Papyrus dès 2011 va permettre de pallier quelques limites d'ergonomie et de support UML.
        • [^] # Re: Nouveautés ???

          Posté par  (site web personnel) . Évalué à 3.

          CDO dans sa version 3.0 (sortie en Juin) permet la création de branches ainsi que l'utilisation en Offline avec une conception très proche de GIT :)
          • [^] # Re: Nouveautés ???

            Posté par  . Évalué à 2.

            Pourrais tu préciser.

            CDO se basant sur une db, ne s'agirait t'il pas plutôt d'un cache de donnée et donc d'une conception centralisée ala SVN ?
            Mais bon en contexte d'entreprise, ceci ne me gêne pas plus que ça.

            Le branching supporte t'il la mémoire de merge, car devoir remerger complètement 2 modèles lorsqu'on a arbitré les décisions serait loin d'être suffisant (cas d'utilisation: réconcilier itérativement 2 versions de modèle entre 2 branches, l'une provenant d'une transfo M2M et l'autre ayant été raffinée par une équipe).

            Supporte t'il également le verrouillage exclusif sur des portions de modèles ?

            Est-il compatible avec tous les modeleurs EMF based ?

            Merci pour vos précisions.
            • [^] # Re: Nouveautés ???

              Posté par  . Évalué à 1.

              Pour ma part, je dirais que c'est un mixte des deux: les modèles sont complétement sérialisés dans des bases de données et la gestion de version est supportée depuis la version 3.0 (d'après Cédric). Il supporte effectivement le verrouillage exclusif et il est compatible avec tous les modeleurs EMF based moyennant l'application d'un genmodel spécifique.
            • [^] # Re: Nouveautés ???

              Posté par  (site web personnel) . Évalué à 3.

              Oui il est possible ensuite de re-synchroniser des branches tout en définissant des politiques de fusion spécifique pour gérer les cas de conflit (ou un mécanisme interactif).

              En fait c'est une erreur assez commune de penser que CDO est basé sur une BD, ce n'est pas le cas du point de vue de CDO. CDO utilise un "backend" pour stocker des données qui n'a en aucune façon besoin de gérer la concurrence ou les transactions (gérées par CDO directement). Les backends communs utilisent derrière une base de donnée (Relationnelle ou Objet) d'où la confusion.

              CDO supporte le verrouillage d'éléments de modèles au grain le plus fin possible mais à l'heure actuelle ne "notifie" pas les clients lorsqu'un élément devient verrouillé.

              Pour ce qui est des modeleurs, CDO est relativement transparent vis à vis de EMF Core, mais pour tout le reste non ce n'est pas aussi simple. La compatibilité avec GMF par exemple est un vrai challenge car elle nécessite de faire travailler de concert deux modèles de transactions différents (celui de CDO et celui de EMF Transaction).
      • [^] # Re: Nouveautés ???

        Posté par  . Évalué à 2.

        La question du merge TOPCASED est plus que jamais d'actualité au contraire...
        Déjà parceque l'équipe TOPCASED est fortement impliqué dans MDT Papyrus mais aussi parceque la plateforme TOPCASED va intégrer dès janvier l'éditeur MDT Papyrus (travaux déjà débutés).

        Concernant les objectifs de MDT Papyrus qui sont mentionnés, ils ne sont en aucun cas officiels et n'apparaissent pas dans la roadmap Papyrus. Ils traduisent peut être les besoins d'un membre de l'équipe projet mais de là à en parler comme des objectifs du projet il y a un grand pas...
        Pouvez-vous citer vos sources de l'équipe projet?

        Enfin, encore un exemple d'information eronnée. Le travail collanoratif est en place dans Papyrus et reprend en mieux les concepts éprouvés dans la plateforme TOPCASED. Il manque juste quelques derniers ajustements sur l'utilisation des profils dans les sous-modeles mais globalement il est déjà possible de créer des sous modeles et les mettre en configuration.

        Tres franchement, je suis un peu surpris de voir autant d'applomb à décrire un projet dont vous n'êtes pas membre...

        Bonne soirée
        raphaël Faudou
        Equipe Papyrus et TOPCASED
        • [^] # Re: Nouveautés ???

          Posté par  . Évalué à 2.

          Tres franchement, je suis un peu surpris de voir autant d'applomb à décrire un projet dont vous n'êtes pas membre...

          Je suis ingénieur de recherche dans l'équipe du CEA qui développe Papyrus. Je travaille en amont de ce projet (et non de Topcased), j'interviens comme consultant pour mon expertise sur GMF et je participe au debug quand j'en ai le temps. Certes, je ne suis pas au courant de toutes les tractations entre les projets: la politique m'ennuie énormément. En revanche, je connais bien mes travaux de recherche et quand je dis: les équipes de développement réfléchissent à l'intégration de papyrus avec Eclipse CDO pour fournir des fonctionnalités équivalentes à celles fournies par jazz de IBM, il s'agit en fait d'une proposition que j'ai faite avec d'autres ingénieurs de recherche de mon laboratoire et dont je continue à étudier la faisabilité. L'expression "réfléchir à" n'engage absolument à rien contractuellement, isn't it ? Peut-être aurais-je vous contacter pour avoir la permission d'avoir des idées pour améliorer Papyrus.

          Pour ce qui est du rapprochement Papyrus / Topcased, ça fait des lustres que cela aurait du être fait. Qu'est-ce qu'il l'en empêche dans le fond ? Primo, comme vous l'avez mentionnez, ils ne poursuivent pas le même objectif et secundo, il y a la mise en concurrence des pôles de compétitivité.

          Ah oui, et si je met autant d'aplomb à écrire sur ce sujet, c'est peut-être aussi parce que des personnes "plus au courant" ne le font pas comme elles le devraient. Et je trouve ça dommage qu'un tel projet reste cloitré dans des labos de recherche, qu'ils soient industriels ou académiques. Bien à vous.
    • [^] # Re: Nouveautés ???

      Posté par  . Évalué à 1.

      Bonjour,

      Je suis coauteur de la présentation sur Papyrus faite à l'EclipseCon. Le lien indiqué est bon et j'arrive à la visualiser avec les boutons de lecture. Quel est le problème que vous rencontrez?
      La fusion avec TOPCASED a déjà eu lieu en partie puisque une partie des committers MDT Papyrus vient de l'équipe TOPCASED et que plusieurs fonctionnalités TOPCASED ont été mises en place sur MDT Papyrus, qui n'existaient pas dans Papyrus 1. Je citerai notamment le support d'éditeur basé EMF (pas seulement UML) avec un éditeur d'IHM abstraite (AUI) porté dans MDT Papyrus avec succès. Autre fonctionnalité de taille : le support du travail collaboratif avec notamment le découpage de modèles en sous-modèles...

      je réponds aux autres mails ci-dessous car il y a beaucoup d'inexactitudes pour ne pas dire d'erreurs...
      raphaël Faudou
      Committer Papyrus et membre du comité de pilotage TOPCASED
    • [^] # Re: Nouveautés ???

      Posté par  . Évalué à 1.

      Bonjour,

      Je suis coauteur de la présentation sur Papyrus faite à l'EclipseCon. Le lien indiqué est bon et j'arrive à la visualiser avec les boutons de lecture. Quel est le problème que vous rencontrez?
      La fusion avec TOPCASED a déjà eu lieu en partie puisque une partie des committers MDT Papyrus vient de l'équipe TOPCASED et que plusieurs fonctionnalités TOPCASED ont été mises en place sur MDT Papyrus, qui n'existaient pas dans Papyrus 1. Je citerai notamment le support d'éditeur basé EMF (pas seulement UML) avec un éditeur d'IHM abstraite (AUI) porté dans MDT Papyrus avec succès. Autre fonctionnalité de taille : le support du travail collaboratif avec notamment le découpage de modèles en sous-modèles...

      je réponds aux autres mails ci-dessous car il y a beaucoup d'inexactitudes pour ne pas dire d'erreurs...
      raphaël Faudou
      Committer Papyrus et membre du comité de pilotage TOPCASED
      • [^] # Re: Nouveautés ???

        Posté par  . Évalué à 2.

        Bonjour

        merci pour vos réponses.
        Il semblerait en effet que le problème d'accès soit lié à mon poste de travail.
        ce qui ne semble pas être le cas pour le tutoriel Papyrus en revanche
        http://www.eclipse.org/modeling/mdt/papyrus/usersCorner/user(...)
        et le guide reste encore à compléter
        http://wiki.eclipse.org/Papyrus_User_Guide#Collaborative_Wor(...)

        Si j'essaie de comprendre, un certain nombre de composants du projet Topcased ont migré vers Papyrus et Topcased représente aujourd'hui un sur-ensemble de ce dernier.

        Concernant l'aspect collaboratif, si je m'en tiens aux autres commentaires, on peut en déduire que Papyrus UML ne s'intègre pas avec CDO aujourd'hui et que donc il faut s'appuyer sur l'outil de contrôle de version et le découpage en sous-modèle.
        (Sachant que la gestion des merge avec SVN est relativement bancale et que les DVCS ne supportent pas le verrouillage exclusif des fichiers)

        Cette fonctionnalité supporte-t'elle une vue logique du modèle qui permet d'assurer l'intégrité du modèle en cas d'édition concurrente sur plusieurs fichiers associés à un même modèle ?

        Papyrus propose t'il une interface de fusion de modèle UML équivalente à RSA (merge 3 contributeurs et combined merge)

        Est-'il prévu d'intégrer les diagrammes dans le même fichier que celui du modèle car le fait qu'il soit séparé par défaut est assez pénalisant ?

        Si toutes ces conditions ne sont pas réunies ne sommes nous pas encore à assez loin d'une utilisation industrielle pour modéliser en équipe ?
        • [^] # Re: Nouveautés ???

          Posté par  . Évalué à 2.

          La présentation dans laquelle vous êtes cité ici
          http://gforge.enseeiht.fr/docman/view.php/7/4055/TPC_4.1.0_C(...)
          semble d'ailleurs attester mes craintes.

          Le non support d'une vue logique du modèle inter-fichier avec contrôle d'intégrité et la séparation modèle/diagrammes dans des fichiers rendent le merge périlleux:


          Warning: Keep in mind that TOPCASED needs two files: model file and « diagram ». So if you
          merge some differences in the model file and do not conduce some operations between
          diagram files, you might encounter synchronization issues. We recommend not using
          « Merge » command
        • [^] # Re: Nouveautés ???

          Posté par  . Évalué à 2.

          Cette fonctionnalité supporte-t'elle une vue logique du modèle qui permet d'assurer l'intégrité du modèle en cas d'édition concurrente sur plusieurs fichiers associés à un même modèle ?

          Oui.

          Papyrus propose t'il une interface de fusion de modèle UML équivalente à RSA (merge 3 contributeurs et combined merge)

          Non.

          Est-'il prévu d'intégrer les diagrammes dans le même fichier que celui du modèle car le fait qu'il soit séparé par défaut est assez pénalisant ?

          Non. Mais le fait de sérialiser le modèle et les diagrammes dans des fichiers différents n'est pas plus pénalisant que si ils étaient dans le même fichier. Dans un cas, on a plusieurs fichiers à racine unique et dans l'autre un seul fichier avec plusieurs racines. Quand les modèles sont chargés, il n'y a plus que des objets.

          Si toutes ces conditions ne sont pas réunies ne sommes nous pas encore à assez loin d'une utilisation industrielle pour modéliser en équipe ?

          Non, nous n'en sommes pas si loin. À la rigueur, à ce niveau là, le problème est essentiellement méthodologique. On peut réaliser des projets de taille raisonnable en confiant la réalisation des sous-systèmes à différentes équipes. Si les spécifications systèmes ont été correctement définies, l'intégration ne devrait alors pas poser de gros problèmes.

          Quoiqu'il en soit, le but premier de cette dépêche était de pousser les développeurs à utiliser Papyrus de manière à identifier et remonter tous ces problèmes. Comme, je le disais, les équipes de développement sont très réactives et plus elles disposeront de retours, plus elles seront à même de proposer des solutions efficaces.
  • # MARTE

    Posté par  . Évalué à 3.

    Bonjour
    Je ne connaissais pas du tout ce type de modèle. Comment se place-t-il par rapport à SART ?
    Je voyais dans les documents de la spécification des groupes connus (Thales, INRIA, CEA). Est-ce quelqu'un à des retours dessus ? Existe-t-il d'autres outils de modélisation pour cela que Papyrus ?
    En tout cas merci pour cette découverte.
    • [^] # Re: MARTE

      Posté par  . Évalué à 2.

      Je ne connais peut-être pas assez bien SART pour répondre précisément. Je dirais que MARTE "englobe" SART dans le sens où il permet de représenter une décomposition fonctionnelle du système avec des contraintes temps-réel. MARTE est davantage basé sur la séparation des préoccupations, à savoir modélisation du système d'un côté et modélisation de la plateforme de l'autre. Ensuite, des modèles d'allocation permettent de spécifier comment le système doit être implanté. Les modèles issus des modèles d'allocation permettent de mener différents types d'analyses d'ordonnancement, de performances, etc. En plus des contraintes temps-réel, MARTE permet de spécifier toutes sortes de propriétés non-fonctionnelles (poids, consommation, encombrement, etc.) utilisées dans les scénarios d'analyse servant à valider le système. En revanche, contrairement à SART, MARTE ne spécifie aucune méthodologie de conception / analyse. Des informations détaillées peuvent être trouvées sur le site http://www.omgmarte.org/

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.