La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Ingénierie des Modèles Logiciels Cours #9

Présentations similaires


Présentation au sujet: "Ingénierie des Modèles Logiciels Cours #9"— Transcription de la présentation:

1 Ingénierie des Modèles Logiciels Cours #9
Bases conceptuelles du MDA Jean Bézivin Equipe ATLAS (INRIA & IRIN), Nantes

2

3 Ontologie et méta-modèles Les sNets Conclusion
Plan du cours #9 Introduction Ontologie et méta-modèles Les sNets un exemple de rcherche de minimalité Conclusion

4 Une théorie des modèles pour le MDA ?
Quels sont les outils théoriques qui pourraient nous aider en ingénierie des modèles ? Réponse essentielle : Ontologies (Gruber, Guarino, etc.)

5 M S M1 M0 Systèmes et modèles (l'espace de modélisation) (le monde)
Un modèle M est une représentation simplifiée du monde; en fait d'une partie S du monde appelée le système. M M1 (l'espace de modélisation) estReprésentéPar M0 (le monde) S

6 AOSE Aspect-Oriented Software Engineering
Ma Un système donné peut avoir plusieurs modèles différents Chaque modèle représente un aspect différent du système. L'appellation AOM (Aspect-Oriented Modeling) est donc un pléonasme. Inversement on peut combiner des modèles différents extraits du même système: opération de tissage des aspects. Mb Mc M1 estReprésentéPar M0 S

7 Principe de substituabilité limitée
Le but d'un modèle est toujours d'être capable de répondre à certaines questions en lieu et place du système qu'il est censé représenter. Il doit répondre à ces questions exactement de la même façon que le système y aurait répondu lui-même, si on l'avait interrogé.

8 Méta-modèle M S M* La correspondance entre un modèle
et un système est définie par un méta-modèle.

9 M S M* Méta-modèle La correspondance entre un modèle
et un système est définie par un méta-modèle.

