terça-feira, 5 de novembro de 2019

ER 2019 - Tutorial - Multi-level Modeling with Powertypes - By João Paulo Almeida

Tutorial - Multi-level Modeling with Powertypes 
By João Paulo Almeida
*My comments always start with asterisk

Download the full set of slides

You need a humble approach towards MLM because it is inherently difficult, even for trained people. We need all the help we can get! And sometimes, with a "small theory", we can do so much. That is what he expects to show here today.

Identifying:
  • types (classes, categories, kinds) of entities in the subject matter
  • the ways in which entities of certain types can relate
  • the features that entitties of certian types can have.
Often, the focus of our models are the types (T-box), and not the instances (A-box). 

Things get complicated when the boundaries between types and instances are not so clear. 

Usually, we work with well-known instances, i.e. instances introduced at model definition time
Problem happens when entities we admit in our domain of enquiry include types! 
- In these cases, our invariants are also about how types are related, not only how instances are related. 

Conceptual model reuse and specialization
- general classes are specialized before instantiation at use time.

----

Example in the domain of Administrative Territorial Entity Type.
Why do we need MLM here? Because administrative territorial entities have different divisions in different countries, for instance. E.g. In Brazil, country, state, municipality; in Italy, country, region, province, comune. 


Levels are different than Generality Layers

The categorization and MLM phenomenon happens in different levels of generality, i.e. with Kinds, Phases etc.


One common problem is that relations may cross level boundaries, i.e. an instance may be related to a type. 

E.g. 


----

MLM is not addressed with language metamodeling 

Even having different levels, having M2, M1 and M0 layers, it does not accomodate MLM, because the only relation that crosses boundaries is instantiation. An association cannot cross boundaries. 

MLM is being around since Aristotles and the greeks. 
*Wow! Had no idea about that!

----

According to the example below, Tim Berners-Lee is a Profession


People seem to have problem when they start mixing specialization and instantiation

----

Language may be misleading 

- Anna bought a new car
- Volkswagen launched a new car
In the first sentence, new car is an instance, while in the second, it is a type

In language, we may be ambiguous but in models, we must be very, very precise! This is because when communicating, we infer things, but this is not the case for systems using our models... 

----

A little theory can already do so much!


Here is the theory behind MLM 


Example


A nice pattern 



----

Subordination

Sometimes, subordination is confused with specialization. But this is not the same thing! We cannot say that a CarModel is a subClass of Car Type By Brand. But we can say that it is subordinate



----

The model below shows an example of a syntactically inconsistent model, which a tool can easily spot and warn the modeler.


----

Deep level categorization means that the attributes of classes of different levels are related. There is no solution for this in UML
*I believe that in OntoUML there is, because we may reify the attributes using Mode or Quality.

----

These presented some conclusions and some recommended readings in the slides below.



















Nenhum comentário:

Postar um comentário