Eclipse Papyrus for education purposes

Supervisor : Yvan Labiche

Team size: Minimum 3, Maximum 5

CSE SE Comm Biomed EE Aero Special
NoYesNoNoNoNoNo

Description

Papyrus is an environment for model-based software engineering with the full power of the UML 2 notation (i.e., all its diagram types) as well as extensions such as SysML (for model-based system engineering) or UML-RT (for real-time embedded systems development). Papyrus (https://eclipse.dev/papyrus/) is open-source, based on Eclipse, and licensed under the Eclipse Public License. It is used in various private companies. Through tool support, Papyrus allows:

  • software (and system) modeling,
  • model verification, thereby helping answer questions such as: is my UML model syntactically correct, that is, does it satisfy some syntactic properties?
  • model simulation, especially with UML-RT
  • model transformations, including automated generation of documentation, and automated generation of (skeleton) source code.
While Papyrus provides all the bells and whistles of the UML 2 modeling language, with the full support of the Eclipse platform, all these modeling capabilities and tool support functionalities are not necessary in the context of a classroom: when learning to model with the UML, students typically do not need to know all the bells and whistles of the UML notation (e.g., not using all the diagram types, not using all the notation for the class diagram); when learning to model with the UML with Papyrus, students do not need all the functionalities provided by Eclipse. In a classroom, Papyrus needs to be tailored; it needs to be scoped down. Fortunately, Eclipse provides mechanisms to tailor its use, to enforce some usage scenarios. The purpose of this project is to tailor Papyrus so it can be used on SYSC software modeling courses. This will require, among other things, that:
  • the team becomes familiar with Eclipse, Eclipse plugin development, and Eclipse tailoring mechanisms
  • the team becomes familiar with UML 2 (though not to the point of having to understand all its capabilities)
  • the team gather requirements from "clients", which essentially are faculty members teaching SYSC software modeling courses.

Prerequisites:

nothing else than being in the SE program.

Keywords: