Model-repository for the SafeTraffic design-space exploration demo. The project is stored as a Modelio 5.4 workspace that relies on the ModelerModule 9.4.00 and ToscaDesigner 0.5.01 add-ons to capture a TOSCA-based topology describing Myrtus compute and software components.
project.conf— Modelio project descriptor (modules, fragments, audit preferences). Treat as generated.data/fragments/SafeTraffic_DSE_demo/model/— One.exmlper UML/TOSCA element (packages, node types, topology template, diagrams). Never rename or move these manually.blobs/— Binary payloads referenced by diagrams; always updated by Modelio..index/— Lookup tables generated by Modelio. Leave untouched.admin/— Metamodel descriptors and access-control metadata regenerated by the tool.
data/backups/— Module archives (.jmdac, .ramc). Useful if Modelio prompts for missing components.data/localmodel/— Local database cache. Do not edit, and avoid committing exploratory changes from here..github/copilot-instructions.md— Additional agent-facing notes that mirror the guidance below.
- Install Modelio 5.4 (matching minor version) on Windows.
- Ensure the following modules are available and activated inside the project:
ModelerModule 9.4.00ToscaDesigner 0.5.01
- Keep the ToscaDesigner-provided
ToscaLibrary 0.0.05fragment indata/backups/modules/so Modelio can resolve stereotypes.
- Launch Modelio and choose Open Workspace →
c:/Users/jcadavid/modelio/workspace. - Open the
SafeTraffic_DSE_demoproject; verify the ToscaDesigner module is active (Modules view). - Use the ToscaDesigner palette to manipulate TOSCA constructs. Modelio assigns GUIDs, stereotypes, property tables, and dependencies automatically—hand-editing
.exmlfiles is unsafe. - After modeling:
- Save all inside Modelio.
- Close the IDE to flush updates to
model/,.index/, andlocalmodel/before running any Git commands.
- Root package
example.eu.myrtus(Standard.Package/8b2e3731-…) carries theToscaModelstereotype and owns:nodetypespackage with every node type (Standard.Class, stereotypeTNodeType). Example file:Standard.Class/95b62343-…formyrtus.dpe.compute.TrafficApplicationtopology template (Standard.Class/50e090a8-…, stereotypeTTopologyTemplate) that aggregatesTGroupclasses (compute_nodes,software_component_nodes, …) and concreteTNodeTemplateclasses (FogComputeNode1, etc.).
- Node type properties:
- Represented as
OwnedAttributeelements stereotypedPropertyDefinitionTypeand typed by primitives underStandard.DataType. - Each node type has a
TypedPropertyTableusing definitionTEntityTypePropertyTablewhere namespace/description flags live.
- Represented as
- Node templates:
- Live under group classes and must keep their
TNodeTemplatestereotype. - Concrete property values use
OwnedAttributeelements stereotypedTPropertyDef, linked viaDependsOnDependencynamedtypeback to the corresponding node-type attribute GUID. - The template-to-type relationship is a
DependsOnDependencynamednodeTypepointing at the proper node type class.
- Live under group classes and must keep their
- Policies, requirements, and capabilities are modeled as nested classes under each template with stereotypes such as
TRequirementTypeandTCapabilityType. Mirror the patterns already present in neighboring.exmlfiles to avoid missing references.
- Model validation is disabled at startup (
project.conf), so run Analyze ▸ Audit manually before committing. - ToscaDesigner offers dedicated validation for TOSCA entities; resolve any warnings/errors there first.
- For delivering external artifacts, use ToscaDesigner’s export features (Service Template, XMI). Keep exported deliverables outside the repository unless they are part of the planned change.
- With Modelio closed, inspect changes via
git status. - Review diffs by searching for semantic fields (
<ATT name="Name">,<ATT name="Value">, property-tableContent) rather than GUID-based filenames. - Stage only intentional edits from
data/fragments/SafeTraffic_DSE_demo. Avoid stagingdata/localmodel/*unless you know why. - Commit with a message describing the TOSCA element(s) changed, then push normally (
git push origin <branch>).
- If Modelio complains about missing fragments, restore them from
data/backups/modules/ToscaDesigner/. - GUID churn happens when elements are deleted/recreated. Prefer editing existing elements to changing GUIDs, and keep changes small to simplify reviews.
- When in doubt, consult
.github/copilot-instructions.mdfor agent-focused notes or open the corresponding.exmlfile to inspect the precise stereotype/property structure before editing.