This project focuses on designing a Domain-Specific Modeling Language (DSML) for the System Activity Blank Diagram using Model-Driven Software Development (MDSD) principles. The goal is to provide a robust tool that enables users to model and analyze system activities with domain-specific constructs, ensuring consistency and correctness through constraints and validation mechanisms.
Metamodel Transformation:
- Converted the OML vocabulary into an Ecore-based metamodel.
- Defined core concepts: Capabilities, Actors, Components, Chains, and Exchanges.
OCL Constraints:
- Ensured well-formedness of models using Object Constraint Language (OCL).
Diagram Editor:
- Developed using Eclipse Sirius.
- Features a palette for adding and managing diagram elements with a drag-and-drop interface.
- Real-time validation of constraints.
Query Integration:
- Supported queries for retrieving and analyzing model data.
- Examples include:
- Listing specialized Capabilities.
- Validating Exchanges within Chains.
- Clone the repository:
git clone https://github.com/simsijohn/LOG8505E-Project.git
- Import the project into Eclipse IDE with the necessary plugins: • Eclipse Sirius • EMF (Eclipse Modeling Framework) 3. Open the .ecore and Sirius project files to access the metamodel and diagram editor.
Usage
- Open the System Activity Blank Diagram editor in Eclipse.
- Create an Instance of the Model.
- Import our Runtime project.
- Select the Diagram in representation.aird file
- Use the palette to create model elements such as Capabilities, Actors, and Components.
- Use the palette to add edges between the elements.
- Validate the model for constraint violations.
- Run predefined queries to extract insights from the model.
Team Members
Ricard Viñas, Simsi John, Tomas Hanzlik