2

The argument

I'm studying software engineering, and I'm on "model driven engineering" course slides.

The main topic of this slides is, obviously, the model.

the definition for the general concept of a model is:

A model is an abstract representation of a system, which represents it from certain point of view

then continues defining the meta-model concept:

A meta-model is a model used for build and understand a model. every model must conform to a meta-model

my course slides make the example of map of subway (model) and it legend (meta-model)

ok, so far so good.

Then it doesn't stop and continue with meta-metamodel definition

a meta-metamodel is a model used for build and understand meta-model. every meta-model must conform to meta-metamodel.

The doubt

Now I'm thinking about what a designer do in an analysis of a generic problem.

example

pick the problem of maintaining the information of a zoo in which there are:

  • Animal
  • Cage (in which are stored animal)
  • Workers(that feed animal)

Now, in my mind a model of this "domain" is: image

and a meta-model of this model is: image

ok, now who/what is the meta-metamodel?

Jason Aller
  • 3,541
  • 28
  • 38
  • 38
artas
  • 148
  • 1
  • 3
  • 12
  • Notice that your meta-model defines just binary associations, which in general (in UML) do not have any direction, so they do not have a source and a destination, but just two classes participating in it. – Gerd Wagner Sep 04 '19 at 19:36
  • Yes i'm sorry i know that my question is really confuse. But even in UML the general concept of association doesn't have direction, (my mistake is using concrete syntax of uml for representing general model) in this meta-model i want to represent the fact that each association have a source and a destination. Isn't this the purpose of a meta-model? represent the "semantic meaning" (abstrat syntax) of a modelling language? i will edit my question for better representing this. thank's for answer! – artas Sep 05 '19 at 15:57
  • I was just going to point out that in UML, associations do not have a "source" and a "destination". But you are, of course, free to define them this way. However, you should not use "source" and a "destination" as association names, but as the names of the coresponding **association ends**. – Gerd Wagner Sep 06 '19 at 13:03

1 Answers1

2

A meta-model is a model of a modeling language. In fact, it defines (the abstract syntax of) a modeling language.

A meta-metamodel is a model of a language for defining modeling languages, defining (the abstract syntax of) a modeling language definition language.

In your meta-model example you define the modeling language elements "classes" and (binary directed) "associations". But you should better use "source" and "destination" as association end names.

A meta-metamodel for your example would need to include language elements for defining "classes" and (binary directed) "associations" in the form of classes and "source" and "destination" as associations. Thus, a meta-metamodel for your example could consist of just the two classes Classand Association.

Gerd Wagner
  • 5,481
  • 1
  • 22
  • 41