|
|
This tutorial is about creating and editing meta-models and models in AToM3 (we used the version 0.2.1 to create this tutorial). But first, what is
a meta-model? A meta-model "is a precise definition of the constructs and rules needed for creating semantic models".
In other words, a meta-model describes what is allowed in an environment where we can create models. Hence, in order to create valid models, we
must respect the reality of their environment: its rules and its constructs. As a very simple example, suppose we describe a meta-model with the english
language for creating sets of integers (this is not a complete example, we wanted to give something concrete to the reader):
|
This Meta-Model :
valid constructs: A set of integers, appearance: {a1,a2,...}
rules: any integer i is > 0
|
Allow those kind of models:
{1,2,3,10,100};
{2};
etc.
but not those:
{-1,5};
(4,5);
4,5,6,7;
34;
etc.
|
|
As you can see, we need a language (or a formalism) to describe meta-models which must be defined in a meta-meta-model.
In AToM3, a meta-meta-model for the Entity-Relationship (ER) formalism provide us an environment for creating and editing meta-models.
Modeling hiearchy in AToM3
Meta-Meta Level
|
Entity-Relationship Meta-Model
|
Meta-Level
|
Entity-Relationship Modeling environment
|
Model-Level
|
Custom Formalisms Modeling environment
(created at the Meta-Level)
|
Models
|
Various instances of models
(created at the Model-Level)
|
To achieve the learning of building models/meta-models, I consider that the reader is completely new to AToM3.
We will first Load and Setup AToM3, then we will see how the finite-state-automata (FSA) formalism works by creating a simple
model with it. Then, we will recreate step by step the FSA meta-model.
|
|