Eclipse® Papyrus is a popular open-source modeling environment for UML®. It has a highly extensible architecture that allows it to be customized for UML based domain-specific modeling languages (DSMLs), like SysML® and MARTE™.
Reference Implementation for OMG® Diagram Definition™ Standard
This project involved implementing the OMG Diagram Definitio standard v1.0 in Papyrus. This included developing the DD metamodels, including Diagram Interchange™ (DI) and Diagram Graphics™ (DG), as EMF metamodels with corresponding tree-based editors. It also included developing a web-based rendering engine for DG models using W3C®'s SVG as a view technology. Finally, it included using the implementation to define UML and SysML diagrams based on their specification.
Improving Support of Domain Specific Modeling Languages
This project involved improving the support in Papyrus for domain specific modeling languages (DSMLs). Previously, Papyrus had its extensibility API assume a singleton context (a UML context). This caused domain-specific modeling languages, which often needs custom behavior, to be hard to define since it was not possible to tell them apart when using the extensibility API. The work being done included defining the idea of multiple contexts in Papyrus and contextualizing the API with them. This enabled easier implementation of DSMLs like SysML and MARTE™.
Enhancements of Architectural Viewpoint Framework
This project involved reimplementing Papyrus's architecture viewpoint framework to comply with the ISO 42010 standard. It also involved interpreting the standard in the context of domain-specific modeling languages. Specifically, a metamodel was developed to define architectural viewpoints that belonged to languages and frameworks. Models of that metamodel could be referenced from UML models to define which architectural language or framework it belonged to and which viewpoints were enabled (this controlled which diagrams and UI components were visible). Then, several architecture description models were developed (e.g., for UML, SysML) with default viewpoints.
Development was in Java™ using a number of Eclipse technologies like EMF, GMF, Sirius, Xtext, and W3C technologies like SVG.