The 7 Things I Know About Cyber Security After 25 Years | April 2024
ALT
1. From Principles to Implementation: Some Lessons Learned in the Building of the AMMA Model Engineering Platform Jean Bézivin Jean.Bezivin{noSpamAt}univ-nantes.fr ATLAS Group (INRIA & LINA), University of Nantes, France http://www.sciences.univ-nantes.fr/lina/atl/
2.
3. Basic entities System Model repOf System : a group of interacting, interrelated, or interdependent elements forming a complex whole. Model : an abstract representation of a system created for a specific purpose. Technical Space : a representation system for models and a set of technical solutions to handle them. Technical Space
4. The playground Principles Standards Tools Teaching sNets, 1990 UML, 1995 today, AMMA MOF, 2000 tomorrow
5. Principles, standards and tools Principles Standards Tools Model-Driven Engineering (MDE) MDA™ Model-Driven Architecture (OMG) Eclipse EMF GMF MIC Model Integrated Computing GME Software Factories (MS) Microsoft Visual Studio Team system DSL Tools Other Standards Other Tools
12. MDA in a nutshell : PSM = f(PIM) - One unique Metametamodel (the MOF) - An important library of compatible Metamodels, each defining a DSL - Each of the models is defined in the language of its unique metamodel M 1 M 2 M 3
14. Two missing links in the OMG architecture PSM = f(PIM, PDM) or after currying: PSM = f PDM (PIM) PIM P D M P S M “ numeric” values: PDM = DotNet PDM = EJB
15.
16.
17. Creating a Petri net DSL Metamodel: a couple of logical and visual definitions
22. Abstract Syntax Systems Compared MOF The UML meta-Model A Specific UML Model A Specific phenomenon corresponding to a UML Model EBNF Pascal Language Grammar A specific Pascal Program A specific execution of a Pascal program Technology #2 (MOF + OCL) M 3 M 2 M 1 Technology #1 (formal grammars attribute grammars, etc.) etc .
23. A technical space is organized around a set of concepts TSpaces may be connected via bridges TSpaces are often similarly organized But also… Program Grammar Data Schema Model Meta-Model Document Schema Ontology Top Level O. Syntax XML MDA DBMS Ontology engineering File FileFormat Drawing Stencil Model Meta-Model ToolFormat Tool Content Form FSMngt XML MDA Visio InfoPath
31. Java to Excel Transformation (call graph) public class SecondClass { public void sc_m1(){ FirstClass a = new FirstClass(); a.fc_m1(); } public void sc_m2(){ this.sc_m1(); } } public class FirstClass { public void fc_m1(){ } public void fc_m2(){ this.fc_m1(); this.fc_m1(); } } SecondClasss.java FirstClass.java
41. Credits and MDA compliance Ontology engineering MDE Language engineering
42. The "representation" relation repOf System and System elements Model and Model elements Simple set interpretation of the repOf relation is probably as correct as simple set interpretation of the instanceOf relation in object technology. ?
43. The "conformance" relation M 2 M 1 the MOF Class Association source destination M 3 c2 c2 c2 meta meta meta meta meta meta meta the UML MetaModel Class Attribute * 1 a UML Model Client Name : String metamodel model "the real world" meta-meta model The MOF The UML metamodel Some UML Models Various usages of these models M 0 M 1 M 2 M 3
44. Summary: a Petri Net model arcPT arcTP outGo outGo inCom inCom outGo inCom inCom outGo outGo inCom conformsTo conformsTo conformsTo repOf System P2 P1 T1 Classical representation M1 M2 M3 Metametamodel Metamodel Model Node Place Place P1 Place P2 Node Trans Node Node Node Link Link arcPT Link arcTP Trans T1 Link inCom Link outGo Link meta meta
45. <petrinet> <place name=“P1”/> <place name=“P2”/> <transition name=“T1”/> <arcPT source=“P1” target=“T1”/> <arcTP source=“T1” target=“P2/> </petrinet> conformsTo conformsTo repOf System … <xs:element name=“place"> <xs:complexType> <xs:attribute name=“name“ type=“xs:string"/> </xs:complexType> </xs:element> … … <xs:element name=“element"> <xs:complexType> <xs:attribute name=“name“ type=“xs:string"/> … </xs:complexType> </xs:element> … conformsTo P2 P1 T1 Classical representation M1 M2 M3 Metametamodel: XML Schema for XML Schema Metamodel: a Petri Net XML Schema Model: an XML document meta
46.
47.
48.
49.
50. Model Transformation with ATL conformsTo conformsTo conformsTo conformsTo conformsTo G 2 P Rule R 2 B Rule Ma Mb MMa Green Node Red Node MMb Blue Node Pink Node Metametamodel Node Node ATL Rule Node MMa2MMb.atl
53. The standard OMG model transformation language ATL is a QVT-like language If QVT is the solution, then what was the problem?
54. The Model Weaver : principles OperationPort mapsTo OperationType Left MM Weaving MM Right MM Stub MM Weaving model extends c2 - Fixed mapping metamodel s are not sufficient - We need su p port for extensible variable metamodels
55.
56.
57. AMW example: RDBMS to XML Semantics SQL schema represented in Ecore XML schema represented in Ecore
61. Representing zones with Megamodels ZoneA Megamodel MgA repOf Megamodel Metamodel c2 ZoneB Megamodel MgB repOf c2 Fred ATL Nantes Ivan Mistral Enschede
62. Representing zones with Megamodels ZoneA Megamodel MgA repOf ZoneB Megamodel MgB MgC repOf ZoneC Megamodel Metamodel c2 c2 ZoneBC