[Esug-list] Internship around Smalltalk

Stéphane Ducasse stephane.ducasse at inria.fr
Thu Apr 23 12:18:28 EDT 2015


Proposition de stage en informatique

– Conception d’un éditeur de diagramme de classes UML 
pour l’implémentation de modèles multi-agents -

 

Dans le cadre du développement de sa plateforme de modélisation et simulation multi-agent, Cormas (http://cormas.cirad.fr), l’Unité de Recherche GREEN du Cirad (http://ur-green.cirad.fr) propose un stage indemnisé de 6 mois pour un étudiant en informatique pour développer un module de Cormas .

Ce développement informatique consiste à mettre au point un éditeur graphique permettant de dessiner un diagramme de classes UML et de générer du code SmallTalk (à la fois en VisualWorks de Cincom et en Pharo, open-source) de la structure du modèle en se référant au standard "Executable UML" (xUML) proposé par Mellor & Balcer (2002) and adopté par l’OMG (2003). Pour ce travail, nous ne cherchons pas un éditeur exhaustif intégrant tous les éléments décrits par UML2. Pour cet éditeur, les éléments du méta-modèle proposés seront limités à : la classe, ses attributs et ses méthodes, la spécialisation de classes et les associations. Les associations sont simples (uniquement binaires) et sont définies par leur nom et par leurs extrémités qui comportent chacune un nom de rôle,  une valeur de multiplicité et la navigabilité.

 Cormas étant un framework, le modèle créé par un utilisateur doit s’ancrer sur des classes prédéfinies disponibles dans Cormas. A la fin de la conception de son modèle, l’utilisateur devra être invité à rattacher les classes qu’il a créées aux classes prédéfinies. Dans ce cas, les propriétés héritées (méthodes, associations, attributs, ...) devront être spécifiées dans le diagramme conceptuel de l’utilisateur qui pourra être affiché de façon indépendante du framework.

Outre la création dynamique du squelette des classes, le stagiaire devra porter une attention particulière aux associations entre classes uni ou bi-directionnelles qui seront traduites en attributs nommés selon le rôle de l’extrémité de l’association (on parle parfois de d’association dégénérée pour laquelle le rôle de l’extrémité opposée est traduit en attribut). Ne seront pas prises en compte les classes-associations, ni les associations n-aires, ni les associations qualifiées.

 

Cet éditeur permettra également de ré-afficher un modèle déjà sauvegarder mais aussi de proposer de générer un nouveau diagramme à partir d’un modèle déjà implémenté (rétro-ingénierie).

 

Par ailleurs, un éditeur de diagramme d’activité xUML est déjà disponible dans Cormas. En sélectionnant une méthode de son diagramme de classes, l’utilisateur pourra alors dessiner le comportement de cette méthode en décrivant la succession des activités et des conditions booléennes.

 

Bien que la distribution de VisualWorks s’accompagne de quelques outils permettant des aller-retours entre du code Smalltalk et des diagrammes UML (ADvance, Gipa, BOOST, MetaEdit+, DoME, UMLForSmalltalk ou Umbrello,...), le développement de l’éditeur UML devra se faire sous Roassal. En effet, avec la sortie récente de Roassal2, un moteur puissant de visualisation (http://objectprofile.com/Roassal.html), disponible à la fois pour VisualWorks et pour Pharo, la mise au point de ce module UML permettra d’accélérer la migration de Cormas sous Pharo.

 

En option, il sera intéressant de pouvoir générer le code XML (XMI) d’un modèle pour pouvoir le lire dans un autre éditeur.

______

 

Durée : 6 mois (ou moins si nécessaire)

Gratification :  485,10 € par mois.

Lieu : pas d’accueil prévu au Cirad. L’étudiant travaillera dans son laboratoire mais des contacts réguliers seront proposés.

Contacts : Pierre Bommel (bommel at cirad.fr) et Grégoire Leclerc (Leclerc at cirad.fr). [PB1]

Profil de candidature : Etudiant en Informatique, License ou Master, ayant un goût pour la modélisation et la simulation. L’étudiant doit avoir de bonnes connaissances des concepts de la modélisation objet et d’UML. Des compétences en programmation Smalltalk devront être acquises.

 

Bommel, P., Dieguez, F., Bartaburu, D., Duarte, E., Montes, E., Pereira, M., Corral, J., Lucena, C. de and Morales Grosskopf, H. (2014). A Further Step Towards Participatory Modelling. Fostering Stakeholder Involvement in Designing Models by Using Executable UML. Journal of Artificial Societies and Social Simulation 17 (1) 6 <http://jasss.soc.surrey.ac.uk/17/1/6.html>.

 

Mellor, S. J., & Balcer, M. J. (2002). Executable UML : a foundation for model-driven architecture. Boston; San Francisco; New York: Addison-Wesley.



--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr
http://www.synectique.eu / http://www.pharo.org 
03 59 35 87 52
Assistant: Julie Jonas 
03 59 57 78 50
03 59 35 86 16

S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.esug.org/pipermail/esug-list_lists.esug.org/attachments/20150423/03db0632/attachment-0002.html>


More information about the Esug-list mailing list