Your First Project
This guide walks you through creating a minimal but complete language workbench in Jjodel: a simple class diagram language with classes, attributes, and associations.
Step 1 — Create a New Project
Section titled “Step 1 — Create a New Project”- From the Dashboard, click the main menu (upper-left corner)
- Select New Project
- Give your project a name (e.g.,
MyFirstLanguage) and an optional description - Click Create
Your project is now visible in the Dashboard. Click on it to enter the workspace.
Step 2 — Define Your Metamodel
Section titled “Step 2 — Define Your Metamodel”The metamodel defines the abstract syntax of your language — what kinds of elements exist and how they relate to each other.
- In the workspace, open the Metamodel Editor
- Create a new class called
Class- Add an attribute
nameof typeString
- Add an attribute
- Create a second class called
Attribute- Add an attribute
nameof typeString - Add an attribute
typeof typeString
- Add an attribute
- Create a containment reference from
ClasstoAttribute- Name it
attributes, set multiplicity to0..*
- Name it
- Create a third class called
Association- Add a reference
sourcepointing toClass - Add a reference
targetpointing toClass
- Add a reference
You now have a metamodel that can describe class diagrams with classes, their attributes, and associations between classes.
Step 3 — Create a Model
Section titled “Step 3 — Create a Model”A model is an instance of your metamodel — it contains concrete data conforming to the rules you defined.
- From the workspace, create a New Model
- Instantiate a
Classelement and name itPerson- Add an
Attributenamednamewith typeString - Add an
Attributenamedagewith typeInteger
- Add an
- Instantiate another
Classelement namedAddress- Add an
Attributenamedstreetwith typeString
- Add an
- Create an
AssociationfromPersontoAddress
You have just created a simple domain model using the language you defined in Step 2.
Step 4 — Create a Viewpoint
Section titled “Step 4 — Create a Viewpoint”Viewpoints define the concrete syntax — how model elements look in the graphical editor.
- Open the Viewpoint Editor
- Create a new viewpoint (e.g.,
ClassDiagramView) - Define a view for
Class:- Use a rectangle shape
- Display the class name as a label
- Show contained attributes inside the rectangle
- Define a view for
Association:- Use a line connecting source and target classes
- Apply the viewpoint to your model
Your model is now rendered as a visual class diagram.
What You Built
Section titled “What You Built”Congratulations — you have just created a complete language workbench:
- A metamodel defining the abstract syntax (classes, attributes, associations)
- A model containing domain-specific instances (Person, Address)
- A viewpoint providing a graphical concrete syntax (class diagram notation)
This is the fundamental workflow in Jjodel. From here you can extend your language with validation rules, code generation, custom events, and more.
Next Steps
Section titled “Next Steps”- Dashboard — manage your projects
- Metamodel Editor — explore advanced metamodeling features
- Viewpoints — learn about visual, textual, and validation viewpoints
- Basic Notions — understand the conceptual foundations