10 Ontologies et méta-modèles
Pour le théoricien, ceci est une ontologie Pour le praticien des systèmes d'information, ceci est un méta-modèle Un méta-modèle est une forme simplifiée d'ontologie. "An ontology is an explicit specification of a shared conceptualization" T.G. Gruber MM M M1 (l'espace de modélisation) estReprésentéPar M0 (le monde) S

11 Autres définitions L’ontologie d’un domaine est un vocabulaire de termes dont les significations se structurent en un système. Définie pour un objectif donné, elle exprime un point de vue partagé par une communauté. Une ontologie est définie à l’aide d’un langage et repose sur une théorie (sémantique) garante des propriétés de l’ontologie en termes de consensus, cohérence, partage et réutilisation. C. Roche

12 Ontologies Les ontologies apportent : Abstraction Consensus et partage

13 Ontologies stratifiées
Concepts et Relations p.ex. diagrammes UML terminologique pragmatique assertionel p.ex. comment dessiner une classe? pbs de présentation, etc. p.ex. instructions OCL, Alloy, CG, KIF, Z, etc.

14 Les sNets : Un méta-méta-modèle minimal
une plate-forme de recherche en ingénierie de modélisation. un MOF minimal un MOF sans les contraintes industrielles une organisation plus régulière (univers)

15 Le méta-méta-modèle contraint les graphes utilisés
Directed Labelled Graphs General Trees Un réseau sémantique général (non contraint) Typed Partitioned Reflexive Semantic Networks

16 sNets : les influences Smalltalk PIE (PARC) CDIF Graphes conceptuels sNets Systèmes ontologiques

17 un chat sur un tapis Cat on Mat aCat aMat

18 sNets : Réseaux Sémantiques Partitionnés Typés Réflexifs.
Un chat sur un tapis Chat unChat Chat Tapis sNets : Réseaux Sémantiques Partitionnés Typés Réflexifs. meta meta sur unChat unTapis $ x, $ y : Chat (x) Ù Tapis (y) Ù sur (x,y)

19 Vers un noyau réflexif minimal de modélisation
meta meta meta Link Node Node meta meta meta meta meta Chat Tapis Chat sur Tapis meta meta meta meta sur sur unChat unTapis unChat unTapis

20 La méthode M est définie dans la classe C
meta meta Node Node meta meta meta meta Chat Tapis Class Method meta meta meta meta on methodOf unChat unTapis M C

21 La notion d'univers U U ? ? a b a b x y V V ? ? x y
Universe U partOf partOf U ? ? a b partOf a b x y Universe V V partOf partOf ? ? Un Univers est une région (partition) dans le graphe, un ensemble de liens et de nœuds. Il est représenté d façon explicite. x y

22 Root universes

23 Universe umlexample.

24 Universe UMLSem

25 Alternative browser view (graphical)

26 Semantic actions

27 Semantor Explorer

28 Semantor sBrowser

29 A classical browser (Smalltalk)

30 SmalltalkSem : the meta-model
BasicSem universe SmalltalkSem extends BasicSem; concept Category, Class, Protocol, Method; relation categoryOf [Class, Category]; protocolOf [Protocol,Class]; methodOf [Method,Protocol]; textOf [Method,String]; endOfUniverse SmalltalkSem; extends SmalltalkSem

31 SmalltalkSem : a model sem universe aSmalltalk sem SmalltalkSem;
concept Collections-Abstract:Category; Collection:Class; adding: Protocol; addAll: Method; "addAll: a Collection ..." : String; relation categoryOf (Collection, Collections-Abstract); protocolOf (adding,Collection); methodOf (addAll:,adding); textOf (addAll, "addAll: a Collection ..." ); endOfUniverse SmalltalkSem; sem SmalltalkSem

32 Nœuds et liens étiquetés
Présentation détaillée des sNets on Point de départ des réseaux sémantiques : Graphes orientés étiquetés.

33 Nœuds typés Cat Cat aCat meta aCat

34 Nœuds nommés String aCat aCat name

35 Concepts primitifs Node Node ... String Integer

36 Situation typique Cat on Mat aCat aMat

37 $ x, $ y : Cat (x) Ù Mat (y) Ù on (x,y)
a Cat on a Mat Cat Mat Cat aCat meta meta aCat aMat on $ x, $ y : Cat (x) Ù Mat (y) Ù on (x,y)

38 Cat est un Node Node meta Cat meta aCat

39 Node est un Node meta Node meta Cat meta aCat

40 Tout est un Node meta Node meta meta Cat M at meta meta on aCat aMat

41 on est un Link Link on aCat on aMat

42 Link est un Node Node Node Node Link Link on aCat on aMat

43 on est un Link Link outGoing on inComing aCat on aMat

44 on est un Link Link Cat Mat on outGoing inComing meta meta aCat on
aMat

45 on est un Link Link Node Cat on M at meta meta meta meta meta outGoing
inComing meta meta aCat on aMat

46 outGoing est un Link Node Link Node Node Link outGoing outGoing
inComing Link

47 inComing est un Link Node Link Node Link Node inComing outGoing

48 Tout lien a une multiplicité
Link Integer multiplicity inComing 1 Cardinalité Max -1 signifie plusieurs (*)

49 multiplicity est un Link
(... Avec un lien de multiplicité comme tous les liens) Node Link Node Link outGoing multiplicity inComing Integer multiplicity Integer 1

50 Forme générale

51 Les univers Node Tout système de représentation nécessite un mécanisme
meta Universe meta Tout système de représentation nécessite un mécanisme intégré de modularité. U

52 Représentation de l'Univers U

53 Tout nœud possède trois liens :
Basic relations Tout nœud possède trois liens : name meta partOf Un nœud appartient à un seul Univers.

54 Il est nommé univers sémantique de U.
Ontology L'univers SU contient les définitions des nœuds et des liens de l'univers U. Il est nommé univers sémantique de U. Si U est un modèle, alors SU est son méta-modèle. Universe SU sem Universe U

55 Univers sémantique SU Universe X r Y SU sem Universe U r x y U meta

56 Univers sémantique Pour toute entité x de l'Univers U, sa définition X se trouve dans l'univers sémantique SU de U. Un univers U et son univers sémantique SU sont liés par la relation sem. SU X r Y Universe SU meta meta sem sem Universe r U x y U

57 Les espaces M1, M2 et M3 dans les sNets
sem meta Node meta meta Node Method Node Class inComing outGoing Link inComing Link outGoing outGoing inComing meta Link meta methodOf inComing M2 outGoing meta Node Link sem meta M1 M3 Class Method methoOf C M sem

58 Exemple de base sNet p1 t1 p2 p3 sem t2 Universe PetriSem;
sem Semantic; node Place, Transition; link tTOp* [Transition,Place]; pTOt* [Place ,Transition]; end Universe PetriExample1; p1 Universe PetriExample1; sem PetriSem; node p1,p2,p3: Place; t1,t2:Transition; link pTOt (p1,t1); tTOp (t1,p2); tTOp (t1,p3); pTOt (p2,t2); pTOt (p3,t2); tTOp (t2,p1); end Universe PetriExample1; t1 p2 p3 sem t2

59 Type inheritance Type X inherits from type Y :
A node of type X can be seen like a node of type Y. So, if a node of type Y can have a link named l to a node of type Z, then a node of type X can also have a link named l to a node of type Z.

60 Inverse subtypes relation
An inverse relationship also exists. So, if a type X inherits from a type Y, an inherits link is defined from X to Y, and a subTypes link is defined from Y to X.

61 in summary The inheritance relationship between two nodes of type Node is represented by two links named inherits and subtypes between these two nodes. An inverse relationship is defined in order to illustrate the fact that these two links represent the same relationship. A relationship between two nodes of type Node may be represented by two nodes of type Link linked by an inverse link. An inverse link between two nodes of type Link means that each of these links can't exist alone. The two links must be defined. This inverse link is defined using the sNet formalism in the next chapter.

62 Forward ref: the inverse link

63 Forward ref: the inverse link
In order to represent bidirectional relationships (relationship between two nodes using two links inverse each other), we have defined the inverse link between two nodes of type Link. This allows an automatic creation and destruction of these inverse links. is an abbreviation for :

64 inverse links implies :
The link l is the inverse of the link m. Consequently, if a node x have a link l to a node y, the node y will have a link m to the node implies :

65 inverse of inverse is inverse

66 Eleven basic types RootNode, Terminal and Universe inherits from Root.
Link and Node inherits from RootNode. String, Integer, Float and Boolean inherits from Terminal. SemanticUniverse inherits Universe.

67 String, Integer, Boolean and Float are representing terminal values.
Some properties Root, RootNode, Terminal are abstract types. So, there is not any sNet node with a meta link to these nodes. A Link node defines a type of link, since a Node node defines a type of node. String, Integer, Boolean and Float are representing terminal values. A Universe node represents a universe. A SemanticUniverse node defines a semantic universe.

68 Extending Universes A universe can be extended. The extension of a Universe consists of a new universe which contains all the nodes of the first one (and all universes extended by the first one). If U extends V, all nodes belonging to V also belong to U An inverse relationship is also defined. So, if a node U of type Universe has an extends link to a node V of type Universe, the node V will have an extensions link to the node U.

69 Some properties of extensions
a node of type Universe may have many extends links to nodes of type Universe. a node of type Universe may have many extensions links to nodes of type Universe. The extensions link is the inverse of the extends link.

70 Semantic vs. terminal universes
Every universe has a semantic universe. This semantic universe defines the semantics of the universe. All nodes belonging to a universe U have a meta link to a node of type Node which defines its type and which belongs to the semantic universe of U (or one of the universes extended by the semantic universe of U).

71 Semantic universes The inverse relationship also exists. So, if a node U of type Universe has a sem link to a node V of type Universe, the node V will have a models link to the node U. a node of type Universe may have a sem link to a node of SemanticUniverse. a node of type SemanticUniverse may have many models links to nodes of type Universe. The sem link is the inverse of the models link.

72 Basic links

73 Basic nodes

74 sNet Core representation
The World universe which contains all the sNet nodes. This universe also contains itself (there is a partOf link from World to itself). Its semantic universe is commonSem. The commonSem semantic universe, which contains nodes of type Node defining all the sNets base types (Root, NodeRoot, Terminal, Universe, SemanticUniverse, String, Boolean, Integer and Float). Its semantic universe is semantic. The semantic semantic universe which contains the definition of the nodes used to represent new semantic universes (these nodes are Node and Link ). Every semantic universe has a sem link to semantic or an extension of semantic. This universe has a sem link to itself (reflexiveness of the sNet core). It represents the sNet meta-meta model.

75 Root universes

76 Universe umlexample.

77 Universe UMLSem

78 Alternative browser view (graphical)

79 Semantor Explorer

80 De Scriptor © à MIA-Transformation

81 Modeleur de processus

82 sNets

83 MM réflexif

84 Trois niveaux

85 Conclusion : Le rôle central du méta-méta-modèle
MetaEntity source destination instanceOf basedOn Entity MetaRelation Model source basedOn definedIn destination instanceOf MetaModel semantic

86 MOF UML etc. SPE OCL CWM Wfl XMI La vue globale Conceptual graphs
OMG/MDA recommendations XMI

87 Contextes et Coréferences
"John believes that Mary wants to marry a sailor" PERSON: John BELIEVES PROPOSITION: PERSON: Mary WANTS There are two important notions here. SITUATION: PERSON MARRY SAILOR

88 Les relations sem et meta
SOURCE DESTINATION A B Y META SEM META R a b X

89 Définitions locales et globales
meta Node M3 meta meta Link meta meta M2 StkInstance StkClass instanceOf meta meta M1 aCat Cat instanceOf

90 Real world MOF M3 M2 M1 M0 Organisation globale Smalltalk model
META MOF M3 NODE : NODE META META META Meta-model Smalltalk M2 NODE : MetaClass NODE : Class NODE : Instance META META META Smalltalk model MetaClass : Person class instanceOf Class : Person instanceOf Instance : Mary M1 representedBy M0 Real world Mary, the real Stk object in a given computer, at a given addredd, unique in time and space.

91 Méta-programmation vs. Méta-modélisation
meta M3 MOF::Class MP meta meta meta M2 STK::MetaClass STK::Class STK::Instance meta M1 meta meta meta meta STK::Iof Metaclass class Metaclass Cat class Cat Felix STK::Iof STK::Iof STK::Iof STK::Iof

92 Fin du cours Merci Questions ? Commentaires ? Jean Bézivin
Equipe ATLAS, INRIA & IRIN, Nantes


Télécharger ppt "Ingénierie des Modèles Logiciels Cours #9"

Présentations similaires


Annonces Google