Models Everywhere

Various considerations about Model Driven Engineering

Archive for the ‘Modelware’ Category

Where are the zoos?

Posted by jbezivin on November 6, 2010

Towards a metazoo?

The idea of putting open source material at the disposal of the community for various experimentations is apparently having some momentum. The tradition to call these set of resources “zoos” seems to be well established now. What is missing is a global index of zoos. Here are some of the zoos I am aware of:

Very often these zoos are made of raw material, from various origins, that may be used to do various experiments and to report results. For example one may measure some properties of all the grammars or all the metamodels in one zoo. Many research papers mention various empirical experiments that have been performed on these open source zoos.

Do you know other zoos? If yes, just answer this post or twit it. Thanks.

Posted in Grammarware, Modelware, Zoo | 6 Comments »

Where are models coming from?

Posted by jbezivin on November 2, 2010

On the origin of models

One important question is about the origin of models. There are several answers to this question. The most naïve one is that models comes from a UML modeler like babies comes from cabbages.

Babies come from Cabbage

The question of the origin of models is a very serious one. If we are not able to answer this question, Modelware will not fly. First we must recognize that there are two different kinds of models: original models and derived models. A model is said to be derived from another one if it has been obtained by an automatic transformation from the original one :

On the origin of models

Posted in MDE, Models, Modelware, Transformation | Leave a Comment »

On the Principle of substitutability

Posted by jbezivin on November 2, 2010

SUBSTITUTABILITY

Substitutability is a principle in object-oriented programming. It states that, if S is a subtype of T, then objects of type T in a computer program may be replaced with objects of type S (i.e., objects of type S may be substituted for objects of type T), without altering any of the desirable properties of that program (correctness, task performed, etc.)

In Modelware the principle of substitutability also exists, but with a different definition. It states that, if M is a fidel (faithful) representation of system S, then M can replace S to answer some categories of questions about S.

The principle of substitutability in model driven engineering has to be credited to Minsky:

substitutability according to Minsky

Posted in MDE, Models, Modelware, Substitutability | Leave a Comment »

Taking the representation relation seriously

Posted by jbezivin on November 2, 2010

Structural vs. Usage definitions

There  are different ways to define a model or a DSL. One is the structural definition and the other one is the usage definition. We may draw these two orthogonal dimensions with the conformance relation between a model and its metamodel and by the representation relation between a model and the system it represents.

Structural vs. Usage definition

The conformance relation between a program and its grammar has been studied in Grammarware for half a century.  The conformance relation between a model and its metamodel is of similar nature and is starting to be understood.

But the problem we have is that the representation relation has practically never been studied seriously as of today. As B. Cantwell Smith puts it:

“What about the [relationship between model and real-world]? The answer, and one of the main points I hope you will take away from this discussion, is that, at this point in intellectual history, we have no theory of this [...] relationship”.

The structural definition answer the question of how a model is organized, of what it is composed, etc. These are important questions, but of course not as important as the usage definition adressing the questions of how a model is or should be used, when it should be used (in which situations), how it should be used, etc.

In order to stress the importance of the usage definition vs. the structural definition, we could do this for any tool that we are using, for example a hammer:

Usage and structural definition of a hammer

Posted in MDE, Models, Modelware, Ontology | 2 Comments »

My cat is Model Driven

Posted by jbezivin on October 31, 2010

Some times ago, there was an excellent paper by Roger King entitled : “My cat is Object-Oriented” [1]. Today we could easily take the arguments expressed in this paper and repeat all of it again.

Here is my cat named Caml. As Trash, Roger King’s cat he has a lot of qualities that I would summarize today by stating how much model driven my cat is.

[1] Roger King My Cat Is Object-OrientedObject-Oriented Concepts, Databases, and Applications 1989: 23-30

Posted in Models, Modelware | Tagged: | Leave a Comment »

 
Follow

Get every new post delivered to your Inbox.