SlideShare uma empresa Scribd logo
1 de 62
Meta-modeling: concepts, tools
and applications
https://dl.dropboxusercontent.com/u/6656530/tutorial_rcis2015.html
(1) Associate Professor
Telecom Ecole de Management, Department of Information Systems
Evry, France
(2) Invited Researcher
Centre de Recherche en Informatique, University of Paris 1 La Sorbonne
France
Saïd Assar 1,2
1. Introduction & background (cont'd)
2
Telecom Sud Paris
2
• INSTITUT MINES - TELECOM: 4 leading schools in
engineering and management
Telecom Paris
Telecom Bretagne
Telecom Ecole de
Management
1. Introduction & background (cont'd)
33
 Since 1999, long-term research collaboration with CRI at
Paris 1 Sorbonne
Learning objectives
 To understand what is a meta-model, its historical
background, when it is needed and how it can be defined
and exploited.
 To witness and participate in building concrete meta-
models and exploiting them using existing meta-modeling
technical infrastructures
 To be aware of problems and challenges in meta-
modeling and the actual state-of-the-art regarding these
issues.
4
Agenda
5
1. Introductory examples
2. Abstraction levels and the instantiation problem
3. Computerized tools for meta-modeling
4. Illustration
a) A Domain Specific Language (DSL) for IoT v3.0 Framework
b) A DSL to model software development processes
c) A DSL to specify web applications
5. Research challenges
6. Conclusion
5
1. Introductory examples – what is a model ?
6
"A model (M) for a system (S) and an observer (O) is any kind of representation
which can help O in answering questions and reasoning about S“
 It is an abstraction, a reduction of reality to its most relevant aspects
 It is the result (i.e. the product) of some specific process
 It is built using some kind of notation (formal and/or graphical)
 Descriptive vs. prescriptive models
 Models are artifacts, i.e. they can also be modeled
Observer
1. Introductory examples – what is a meta-model ?
7
Source: Hanns-Alexander Dietrich, Exercice 1 Meta-modelling, European Research
Center for Information Systems, Information Modelling Summer Term 2012.
Let’s consider this very simple process model with two concepts (event,
function) and one link among concepts (event – function)
1. Introductory examples – what is a meta-model ?
8
Source: Hanns-Alexander Dietrich, Exercice 1 Meta-modelling, European Research
Center for Information Systems, Information Modelling Summer Term 2012.
A meta-model would be a textual,
graphical, and/or formal representation of
the concepts and how they are linked
InstanceOf
Questions
 How to represent a meta-model?
 How can a MM be leveraged in IS
engineering?
1. Introductory examples – generic models (1)
GR model
GB model
RUS model
IND model
IRAN model
Québec model
New York model
TR model
Suppose a trans-national car tracking
system
 interoperability issue
 system evolution issue
Car
plate
model
IsA
9
 Are all these plates special cases
of a car plate model?
1. Introductory examples – generic models
GR model
GB model
RUS model
IND model
IRAN model
Québec model
New York model
TR modelVehicle
identification
model
InstanceOf
 Or is there a generic vehicle ID
model from which these models -
and may be others - can be
derived?
Interactive question:
In terms of system evolution,
these two modeling solutions are
similar or very different?
10
1. Introductory examples – generic models
11
In terms of system evolution, these two modeling solutions are similar or very different?
InstanceOf
IsA
InstanceOf
InstanceOfWhat about the country code,
how to model it?
1. Introductory examples – generic models (2)
12
Method M1 for simple projects
Method M2 for
large projects
Agile method M3 for
risky projects
S1
S2
S3
SN
…
L1
L2
L3
LM
…
G1
G2
G3
GK
…
General
method
IsA ?
General method
structure
InstanceOf ?
For a software development company
with different methods
 evolution issue
 enactment issue
1. Introductory examples – IoT framework
In the field of Internet of Things (IoT), a large set of heterogeneous objects are
expected to interact and be part of a huge information network …
 Is it possible to have a general model for all interacting objects?
13
1. Introductory examples – IoT framework
Source
http://www.iot-a.eu/public/public-documents/d1.5/at_download/file 14
A reference model of IoT is
proposed by an FP7 project …
 What this model is helpful
for?
 Is it possible to provide
computerized support for
using this model?
1. Introductory examples – language definition
15
Language syntax definition (a toy language)
<postal-address> ::= <name-part> <street-address> <zip-part>
<name-part> ::= <personal-part> <last-name> <opt-suffix-part> <EOL>
|<personal-part> <name-part>
<personal-part> ::= <first-name> | <initial> "."
<street-address> ::= <house-num> <street-name> <opt-apt-num> <EOL>
<zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL>
<opt-suffix-part> ::= "Sr." | "Jr." | <roman-numeral> | ""
<last-name> ::= [A-Z|a-z]
<first-name> ::= [A-Z|a-z]
personal-part
first-name
first-name-part initial
initial-part
last-name
suffix-part
house-num
street-num
Town-name
state-code
ZIP-code
component-p
postal-address
1,N
1,1
street-address-part
Zip-part
opt-apt-num
Agenda
16
1. Introductory examples
2. Abstraction levels and the instantiation problem
3. Computerized tools for meta-modeling
4. Illustration
a) A Domain Specific Language (DSL) for IoT v3.0 Framework
b) A DSL to model software development processes
c) A DSL to specify web applications
5. Research challenges
6. Conclusion
16
2. Abstraction levels – instanciation vs. generalisation
17
Object
CLASS
CLASS : a structure, a pattern
Object: identifier, values
• Attribute1
• Attribute2
• …
• "Value1"
• "Value2"
• …
CLASS B
• Attribute b1
• Attribute b2
• …
CLASS A
• Attribute a1
• Attribute a2
• …
InstanceOf
IsA
2. Abstraction levels – the meta-modeling language issue
18
A meta-model is described using a meta-modeling language
How to describe the meta-modeling language … a circular issue.
2. Abstraction levels – instantiation levels
• Meta-modeling framework by OMG : Meta Object Facility (MOF)
=> Strict instanciation
19
2. Abstraction levels – instantiation levels
20
• Instantiation levels in th Meta Object Facility (MOF) by OMG
Source: OMG
2. Abstraction levels – the “Powertype” approach
21
Cointe, Pierre: Metaclasses are first class: The ObjVlisp Model. SIGPLAN Notices.
22(12), 156–162 (1987).
 One of the earliest work on
these issues is by P. Cointe in
1987
Where does meta-modeling come from?
• Artificial intelligence (i.e. frame concept, Smalltalk, ObjVLisp)
• Databases (i.e. meta-database)
• Object oriented modeling (i.e. Classes are objects too => MetaClasses)
How to simultaneously create a generalization link AND an instantiation link
How to a define attributes to Classes
How to cross the strict instantiation levels
2. Abstraction levels – the “Powertype” approach
22
How to simultaneously create a generalization link AND an instantiation link
How to a define attributes to Classes
How to cross the strict instantiation levels
Pet
PetName
DateOfBirth
Owner
AnimalSpecies
SpecieName
AvgLifeSpan
Vaccinations
Diet
1 0..*
"Cat specie"
8
"Triple", "Leukaemia"
"Fish"
"Valentina"
8-sep-2008
"César"
Illustration (Source: Gonzalez-Perez & Henderson-Sellers, Metamodelling for software engineering, p.38)
How to model species-specific characteristics, e.g. Breed ?
2. Abstraction levels – the “Powertype” approach
23
Pet
PetName
DateOfBirth
Owner
CatSpecie
Breed
"Valentina"
8-sep-2008
"César"
Illustration (Source: Gonzalez-Perez & Henderson-Sellers, Metamodelling for software engineering, p.39)
Using specialization link to model
species-specific characteristics
2. Abstraction levels – the “Powertype” approach
24
Pet
PetName
DateOfBirth
Owner
AnimalSpecies
SpecieName
AvgLifeSpan
Vaccinations
Diet
1 0..*
"Cat specie"
8
"Triple", "Leukaemia"
"Fish"
"Valentina"
8-sep-2008
"César"
"Siamese"
CatSpecie
Breed
Illustration (Source: Gonzalez-Perez & Henderson-Sellers, Metamodelling for software engineering, p.39)
Specific representation
Class + Object
2. Abstraction levels – the “Powertype” approach
25
Pet
PetName
DateOfBirth
Owner
AnimalSpecies
SpecieName
AvgLifeSpan
Vaccinations
Diet
"Cat specie"
8
"Triple", "Leukaemia"
"Fish"
"Valentina"
8-sep-2008
"César"
"Siamese"
CatSpecie
Breed
Illustration (Source: Gonzalez-Perez & Henderson-Sellers, Metamodelling for software engineering, p.40)
PowerType and Clabject
Clabject
Powertype
2. Abstraction levels – the “Powertype” approach
26
Task
Start
End
Duration
Task Kind
TaskName
Purpose
MinCapLevel
"Code writing"
"To write code …"
1
"12-sep-07"
"18-sep-07"
7d
"C#"
CodeWritingTask
ProgLanguage
Illustration (Source: Gonzalez-Perez & Henderson-Sellers, Metamodelling for software engineering, p.41)
PowerType and Clabject for method engineering
Clabject
Powertype
2. Abstraction levels – deep instantiation
• Proposal:
– Add an indicator (potency) of the abstraction level at which the attribute
is to be instantiated
Task
+ TaskCategory1
+ TaskDuration0
CodeWritingTask
TaskCategory: Coding
T1
+ TaskDuration:10d
instance instance
27
Agenda
28
1. Introductory examples
2. Abstraction levels and the instantiation problem
3. Computerized tools for meta-modeling
4. Illustration
a) A Domain Specific Language (DSL) for IoT v3.0 Framework
b) A DSL to model software development processes
c) A DSL to specify web applications
5. Research challenges
6. Conclusion
28
3. Computerized tools for meta-modeling
29
(1)
(2)
(3)
Focus on 3 meta-modeling tools :
3. Computerized tools for meta-modeling
30
Other meta-modeling tools :
ADOxx Meta Modelling Platform
(http://www.adoxx.org/live/home)
(4)
(5)
(6) JastAdd (http://jastadd.org)
and
JastEMF
(https://code.google.com/a/eclipselabs.org/p/jastemf/)
for language engineering
(http://astreo.ii.uam.es/~jlara/metaDepth/)
3. Computerized tools for meta-modeling
31
Source http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/package-summary.html
ECORE meta-modeling
framework (MOF based)
3. Computerized tools for meta-modeling
32
Source http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/package-summary.html
ECORE meta-modeling
framework (MOF based)
3. Computerized tools for meta-modeling
33
MetaEdit (1)
• A meta-CASE tool for automatic customization of CASE tools
• Result of research project at Jyväskyla (K. Lyytinen, M. Rossi, S. Kelly et al. - 1990')
• Actually commercialized by MetaCASE
• Targeted towards Domain Specific Modeling
Meta-model definition Model definition
Generate
(Executable)
code
3. Computerized tools for meta-modeling
34
MetaEdit (2)
• Meta-modeling language: GOPRR
• Graph
• Object
• Property
• Relationship
• Role
3. Computerized tools for meta-modeling
35
MetaEdit (3)
• Meta-editing functionalities
3. Computerized tools for meta-modeling
36
MetaEdit (4)
• Customized editor
3. Computerized tools for meta-modeling
37
MetaEdit (5)
• MERL: A scripting language for generating code (i.e. flow of characters)
3. Computerized tools for meta-modeling
38
MetaEdit (6)
• Example in MERL for generating SQL code from E/R schema
3. Computerized tools for meta-modeling
39
Conceptbase (1)
• A deductive database supporting object-centered TELOS modeling language
• Result from research project DAIDA (J. Mylopoulos, M. Jarke et al. - 1990')
• Continued as an open source project (M. A. Jeusfled)
• Targeted towards Model Engineering
TELOS modeling language
• Any element (class, object, attribute, link, constraint … ) is internally represented as
a predicate in a deductive DB
• Attributes are first order objects i.e. they can have properties
• Attributes correspond to links between two elements
• Any object can be instantiated
 Multiple instantiation ('Paul' in 'Employee' and 'Paul' in 'Student')
 Multiple levels of instantiation
 Multiple Generalisation/Specialisation (i.e. heritage)
 Generalisation/Specialisation can co-exist with instantiation
3. Computerized tools for meta-modeling
40
Conceptbase (2)
• Model llustration
Person in Class with
attribute
ID: Integer;
name:String
end
Client isA Person with
attribute
reduction:Real
end
Employee isA Person with
attribute
function: String
end
Student isA Person with
attribute
age:Integer
end
3. Computerized tools for meta-modeling
41
Conceptbase (3)
• Multiple instantiation illustration
John in Student, Employee, Client with
ID
id_john: 44555
name
name_j: "John Legrand"
reduction
r1: 30.0
function
f1: "Sale manager"
age
age1: 24
end
Client with constraint
reduction_OK:
$ forall c/Client x/Real (c reduction x) ==> (x>=5.0) $
end
QueryClass AllPeople isA Person with
constraint
Allpeople_c: $ exists s/String (this nom s) $
end
3. Computerized tools for meta-modeling
42
AnimalSpecies in Class, MetaClass with
attribute
SpecieName: String;
AvgLifeSpan: Integer;
Vaccinations: String;
Diet: String
end
Pet in Class, MetaClass with
attribute
PetName: String;
PetDateOfBirth: String;
PetOwner: String
end
CatSpecie in AnimalSpecies, Class with
attribute
Breed: String
SpecieName
sn: "Cat specie"
AvgLifeSpan
als: 8
Vaccinations
v1: "Triple"; v2: "Leukaemia"
Diet
d1: "Fish“ end
MyCat in CatSpecie, Pet with
Breed
MyCatBreed:"Siamese"
PetName
p1: "Valentina"
PetDateOfBirth
d1: "08-Sep-2008"
PetOwner
pow: "César“ end
Conceptbase (3)
• Implementing Class attributes and the “PowerType” concept
3. Computerized tools for meta-modeling
43
Conceptbase (3)
• Implementing Class attributes and the “PowerType” concept
Agenda
44
1. Introductory examples
2. Abstraction levels and the instantiation problem
3. Computerized tools for meta-modeling
4. Illustration
a) A Domain Specific Language (DSL) for IoT v3.0 Framework
b) A DSL to model software development processes
c) A DSL to specify web applications
5. Research challenges
6. Conclusion
44
4. Meta-modeling illustration examples
45
The IoT ARM is exemplified with a
use-case scene : A load carrier is
equipped with sensors and can
communicate with other devices in
terms of wireless radio technology.
With this hardware, every load
carrier continuously measures its
environmental parameters and
sends all measurements via the
embedded event service to the
mobile phone of the truck driver.
Source : http://www.iot-a.eu/public/public-documents/d1.5/at_download/file
Exercise 1 : Internet of Things framework
4. Meta-modeling illustration examples
46
“For example, Ted is a truck driver transporting highly sensitive orchids to a retail store. After loading the orchids
on his truck, he attaches an array of sensors to the load carriers in order to measure the temperature.
While having lunch, Ted forgot that by turning of the engine, air condition for the transported goods highly sensitive
orchids - shuts off, too. The temperature inside the truck starts rising and when it reaches a predefined critical
level inside, one of its sensors notices this and its node sends an emergency signal to Ted's IoT-Phone. On the
IoT-Phone's display, Ted can now see that the orchids are in danger so he rushes back to the vehicle and turns
the air condition on.
The IoT-Phone also keeps track of any alert messages it receives from the load carriers and saves this message
history for future inspection in a way that cannot be altered. When the truck reaches the retail store for delivery,
the sensor history is transferred to the store’s enterprise system and the sensors authenticate themselves as
being un-tampered.”
Exercise 1 : Internet of Things framework
Source : http://www.iot-a.eu/public/public-documents/d1.5/at_download/file
How to model this system using the IoT framework ?
4. Meta-modeling illustration examples
47
Exercise 2: Method engineering
The design and development team in a company has defined a set of engineering methods
according to the nature of projects. Among others, and in the case of small size projects (number
of end-users <= 10, number of data tables <= 15, number of business process <=5), they have
defined the following simple method:
“The Requirements Engineering team (1 or 2 engineers) uses administrative documents and
conduct interviews with end-users to elicit general requirements, i.e a natural language
description of the required system (including NF requirements), and process definitions
represented as BMPN diagrams. The design team (2 to 4 engineers) uses the process models
together with the general description to sketch a system architecture, i.e. an UML class diagram,
use case diagrams and sequence diagrams. The development team (3 to 5 developers) build the
system according to the BPMN models and the system architecture, and deliver an operational
implementation composed of Java code for web services, a relational database and a workflow
script. The test team (2 to 3 persons) verify the quality of the system using a set of test cases
they have designed and in accordance with the NF requirements”.
How such method can be modeled using a
subset of SPEM and the MetaEdit+ workbench?
4. Meta-modeling illustration examples
48
Exercise 3: Web questionnaires [Source : LWC2014 - Language Workbenches
Comparison, http://www.languageworkbenches.net/]
Forms-based software for data collection has found application in various areas, including scientific
surveys, online course-ware and guidance material to support the auditing process. As an overall
term for this kind of software applications we use the term "questionnaire". In this exercise, the goal
is to create a simple DSL, called QL, for describing questionnaires. Such questionnaires are
composed of sequential forms, each form is characterized by conditional entry fields and
(spreadsheet-like) dependency-directed computation. The following example presents a possible
textual representation of a simple questionnaire with only one form :
questionnaire HouseOwning
form Box1HouseOwning
{ hasSoldHouse: “Did you sell a house in 2010?” Boolean
hasBoughtHouse: “Did you by a house in 2010?” Boolean
hasMaintLoan: “Did you enter a loan for maintenance/reconstruction?” Boolean
if (hasSoldHouse)
{ sellingPrice: “Price the house was sold for:” money
privateDebt: “Private debts for the sold house:” money
valueResidue: “Value residue:” money(sellingPrice - privateDebt)
}
}
4. Meta-modeling illustration examples
49
This simple form should generate into a GUI which allows the following user interaction:
Exercise 3: Web questionnaires [Source : LWC2014 - Language Workbenches
Comparison, http://www.languageworkbenches.net/]
How such language can be designed and implemented ?
Agenda
50
1. Introductory examples
2. Abstraction levels and the instantiation problem
3. Computerized tools for meta-modeling
4. Illustration
a) A Domain Specific Language (DSL) for IoT v3.0 Framework
b) A DSL to model software development processes
c) A DSL to specify web applications
5. Research challenges
6. Conclusion
50
6. Research challenges in meta-modeling
51
Behavior meta-modeling
• Behavior perspectives are generally missing in software engineering
meta-models
 Important knowledge about modeling languages is lacking
 Essential for tools designers and method engineers
 For a process modeling language, "behavior" perspective inquire
on its executable/operational semantics
6. Research challenges – behavior modeling
52
Research goal
• How to express the operational semantics for a modeling language?
• How to design and build enactment engines for a given modeling language?
 Maintainability and portability are central issues
[Source :T. Mayerhofer et al., “xMOF: Executable DSMLs Based on fUML”, SLE’2013 ]
6. Research challenges – behavior modeling
53
Behavior meta-modeling
• Context : MAP process modeling notation
Example
6. Research challenges – behavior modeling
54
stopMapEnact()
selectCandidateSection()
stateMapInst.Old=Selected
stateMapInst.New=Running
M1:
Start
Map
Execution
notifyEndSection()
SectionInstance
Product Instance
SendCandidateSections()
EV4
EV5
EV9
MapActor
M2:Liste of candidates
M4:End of Section Execution
compute
Candidate
Sections()
IntentionInstance
Section
Application
Executor
updateIntention()
updateExecSection()
notifyEndExec()
invokeExec()
EV1
M3: Choice
C1: target intention= Stop
C1
MapInstance
startMapEnact()
stateMapInst.Old=Running
stateMapInst.New=Enacted
notifyEndMapEnact()
M6:Stop
stateSecInst.Old=Candidate
statSecInst.New=Selected
M8:Execution
status
computeCandidateSections()
stateSecInst.Old=Created
stateSecInst.New=Candidate
stateSecInst.Old=Selected
stateSecInst.New=Executed
EV3
EV6
EV8
EV12
Product
Manager
ImplemExe
SectionInstance
invokeExec()
notifyEndExec()
EV5
EV10 stateIntInst.Old=Created
stateIntInst.New=Realised
notifyProduct()
EV11
updateProduct()
M5: Product
M9: NewProduct
Situation
EV7
M7:Execution
ParametersstateImpl.Old=Created
stateImpl.New=Selected
C2
C2: target intention=/= Stop
newProductInstance()
EV2
M1bis:
Start MapInst
newMapInstance()
F1
F1: pour toute sectionInstance retournée par l'algorithme de calcul de candidates
Event-based behavior meta-modeling
6. Research challenges in meta-modeling
55
Behavior meta-modeling
• Other approaches
 KERMETA
For an example, see http://en.wikipedia.org/wiki/Kermeta
6. Research challenges in meta-modeling
56
Behavior meta-modeling
 xMOF (Mayerhofer et al., 2013)
Agenda
57
1. Introductory examples
2. Abstraction levels and the instantiation problem
3. Computerized tools for meta-modeling
4. Illustration
a) A Domain Specific Language (DSL) for IoT v3.0 Framework
b) A DSL to model software development processes
c) A DSL to specify web applications
5. Research challenges
6. Conclusion
57
6. Conclusion
58
• No well established and recognized standard for meta-modeling
• Tool support is complicated
• … OMG's MOF and IBM Eclipse emerge as "market" leaders for UML & Java
• MetaEdit: leader for DSM engineering tools
• Conceptbase: most powerful and theoretically sound modeling language
• Semantics for process meta-models still to be defined
• Beyond DSM, few empirical studies on meta-modeling applications
References
59
Links
• MOF homepage: http://www.omg.org/mof/
• ISO/IEC 24744:2007 (Software Engineering -- Metamodel for Development
Methodologies): http://www.iso.org/iso/catalogue_detail.htm?csnumber=38854
• OPEN (Object-oriented Process, Environment and Notation) :
http://www.open.org.au/
• Metacase: http://www.metacase.com/
• Conceptbase: http://conceptbase.sourceforge.net/
• Kermeta: http://www.kermeta.org
 S. Kelly et J.-P. Tolvanen, Domain-specific modeling:
enabling full code generation. Hoboken, N.J.: Wiley-
Interscience: IEEE Computer Society, 2008.
 C. Gonzalez-Perez et B. Henderson-Sellers,
Metamodelling for software engineering. Wiley
Publishing, 2008.
 Jeusfeld, M., Jarke, M., Mylopoulos, J.: Metamodeling
for method engineering. The MIT Press, (2009).
References
60
 Atkinson, C., Kühne, T., « The Essence of Multilevel Metamodeling », in: Gogolla, M. et
Kobryn, C. (éd.) «UML» 2001 — The Unified Modeling Language. Modeling Languages, Concepts,
and Tools. LNCS, vol.2185, pp. 19-33. Springer, 2001.
 C. Atkinson et T. Kühne, « Model-Driven Development: A Metamodeling Foundation », IEEE
Software, vol. 20, no 5, p. 36–41, 2003.
 C. Gonzalez-Perez et B. Henderson-Sellers, « A powertype-based metamodelling framework
», Software and Systems Modeling, vol. 5, no 1, p. 72-90, 2006.
 F. Jouault, F. Allilaire, J. Bézivin, et I. Kurtev, « ATL: A model transformation tool », Science of
Computer Programming, vol. 72, no 1-2, p. 31-39, 2008.
 A. Gargantini, E. Riccobene, et P. Scandurra, « A semantic framework for metamodel-based
languages », Automated Software Engineering, vol. 16, no 3-4, p. 415-454, 2009.
 M. Jarke, M. Jeusfeld, H. Nissen, C. Quix, et M. Staudt, « Metamodelling with Datalog and
Classes: ConceptBase at the Age of 21 », in Proceedings 2nd Int. Conf. on Object Databases
(ICOODB’09), M. Norrie et M. Grossniklaus, Éd. 2010, p. 95–112.
 J. de Lara et E. Guerra, « Deep Meta-modelling with MetaDepth », in Objects, Models,
Components, Patterns, J. Vitek, Éd. Springer Berlin Heidelberg, 2010, p. 1-20.
 B. Bryant, J. Gray, M. Mernik, P. Clarke, R. France, et G. Karsai, « Challenges and Directions
in Formalizing the Semantics of Modeling Languages », Computer Science and Information
Systems, vol. 8, no 2, p. 225-253, 2011.
References (cont’d)
61
 J. Sprinkle, B. Rumpe, H. Vangheluwe, et G. Karsai, « Metamodelling », in Model-Based
Engineering of Embedded Real-Time Systems, vol. 6100, H. Giese, G. Karsai, E. Lee, B. Rumpe,
et B. Schätz, Éd. Berlin/Heidelberg: Springer, 2011, p. 57-76.
 A. El Kouhen, C. Dumoulin, S. Gerard, et P. Boulet, « Evaluation of Modeling Tools
Adaptation », 2012. Available at http://hal.archives-ouvertes.fr/hal-00706701
 B. Henderson-Sellers, O. Eriksson, C. Gonzalez-Perez, et P. J. Ågerfalk, « Ptolemaic
Metamodelling? The Need for a Paradigm Shift », in Progressions and Innovations in Model-
Driven Software Engineering:, V. G. Díaz, J. M. C. Lovelle, B. C. P. García-Bustelo, et O. S.
Martínez, Éd. IGI Global, 2013, p. 90-146.
 O. Eriksson, B. Henderson-Sellers, et P. J. Ågerfalk, « Ontological and linguistic
metamodelling revisited: A language use approach », Information and Software Technology, vol.
55, no 12, p. 2099-2124, 2013.
 C. Bürger, S. Karol, C. Wende, et U. Aßmann, « Reference Attribute Grammars for
Metamodel Semantics », in Software Language Engineering, vol. 6563, B. Malloy, S. Staab, et M.
van den Brand, Éd. Berlin/Heidelberg: Springer, 2011, p. 22-41.
 T. Mayerhofer, P. Langer, M. Wimmer, et G. Kappel, « xMOF: Executable DSMLs Based on
fUML », in Software Language Engineering (SLE’13), M. Erwig, R. F. Paige, et E. V. Wyk, Éd.
Springer International Publishing, 2013, p. 56-75.
 B. Neumayr, M. A. Jeusfeld, M. Schrefl, et C. Schütz, « Dual Deep Instantiation and Its
ConceptBase Implementation », in Advanced Information Systems Engineering, M. Jarke, J.
Mylopoulos, C. Quix, C. Rolland, Y. Manolopoulos, H. Mouratidis, et J. Horkoff, Éd. Springer
International Publishing, 2014, p. 503-517.
 R. F. Paige, D. S. Kolovos, et F. A. C. Polack, « A tutorial on metamodelling for grammar
researchers », Science of Computer Programming, vol. 96, Part 4, p. 396-416, 2014.
THANK YOU FOR YOUR ATTENTION !
62
Questions? Comments? Insights?
Homepage
http://fr.linkedin.com/pub/sa%C3%AFd-assar/4/68a/66a
http://fr.slideshare.net/SaidAssar/
https://twitter.com/Said_Assar/
http://www-public.it-sudparis.eu/~assar/

Mais conteúdo relacionado

Mais procurados

Rapport PFE ISMAGI SQLI Microsoft
Rapport PFE ISMAGI SQLI MicrosoftRapport PFE ISMAGI SQLI Microsoft
Rapport PFE ISMAGI SQLI MicrosoftOussama BAHLOULI
 
RED HAT OPENSHIFT CONTAINER.pdf
RED HAT OPENSHIFT CONTAINER.pdfRED HAT OPENSHIFT CONTAINER.pdf
RED HAT OPENSHIFT CONTAINER.pdfJhonatanLituma1
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESSOAT
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)safwenbenfredj
 
Rapport de base de données gaci cui
Rapport de base de données gaci cuiRapport de base de données gaci cui
Rapport de base de données gaci cuiIdir Gaci
 
Stock Maintenance System in ooad with uml
Stock Maintenance System in ooad with umlStock Maintenance System in ooad with uml
Stock Maintenance System in ooad with umlSIVAPOORNIMA
 
multi dimensional data model
multi dimensional data modelmulti dimensional data model
multi dimensional data modelmoni sindhu
 
Data Visualization Tools in Python
Data Visualization Tools in PythonData Visualization Tools in Python
Data Visualization Tools in PythonRoman Merkulov
 
Système de recommandations de films
Système de recommandations de filmsSystème de recommandations de films
Système de recommandations de filmsIbn Tofail University
 
Association rule mining
Association rule miningAssociation rule mining
Association rule miningAcad
 
Haute Disponibilité et Tolérance de Panne
Haute Disponibilité et Tolérance de PanneHaute Disponibilité et Tolérance de Panne
Haute Disponibilité et Tolérance de PanneElior Boukhobza
 
La gestion des archives avec Alfresco
La gestion des archives avec AlfrescoLa gestion des archives avec Alfresco
La gestion des archives avec AlfrescoSavoir-faire Linux
 
Desarrollo de Microservicios con Spring Boot.
Desarrollo de Microservicios con Spring Boot.Desarrollo de Microservicios con Spring Boot.
Desarrollo de Microservicios con Spring Boot.Vítor Fernández
 

Mais procurados (20)

Rapport PFE ISMAGI SQLI Microsoft
Rapport PFE ISMAGI SQLI MicrosoftRapport PFE ISMAGI SQLI Microsoft
Rapport PFE ISMAGI SQLI Microsoft
 
RED HAT OPENSHIFT CONTAINER.pdf
RED HAT OPENSHIFT CONTAINER.pdfRED HAT OPENSHIFT CONTAINER.pdf
RED HAT OPENSHIFT CONTAINER.pdf
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
Docker
DockerDocker
Docker
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
 
Rapport de base de données gaci cui
Rapport de base de données gaci cuiRapport de base de données gaci cui
Rapport de base de données gaci cui
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
 
Built in exceptions
Built in exceptions Built in exceptions
Built in exceptions
 
Stock Maintenance System in ooad with uml
Stock Maintenance System in ooad with umlStock Maintenance System in ooad with uml
Stock Maintenance System in ooad with uml
 
Adbms lab manual
Adbms lab manualAdbms lab manual
Adbms lab manual
 
multi dimensional data model
multi dimensional data modelmulti dimensional data model
multi dimensional data model
 
Data mining tasks
Data mining tasksData mining tasks
Data mining tasks
 
Data Visualization Tools in Python
Data Visualization Tools in PythonData Visualization Tools in Python
Data Visualization Tools in Python
 
Système de recommandations de films
Système de recommandations de filmsSystème de recommandations de films
Système de recommandations de films
 
Database security
Database securityDatabase security
Database security
 
Association rule mining
Association rule miningAssociation rule mining
Association rule mining
 
Haute Disponibilité et Tolérance de Panne
Haute Disponibilité et Tolérance de PanneHaute Disponibilité et Tolérance de Panne
Haute Disponibilité et Tolérance de Panne
 
La gestion des archives avec Alfresco
La gestion des archives avec AlfrescoLa gestion des archives avec Alfresco
La gestion des archives avec Alfresco
 
Desarrollo de Microservicios con Spring Boot.
Desarrollo de Microservicios con Spring Boot.Desarrollo de Microservicios con Spring Boot.
Desarrollo de Microservicios con Spring Boot.
 
C# Private assembly
C# Private assemblyC# Private assembly
C# Private assembly
 

Destaque

Using UML for Modeling Procedural Legal Rules
Using UML for Modeling Procedural Legal RulesUsing UML for Modeling Procedural Legal Rules
Using UML for Modeling Procedural Legal RulesLionel Briand
 
Rali cidade de guimaraes targa clube 2013 regulamento 1
Rali cidade de guimaraes   targa clube 2013 regulamento 1Rali cidade de guimaraes   targa clube 2013 regulamento 1
Rali cidade de guimaraes targa clube 2013 regulamento 1James Jesus
 
La importancia de los blogs corporativos
La importancia de los blogs corporativosLa importancia de los blogs corporativos
La importancia de los blogs corporativosLaura Casais
 
Namics Fachtagung Industrie im Web -Online Roadmap
Namics Fachtagung Industrie im Web -Online RoadmapNamics Fachtagung Industrie im Web -Online Roadmap
Namics Fachtagung Industrie im Web -Online RoadmapNamics – A Merkle Company
 
Manage Your Web Presence presentation by ARS Media
Manage Your Web Presence presentation by ARS MediaManage Your Web Presence presentation by ARS Media
Manage Your Web Presence presentation by ARS MediaAlvin Singh II
 
11 steps for better emailing results v5 - blog.digico.fr
11 steps for better emailing results v5 - blog.digico.fr11 steps for better emailing results v5 - blog.digico.fr
11 steps for better emailing results v5 - blog.digico.frFrançois-Yves Prigent
 
Conociendo a mi_maestro
Conociendo a mi_maestroConociendo a mi_maestro
Conociendo a mi_maestroMaryRomero77
 
El setge a Barcelona
El setge a BarcelonaEl setge a Barcelona
El setge a Barcelonallgenesca
 
Total Radiology Conference at Arab Health 2015
Total Radiology Conference at Arab Health 2015Total Radiology Conference at Arab Health 2015
Total Radiology Conference at Arab Health 2015Cheryl Prior
 
Castaño de indias
Castaño de indiasCastaño de indias
Castaño de indiasrumbero2011
 
25 años fraga merco equip 1
25 años fraga  merco equip 125 años fraga  merco equip 1
25 años fraga merco equip 1Miguel Servet
 
RHS 15 article_development and validation of an instrument for anxiety, depre...
RHS 15 article_development and validation of an instrument for anxiety, depre...RHS 15 article_development and validation of an instrument for anxiety, depre...
RHS 15 article_development and validation of an instrument for anxiety, depre...Sasha Verbillis-Kolp
 
The Forrester Wave Enterprise Business Intelligence Platforms, Q3 2008
The Forrester Wave Enterprise Business Intelligence Platforms, Q3 2008The Forrester Wave Enterprise Business Intelligence Platforms, Q3 2008
The Forrester Wave Enterprise Business Intelligence Platforms, Q3 2008Cezar Cursaru
 
How we use SCRUM @ Bluegrass Digital
How we use SCRUM @ Bluegrass DigitalHow we use SCRUM @ Bluegrass Digital
How we use SCRUM @ Bluegrass DigitalBluegrass Digital
 

Destaque (20)

Using UML for Modeling Procedural Legal Rules
Using UML for Modeling Procedural Legal RulesUsing UML for Modeling Procedural Legal Rules
Using UML for Modeling Procedural Legal Rules
 
5
55
5
 
Rali cidade de guimaraes targa clube 2013 regulamento 1
Rali cidade de guimaraes   targa clube 2013 regulamento 1Rali cidade de guimaraes   targa clube 2013 regulamento 1
Rali cidade de guimaraes targa clube 2013 regulamento 1
 
La importancia de los blogs corporativos
La importancia de los blogs corporativosLa importancia de los blogs corporativos
La importancia de los blogs corporativos
 
Namics Fachtagung Industrie im Web -Online Roadmap
Namics Fachtagung Industrie im Web -Online RoadmapNamics Fachtagung Industrie im Web -Online Roadmap
Namics Fachtagung Industrie im Web -Online Roadmap
 
MD: Clase6
MD: Clase6MD: Clase6
MD: Clase6
 
Manage Your Web Presence presentation by ARS Media
Manage Your Web Presence presentation by ARS MediaManage Your Web Presence presentation by ARS Media
Manage Your Web Presence presentation by ARS Media
 
Carpeta Modelle AdeF
Carpeta Modelle AdeFCarpeta Modelle AdeF
Carpeta Modelle AdeF
 
New JYG Res 2016
New JYG Res 2016New JYG Res 2016
New JYG Res 2016
 
11 steps for better emailing results v5 - blog.digico.fr
11 steps for better emailing results v5 - blog.digico.fr11 steps for better emailing results v5 - blog.digico.fr
11 steps for better emailing results v5 - blog.digico.fr
 
Conociendo a mi_maestro
Conociendo a mi_maestroConociendo a mi_maestro
Conociendo a mi_maestro
 
El setge a Barcelona
El setge a BarcelonaEl setge a Barcelona
El setge a Barcelona
 
Dolmen 2009_1
Dolmen 2009_1Dolmen 2009_1
Dolmen 2009_1
 
Total Radiology Conference at Arab Health 2015
Total Radiology Conference at Arab Health 2015Total Radiology Conference at Arab Health 2015
Total Radiology Conference at Arab Health 2015
 
Castaño de indias
Castaño de indiasCastaño de indias
Castaño de indias
 
31demarco2012 oexpresso
31demarco2012 oexpresso31demarco2012 oexpresso
31demarco2012 oexpresso
 
25 años fraga merco equip 1
25 años fraga  merco equip 125 años fraga  merco equip 1
25 años fraga merco equip 1
 
RHS 15 article_development and validation of an instrument for anxiety, depre...
RHS 15 article_development and validation of an instrument for anxiety, depre...RHS 15 article_development and validation of an instrument for anxiety, depre...
RHS 15 article_development and validation of an instrument for anxiety, depre...
 
The Forrester Wave Enterprise Business Intelligence Platforms, Q3 2008
The Forrester Wave Enterprise Business Intelligence Platforms, Q3 2008The Forrester Wave Enterprise Business Intelligence Platforms, Q3 2008
The Forrester Wave Enterprise Business Intelligence Platforms, Q3 2008
 
How we use SCRUM @ Bluegrass Digital
How we use SCRUM @ Bluegrass DigitalHow we use SCRUM @ Bluegrass Digital
How we use SCRUM @ Bluegrass Digital
 

Semelhante a Meta-modeling concepts, tools and applications

Data Science for Internet of Things with Ajit Jaokar
Data Science for Internet of Things with Ajit JaokarData Science for Internet of Things with Ajit Jaokar
Data Science for Internet of Things with Ajit JaokarJessica Willis
 
Concept extraction from the web of things (3)
Concept extraction from the web of things (3)Concept extraction from the web of things (3)
Concept extraction from the web of things (3)Amélie Gyrard
 
90seconds Presentation
90seconds Presentation90seconds Presentation
90seconds Presentationpbihler
 
Reference Knowledge Models for Smart Application
Reference Knowledge Models for Smart ApplicationReference Knowledge Models for Smart Application
Reference Knowledge Models for Smart ApplicationMaxime Lefrançois
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Jordi Cabot
 
ActiVis: Visual Exploration of Industry-Scale Deep Neural Network Models
ActiVis: Visual Exploration of Industry-Scale Deep Neural Network ModelsActiVis: Visual Exploration of Industry-Scale Deep Neural Network Models
ActiVis: Visual Exploration of Industry-Scale Deep Neural Network ModelsMinsuk Kahng
 
Innovation at the Edge_Final
Innovation at the Edge_FinalInnovation at the Edge_Final
Innovation at the Edge_FinalChris Waller
 
Pistoia Alliance US Conference 2015 - 1.1.2 Innovation in Pharma - Chris Waller
Pistoia Alliance US Conference 2015 - 1.1.2 Innovation in Pharma - Chris WallerPistoia Alliance US Conference 2015 - 1.1.2 Innovation in Pharma - Chris Waller
Pistoia Alliance US Conference 2015 - 1.1.2 Innovation in Pharma - Chris WallerPistoia Alliance
 
IoT-Lite: A Lightweight Semantic Model for the Internet of Things
IoT-Lite:  A Lightweight Semantic Model for the Internet of ThingsIoT-Lite:  A Lightweight Semantic Model for the Internet of Things
IoT-Lite: A Lightweight Semantic Model for the Internet of ThingsPayamBarnaghi
 
Implementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoCImplementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoCjimfuller2009
 
Multidimensional Patterns of Disturbance in Digital Social Networks
Multidimensional Patterns of Disturbance in Digital Social NetworksMultidimensional Patterns of Disturbance in Digital Social Networks
Multidimensional Patterns of Disturbance in Digital Social NetworksDimitar Denev
 
Semantic technologies at work - 2007
Semantic technologies at work - 2007Semantic technologies at work - 2007
Semantic technologies at work - 2007Yannis Kalfoglou
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Hugo Bruneliere
 
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...Wim Laurier
 
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...Wim Laurier
 
inLab FIB & Industry 4.0
inLab FIB & Industry 4.0inLab FIB & Industry 4.0
inLab FIB & Industry 4.0inLabFIB
 

Semelhante a Meta-modeling concepts, tools and applications (20)

Data Science for Internet of Things with Ajit Jaokar
Data Science for Internet of Things with Ajit JaokarData Science for Internet of Things with Ajit Jaokar
Data Science for Internet of Things with Ajit Jaokar
 
Ajit jaokar slides
Ajit jaokar slidesAjit jaokar slides
Ajit jaokar slides
 
Concept extraction from the web of things (3)
Concept extraction from the web of things (3)Concept extraction from the web of things (3)
Concept extraction from the web of things (3)
 
Sheldon challenge
Sheldon challengeSheldon challenge
Sheldon challenge
 
90seconds Presentation
90seconds Presentation90seconds Presentation
90seconds Presentation
 
Reference Knowledge Models for Smart Application
Reference Knowledge Models for Smart ApplicationReference Knowledge Models for Smart Application
Reference Knowledge Models for Smart Application
 
TESTING
TESTINGTESTING
TESTING
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
 
ActiVis: Visual Exploration of Industry-Scale Deep Neural Network Models
ActiVis: Visual Exploration of Industry-Scale Deep Neural Network ModelsActiVis: Visual Exploration of Industry-Scale Deep Neural Network Models
ActiVis: Visual Exploration of Industry-Scale Deep Neural Network Models
 
Innovation at the Edge_Final
Innovation at the Edge_FinalInnovation at the Edge_Final
Innovation at the Edge_Final
 
Pistoia Alliance US Conference 2015 - 1.1.2 Innovation in Pharma - Chris Waller
Pistoia Alliance US Conference 2015 - 1.1.2 Innovation in Pharma - Chris WallerPistoia Alliance US Conference 2015 - 1.1.2 Innovation in Pharma - Chris Waller
Pistoia Alliance US Conference 2015 - 1.1.2 Innovation in Pharma - Chris Waller
 
IoT-Lite: A Lightweight Semantic Model for the Internet of Things
IoT-Lite:  A Lightweight Semantic Model for the Internet of ThingsIoT-Lite:  A Lightweight Semantic Model for the Internet of Things
IoT-Lite: A Lightweight Semantic Model for the Internet of Things
 
Implementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoCImplementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoC
 
Multidimensional Patterns of Disturbance in Digital Social Networks
Multidimensional Patterns of Disturbance in Digital Social NetworksMultidimensional Patterns of Disturbance in Digital Social Networks
Multidimensional Patterns of Disturbance in Digital Social Networks
 
Semantic technologies at work - 2007
Semantic technologies at work - 2007Semantic technologies at work - 2007
Semantic technologies at work - 2007
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
 
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...
 
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...
Thought Leadership Session: Enterprise Semantics & Ontology, The Power of Und...
 
inLab FIB & Industry 4.0
inLab FIB & Industry 4.0inLab FIB & Industry 4.0
inLab FIB & Industry 4.0
 
Ase02 dmp.ppt
Ase02 dmp.pptAse02 dmp.ppt
Ase02 dmp.ppt
 

Mais de Saïd Assar

De l’automatisation des tâches à la transformation numérique : un regard rétr...
De l’automatisation des tâches à la transformation numérique : un regard rétr...De l’automatisation des tâches à la transformation numérique : un regard rétr...
De l’automatisation des tâches à la transformation numérique : un regard rétr...Saïd Assar
 
Applied science and applicability of science : some reflexions
Applied science and applicability of science : some reflexionsApplied science and applicability of science : some reflexions
Applied science and applicability of science : some reflexionsSaïd Assar
 
Towards a Visual Modeling Approach to Manage the Impact of Digital Transforma...
Towards a Visual Modeling Approach to Manage the Impact of Digital Transforma...Towards a Visual Modeling Approach to Manage the Impact of Digital Transforma...
Towards a Visual Modeling Approach to Manage the Impact of Digital Transforma...Saïd Assar
 
Experimenting multiple approaches for teaching meta-modeling
Experimenting multiple approaches for teaching meta-modelingExperimenting multiple approaches for teaching meta-modeling
Experimenting multiple approaches for teaching meta-modelingSaïd Assar
 
Contributions to the multidisciplinarity of computer science and IS
Contributions to the multidisciplinarity of computer science and ISContributions to the multidisciplinarity of computer science and IS
Contributions to the multidisciplinarity of computer science and ISSaïd Assar
 
Model Driven Requirements Engineering: Mapping the Field and Beyond
Model Driven Requirements Engineering: Mapping the Field and BeyondModel Driven Requirements Engineering: Mapping the Field and Beyond
Model Driven Requirements Engineering: Mapping the Field and BeyondSaïd Assar
 
Web 2.0 dans les organisations: usages et adoption
Web 2.0 dans les organisations: usages et adoptionWeb 2.0 dans les organisations: usages et adoption
Web 2.0 dans les organisations: usages et adoptionSaïd Assar
 
Pour une revue rigoureuse et systématique de la littérature en MIS : étude co...
Pour une revue rigoureuse et systématique de la littérature en MIS : étude co...Pour une revue rigoureuse et systématique de la littérature en MIS : étude co...
Pour une revue rigoureuse et systématique de la littérature en MIS : étude co...Saïd Assar
 
Modeling and meta-modeling presentation at LTH, Sweden
Modeling and meta-modeling presentation at LTH, Sweden Modeling and meta-modeling presentation at LTH, Sweden
Modeling and meta-modeling presentation at LTH, Sweden Saïd Assar
 

Mais de Saïd Assar (9)

De l’automatisation des tâches à la transformation numérique : un regard rétr...
De l’automatisation des tâches à la transformation numérique : un regard rétr...De l’automatisation des tâches à la transformation numérique : un regard rétr...
De l’automatisation des tâches à la transformation numérique : un regard rétr...
 
Applied science and applicability of science : some reflexions
Applied science and applicability of science : some reflexionsApplied science and applicability of science : some reflexions
Applied science and applicability of science : some reflexions
 
Towards a Visual Modeling Approach to Manage the Impact of Digital Transforma...
Towards a Visual Modeling Approach to Manage the Impact of Digital Transforma...Towards a Visual Modeling Approach to Manage the Impact of Digital Transforma...
Towards a Visual Modeling Approach to Manage the Impact of Digital Transforma...
 
Experimenting multiple approaches for teaching meta-modeling
Experimenting multiple approaches for teaching meta-modelingExperimenting multiple approaches for teaching meta-modeling
Experimenting multiple approaches for teaching meta-modeling
 
Contributions to the multidisciplinarity of computer science and IS
Contributions to the multidisciplinarity of computer science and ISContributions to the multidisciplinarity of computer science and IS
Contributions to the multidisciplinarity of computer science and IS
 
Model Driven Requirements Engineering: Mapping the Field and Beyond
Model Driven Requirements Engineering: Mapping the Field and BeyondModel Driven Requirements Engineering: Mapping the Field and Beyond
Model Driven Requirements Engineering: Mapping the Field and Beyond
 
Web 2.0 dans les organisations: usages et adoption
Web 2.0 dans les organisations: usages et adoptionWeb 2.0 dans les organisations: usages et adoption
Web 2.0 dans les organisations: usages et adoption
 
Pour une revue rigoureuse et systématique de la littérature en MIS : étude co...
Pour une revue rigoureuse et systématique de la littérature en MIS : étude co...Pour une revue rigoureuse et systématique de la littérature en MIS : étude co...
Pour une revue rigoureuse et systématique de la littérature en MIS : étude co...
 
Modeling and meta-modeling presentation at LTH, Sweden
Modeling and meta-modeling presentation at LTH, Sweden Modeling and meta-modeling presentation at LTH, Sweden
Modeling and meta-modeling presentation at LTH, Sweden
 

Último

Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxJanEmmanBrigoli
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 

Último (20)

Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 

Meta-modeling concepts, tools and applications

  • 1. Meta-modeling: concepts, tools and applications https://dl.dropboxusercontent.com/u/6656530/tutorial_rcis2015.html (1) Associate Professor Telecom Ecole de Management, Department of Information Systems Evry, France (2) Invited Researcher Centre de Recherche en Informatique, University of Paris 1 La Sorbonne France Saïd Assar 1,2
  • 2. 1. Introduction & background (cont'd) 2 Telecom Sud Paris 2 • INSTITUT MINES - TELECOM: 4 leading schools in engineering and management Telecom Paris Telecom Bretagne Telecom Ecole de Management
  • 3. 1. Introduction & background (cont'd) 33  Since 1999, long-term research collaboration with CRI at Paris 1 Sorbonne
  • 4. Learning objectives  To understand what is a meta-model, its historical background, when it is needed and how it can be defined and exploited.  To witness and participate in building concrete meta- models and exploiting them using existing meta-modeling technical infrastructures  To be aware of problems and challenges in meta- modeling and the actual state-of-the-art regarding these issues. 4
  • 5. Agenda 5 1. Introductory examples 2. Abstraction levels and the instantiation problem 3. Computerized tools for meta-modeling 4. Illustration a) A Domain Specific Language (DSL) for IoT v3.0 Framework b) A DSL to model software development processes c) A DSL to specify web applications 5. Research challenges 6. Conclusion 5
  • 6. 1. Introductory examples – what is a model ? 6 "A model (M) for a system (S) and an observer (O) is any kind of representation which can help O in answering questions and reasoning about S“  It is an abstraction, a reduction of reality to its most relevant aspects  It is the result (i.e. the product) of some specific process  It is built using some kind of notation (formal and/or graphical)  Descriptive vs. prescriptive models  Models are artifacts, i.e. they can also be modeled Observer
  • 7. 1. Introductory examples – what is a meta-model ? 7 Source: Hanns-Alexander Dietrich, Exercice 1 Meta-modelling, European Research Center for Information Systems, Information Modelling Summer Term 2012. Let’s consider this very simple process model with two concepts (event, function) and one link among concepts (event – function)
  • 8. 1. Introductory examples – what is a meta-model ? 8 Source: Hanns-Alexander Dietrich, Exercice 1 Meta-modelling, European Research Center for Information Systems, Information Modelling Summer Term 2012. A meta-model would be a textual, graphical, and/or formal representation of the concepts and how they are linked InstanceOf Questions  How to represent a meta-model?  How can a MM be leveraged in IS engineering?
  • 9. 1. Introductory examples – generic models (1) GR model GB model RUS model IND model IRAN model Québec model New York model TR model Suppose a trans-national car tracking system  interoperability issue  system evolution issue Car plate model IsA 9  Are all these plates special cases of a car plate model?
  • 10. 1. Introductory examples – generic models GR model GB model RUS model IND model IRAN model Québec model New York model TR modelVehicle identification model InstanceOf  Or is there a generic vehicle ID model from which these models - and may be others - can be derived? Interactive question: In terms of system evolution, these two modeling solutions are similar or very different? 10
  • 11. 1. Introductory examples – generic models 11 In terms of system evolution, these two modeling solutions are similar or very different? InstanceOf IsA InstanceOf InstanceOfWhat about the country code, how to model it?
  • 12. 1. Introductory examples – generic models (2) 12 Method M1 for simple projects Method M2 for large projects Agile method M3 for risky projects S1 S2 S3 SN … L1 L2 L3 LM … G1 G2 G3 GK … General method IsA ? General method structure InstanceOf ? For a software development company with different methods  evolution issue  enactment issue
  • 13. 1. Introductory examples – IoT framework In the field of Internet of Things (IoT), a large set of heterogeneous objects are expected to interact and be part of a huge information network …  Is it possible to have a general model for all interacting objects? 13
  • 14. 1. Introductory examples – IoT framework Source http://www.iot-a.eu/public/public-documents/d1.5/at_download/file 14 A reference model of IoT is proposed by an FP7 project …  What this model is helpful for?  Is it possible to provide computerized support for using this model?
  • 15. 1. Introductory examples – language definition 15 Language syntax definition (a toy language) <postal-address> ::= <name-part> <street-address> <zip-part> <name-part> ::= <personal-part> <last-name> <opt-suffix-part> <EOL> |<personal-part> <name-part> <personal-part> ::= <first-name> | <initial> "." <street-address> ::= <house-num> <street-name> <opt-apt-num> <EOL> <zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL> <opt-suffix-part> ::= "Sr." | "Jr." | <roman-numeral> | "" <last-name> ::= [A-Z|a-z] <first-name> ::= [A-Z|a-z] personal-part first-name first-name-part initial initial-part last-name suffix-part house-num street-num Town-name state-code ZIP-code component-p postal-address 1,N 1,1 street-address-part Zip-part opt-apt-num
  • 16. Agenda 16 1. Introductory examples 2. Abstraction levels and the instantiation problem 3. Computerized tools for meta-modeling 4. Illustration a) A Domain Specific Language (DSL) for IoT v3.0 Framework b) A DSL to model software development processes c) A DSL to specify web applications 5. Research challenges 6. Conclusion 16
  • 17. 2. Abstraction levels – instanciation vs. generalisation 17 Object CLASS CLASS : a structure, a pattern Object: identifier, values • Attribute1 • Attribute2 • … • "Value1" • "Value2" • … CLASS B • Attribute b1 • Attribute b2 • … CLASS A • Attribute a1 • Attribute a2 • … InstanceOf IsA
  • 18. 2. Abstraction levels – the meta-modeling language issue 18 A meta-model is described using a meta-modeling language How to describe the meta-modeling language … a circular issue.
  • 19. 2. Abstraction levels – instantiation levels • Meta-modeling framework by OMG : Meta Object Facility (MOF) => Strict instanciation 19
  • 20. 2. Abstraction levels – instantiation levels 20 • Instantiation levels in th Meta Object Facility (MOF) by OMG Source: OMG
  • 21. 2. Abstraction levels – the “Powertype” approach 21 Cointe, Pierre: Metaclasses are first class: The ObjVlisp Model. SIGPLAN Notices. 22(12), 156–162 (1987).  One of the earliest work on these issues is by P. Cointe in 1987 Where does meta-modeling come from? • Artificial intelligence (i.e. frame concept, Smalltalk, ObjVLisp) • Databases (i.e. meta-database) • Object oriented modeling (i.e. Classes are objects too => MetaClasses) How to simultaneously create a generalization link AND an instantiation link How to a define attributes to Classes How to cross the strict instantiation levels
  • 22. 2. Abstraction levels – the “Powertype” approach 22 How to simultaneously create a generalization link AND an instantiation link How to a define attributes to Classes How to cross the strict instantiation levels Pet PetName DateOfBirth Owner AnimalSpecies SpecieName AvgLifeSpan Vaccinations Diet 1 0..* "Cat specie" 8 "Triple", "Leukaemia" "Fish" "Valentina" 8-sep-2008 "César" Illustration (Source: Gonzalez-Perez & Henderson-Sellers, Metamodelling for software engineering, p.38) How to model species-specific characteristics, e.g. Breed ?
  • 23. 2. Abstraction levels – the “Powertype” approach 23 Pet PetName DateOfBirth Owner CatSpecie Breed "Valentina" 8-sep-2008 "César" Illustration (Source: Gonzalez-Perez & Henderson-Sellers, Metamodelling for software engineering, p.39) Using specialization link to model species-specific characteristics
  • 24. 2. Abstraction levels – the “Powertype” approach 24 Pet PetName DateOfBirth Owner AnimalSpecies SpecieName AvgLifeSpan Vaccinations Diet 1 0..* "Cat specie" 8 "Triple", "Leukaemia" "Fish" "Valentina" 8-sep-2008 "César" "Siamese" CatSpecie Breed Illustration (Source: Gonzalez-Perez & Henderson-Sellers, Metamodelling for software engineering, p.39) Specific representation Class + Object
  • 25. 2. Abstraction levels – the “Powertype” approach 25 Pet PetName DateOfBirth Owner AnimalSpecies SpecieName AvgLifeSpan Vaccinations Diet "Cat specie" 8 "Triple", "Leukaemia" "Fish" "Valentina" 8-sep-2008 "César" "Siamese" CatSpecie Breed Illustration (Source: Gonzalez-Perez & Henderson-Sellers, Metamodelling for software engineering, p.40) PowerType and Clabject Clabject Powertype
  • 26. 2. Abstraction levels – the “Powertype” approach 26 Task Start End Duration Task Kind TaskName Purpose MinCapLevel "Code writing" "To write code …" 1 "12-sep-07" "18-sep-07" 7d "C#" CodeWritingTask ProgLanguage Illustration (Source: Gonzalez-Perez & Henderson-Sellers, Metamodelling for software engineering, p.41) PowerType and Clabject for method engineering Clabject Powertype
  • 27. 2. Abstraction levels – deep instantiation • Proposal: – Add an indicator (potency) of the abstraction level at which the attribute is to be instantiated Task + TaskCategory1 + TaskDuration0 CodeWritingTask TaskCategory: Coding T1 + TaskDuration:10d instance instance 27
  • 28. Agenda 28 1. Introductory examples 2. Abstraction levels and the instantiation problem 3. Computerized tools for meta-modeling 4. Illustration a) A Domain Specific Language (DSL) for IoT v3.0 Framework b) A DSL to model software development processes c) A DSL to specify web applications 5. Research challenges 6. Conclusion 28
  • 29. 3. Computerized tools for meta-modeling 29 (1) (2) (3) Focus on 3 meta-modeling tools :
  • 30. 3. Computerized tools for meta-modeling 30 Other meta-modeling tools : ADOxx Meta Modelling Platform (http://www.adoxx.org/live/home) (4) (5) (6) JastAdd (http://jastadd.org) and JastEMF (https://code.google.com/a/eclipselabs.org/p/jastemf/) for language engineering (http://astreo.ii.uam.es/~jlara/metaDepth/)
  • 31. 3. Computerized tools for meta-modeling 31 Source http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/package-summary.html ECORE meta-modeling framework (MOF based)
  • 32. 3. Computerized tools for meta-modeling 32 Source http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/package-summary.html ECORE meta-modeling framework (MOF based)
  • 33. 3. Computerized tools for meta-modeling 33 MetaEdit (1) • A meta-CASE tool for automatic customization of CASE tools • Result of research project at Jyväskyla (K. Lyytinen, M. Rossi, S. Kelly et al. - 1990') • Actually commercialized by MetaCASE • Targeted towards Domain Specific Modeling Meta-model definition Model definition Generate (Executable) code
  • 34. 3. Computerized tools for meta-modeling 34 MetaEdit (2) • Meta-modeling language: GOPRR • Graph • Object • Property • Relationship • Role
  • 35. 3. Computerized tools for meta-modeling 35 MetaEdit (3) • Meta-editing functionalities
  • 36. 3. Computerized tools for meta-modeling 36 MetaEdit (4) • Customized editor
  • 37. 3. Computerized tools for meta-modeling 37 MetaEdit (5) • MERL: A scripting language for generating code (i.e. flow of characters)
  • 38. 3. Computerized tools for meta-modeling 38 MetaEdit (6) • Example in MERL for generating SQL code from E/R schema
  • 39. 3. Computerized tools for meta-modeling 39 Conceptbase (1) • A deductive database supporting object-centered TELOS modeling language • Result from research project DAIDA (J. Mylopoulos, M. Jarke et al. - 1990') • Continued as an open source project (M. A. Jeusfled) • Targeted towards Model Engineering TELOS modeling language • Any element (class, object, attribute, link, constraint … ) is internally represented as a predicate in a deductive DB • Attributes are first order objects i.e. they can have properties • Attributes correspond to links between two elements • Any object can be instantiated  Multiple instantiation ('Paul' in 'Employee' and 'Paul' in 'Student')  Multiple levels of instantiation  Multiple Generalisation/Specialisation (i.e. heritage)  Generalisation/Specialisation can co-exist with instantiation
  • 40. 3. Computerized tools for meta-modeling 40 Conceptbase (2) • Model llustration Person in Class with attribute ID: Integer; name:String end Client isA Person with attribute reduction:Real end Employee isA Person with attribute function: String end Student isA Person with attribute age:Integer end
  • 41. 3. Computerized tools for meta-modeling 41 Conceptbase (3) • Multiple instantiation illustration John in Student, Employee, Client with ID id_john: 44555 name name_j: "John Legrand" reduction r1: 30.0 function f1: "Sale manager" age age1: 24 end Client with constraint reduction_OK: $ forall c/Client x/Real (c reduction x) ==> (x>=5.0) $ end QueryClass AllPeople isA Person with constraint Allpeople_c: $ exists s/String (this nom s) $ end
  • 42. 3. Computerized tools for meta-modeling 42 AnimalSpecies in Class, MetaClass with attribute SpecieName: String; AvgLifeSpan: Integer; Vaccinations: String; Diet: String end Pet in Class, MetaClass with attribute PetName: String; PetDateOfBirth: String; PetOwner: String end CatSpecie in AnimalSpecies, Class with attribute Breed: String SpecieName sn: "Cat specie" AvgLifeSpan als: 8 Vaccinations v1: "Triple"; v2: "Leukaemia" Diet d1: "Fish“ end MyCat in CatSpecie, Pet with Breed MyCatBreed:"Siamese" PetName p1: "Valentina" PetDateOfBirth d1: "08-Sep-2008" PetOwner pow: "César“ end Conceptbase (3) • Implementing Class attributes and the “PowerType” concept
  • 43. 3. Computerized tools for meta-modeling 43 Conceptbase (3) • Implementing Class attributes and the “PowerType” concept
  • 44. Agenda 44 1. Introductory examples 2. Abstraction levels and the instantiation problem 3. Computerized tools for meta-modeling 4. Illustration a) A Domain Specific Language (DSL) for IoT v3.0 Framework b) A DSL to model software development processes c) A DSL to specify web applications 5. Research challenges 6. Conclusion 44
  • 45. 4. Meta-modeling illustration examples 45 The IoT ARM is exemplified with a use-case scene : A load carrier is equipped with sensors and can communicate with other devices in terms of wireless radio technology. With this hardware, every load carrier continuously measures its environmental parameters and sends all measurements via the embedded event service to the mobile phone of the truck driver. Source : http://www.iot-a.eu/public/public-documents/d1.5/at_download/file Exercise 1 : Internet of Things framework
  • 46. 4. Meta-modeling illustration examples 46 “For example, Ted is a truck driver transporting highly sensitive orchids to a retail store. After loading the orchids on his truck, he attaches an array of sensors to the load carriers in order to measure the temperature. While having lunch, Ted forgot that by turning of the engine, air condition for the transported goods highly sensitive orchids - shuts off, too. The temperature inside the truck starts rising and when it reaches a predefined critical level inside, one of its sensors notices this and its node sends an emergency signal to Ted's IoT-Phone. On the IoT-Phone's display, Ted can now see that the orchids are in danger so he rushes back to the vehicle and turns the air condition on. The IoT-Phone also keeps track of any alert messages it receives from the load carriers and saves this message history for future inspection in a way that cannot be altered. When the truck reaches the retail store for delivery, the sensor history is transferred to the store’s enterprise system and the sensors authenticate themselves as being un-tampered.” Exercise 1 : Internet of Things framework Source : http://www.iot-a.eu/public/public-documents/d1.5/at_download/file How to model this system using the IoT framework ?
  • 47. 4. Meta-modeling illustration examples 47 Exercise 2: Method engineering The design and development team in a company has defined a set of engineering methods according to the nature of projects. Among others, and in the case of small size projects (number of end-users <= 10, number of data tables <= 15, number of business process <=5), they have defined the following simple method: “The Requirements Engineering team (1 or 2 engineers) uses administrative documents and conduct interviews with end-users to elicit general requirements, i.e a natural language description of the required system (including NF requirements), and process definitions represented as BMPN diagrams. The design team (2 to 4 engineers) uses the process models together with the general description to sketch a system architecture, i.e. an UML class diagram, use case diagrams and sequence diagrams. The development team (3 to 5 developers) build the system according to the BPMN models and the system architecture, and deliver an operational implementation composed of Java code for web services, a relational database and a workflow script. The test team (2 to 3 persons) verify the quality of the system using a set of test cases they have designed and in accordance with the NF requirements”. How such method can be modeled using a subset of SPEM and the MetaEdit+ workbench?
  • 48. 4. Meta-modeling illustration examples 48 Exercise 3: Web questionnaires [Source : LWC2014 - Language Workbenches Comparison, http://www.languageworkbenches.net/] Forms-based software for data collection has found application in various areas, including scientific surveys, online course-ware and guidance material to support the auditing process. As an overall term for this kind of software applications we use the term "questionnaire". In this exercise, the goal is to create a simple DSL, called QL, for describing questionnaires. Such questionnaires are composed of sequential forms, each form is characterized by conditional entry fields and (spreadsheet-like) dependency-directed computation. The following example presents a possible textual representation of a simple questionnaire with only one form : questionnaire HouseOwning form Box1HouseOwning { hasSoldHouse: “Did you sell a house in 2010?” Boolean hasBoughtHouse: “Did you by a house in 2010?” Boolean hasMaintLoan: “Did you enter a loan for maintenance/reconstruction?” Boolean if (hasSoldHouse) { sellingPrice: “Price the house was sold for:” money privateDebt: “Private debts for the sold house:” money valueResidue: “Value residue:” money(sellingPrice - privateDebt) } }
  • 49. 4. Meta-modeling illustration examples 49 This simple form should generate into a GUI which allows the following user interaction: Exercise 3: Web questionnaires [Source : LWC2014 - Language Workbenches Comparison, http://www.languageworkbenches.net/] How such language can be designed and implemented ?
  • 50. Agenda 50 1. Introductory examples 2. Abstraction levels and the instantiation problem 3. Computerized tools for meta-modeling 4. Illustration a) A Domain Specific Language (DSL) for IoT v3.0 Framework b) A DSL to model software development processes c) A DSL to specify web applications 5. Research challenges 6. Conclusion 50
  • 51. 6. Research challenges in meta-modeling 51 Behavior meta-modeling • Behavior perspectives are generally missing in software engineering meta-models  Important knowledge about modeling languages is lacking  Essential for tools designers and method engineers  For a process modeling language, "behavior" perspective inquire on its executable/operational semantics
  • 52. 6. Research challenges – behavior modeling 52 Research goal • How to express the operational semantics for a modeling language? • How to design and build enactment engines for a given modeling language?  Maintainability and portability are central issues [Source :T. Mayerhofer et al., “xMOF: Executable DSMLs Based on fUML”, SLE’2013 ]
  • 53. 6. Research challenges – behavior modeling 53 Behavior meta-modeling • Context : MAP process modeling notation Example
  • 54. 6. Research challenges – behavior modeling 54 stopMapEnact() selectCandidateSection() stateMapInst.Old=Selected stateMapInst.New=Running M1: Start Map Execution notifyEndSection() SectionInstance Product Instance SendCandidateSections() EV4 EV5 EV9 MapActor M2:Liste of candidates M4:End of Section Execution compute Candidate Sections() IntentionInstance Section Application Executor updateIntention() updateExecSection() notifyEndExec() invokeExec() EV1 M3: Choice C1: target intention= Stop C1 MapInstance startMapEnact() stateMapInst.Old=Running stateMapInst.New=Enacted notifyEndMapEnact() M6:Stop stateSecInst.Old=Candidate statSecInst.New=Selected M8:Execution status computeCandidateSections() stateSecInst.Old=Created stateSecInst.New=Candidate stateSecInst.Old=Selected stateSecInst.New=Executed EV3 EV6 EV8 EV12 Product Manager ImplemExe SectionInstance invokeExec() notifyEndExec() EV5 EV10 stateIntInst.Old=Created stateIntInst.New=Realised notifyProduct() EV11 updateProduct() M5: Product M9: NewProduct Situation EV7 M7:Execution ParametersstateImpl.Old=Created stateImpl.New=Selected C2 C2: target intention=/= Stop newProductInstance() EV2 M1bis: Start MapInst newMapInstance() F1 F1: pour toute sectionInstance retournée par l'algorithme de calcul de candidates Event-based behavior meta-modeling
  • 55. 6. Research challenges in meta-modeling 55 Behavior meta-modeling • Other approaches  KERMETA For an example, see http://en.wikipedia.org/wiki/Kermeta
  • 56. 6. Research challenges in meta-modeling 56 Behavior meta-modeling  xMOF (Mayerhofer et al., 2013)
  • 57. Agenda 57 1. Introductory examples 2. Abstraction levels and the instantiation problem 3. Computerized tools for meta-modeling 4. Illustration a) A Domain Specific Language (DSL) for IoT v3.0 Framework b) A DSL to model software development processes c) A DSL to specify web applications 5. Research challenges 6. Conclusion 57
  • 58. 6. Conclusion 58 • No well established and recognized standard for meta-modeling • Tool support is complicated • … OMG's MOF and IBM Eclipse emerge as "market" leaders for UML & Java • MetaEdit: leader for DSM engineering tools • Conceptbase: most powerful and theoretically sound modeling language • Semantics for process meta-models still to be defined • Beyond DSM, few empirical studies on meta-modeling applications
  • 59. References 59 Links • MOF homepage: http://www.omg.org/mof/ • ISO/IEC 24744:2007 (Software Engineering -- Metamodel for Development Methodologies): http://www.iso.org/iso/catalogue_detail.htm?csnumber=38854 • OPEN (Object-oriented Process, Environment and Notation) : http://www.open.org.au/ • Metacase: http://www.metacase.com/ • Conceptbase: http://conceptbase.sourceforge.net/ • Kermeta: http://www.kermeta.org  S. Kelly et J.-P. Tolvanen, Domain-specific modeling: enabling full code generation. Hoboken, N.J.: Wiley- Interscience: IEEE Computer Society, 2008.  C. Gonzalez-Perez et B. Henderson-Sellers, Metamodelling for software engineering. Wiley Publishing, 2008.  Jeusfeld, M., Jarke, M., Mylopoulos, J.: Metamodeling for method engineering. The MIT Press, (2009).
  • 60. References 60  Atkinson, C., Kühne, T., « The Essence of Multilevel Metamodeling », in: Gogolla, M. et Kobryn, C. (éd.) «UML» 2001 — The Unified Modeling Language. Modeling Languages, Concepts, and Tools. LNCS, vol.2185, pp. 19-33. Springer, 2001.  C. Atkinson et T. Kühne, « Model-Driven Development: A Metamodeling Foundation », IEEE Software, vol. 20, no 5, p. 36–41, 2003.  C. Gonzalez-Perez et B. Henderson-Sellers, « A powertype-based metamodelling framework », Software and Systems Modeling, vol. 5, no 1, p. 72-90, 2006.  F. Jouault, F. Allilaire, J. Bézivin, et I. Kurtev, « ATL: A model transformation tool », Science of Computer Programming, vol. 72, no 1-2, p. 31-39, 2008.  A. Gargantini, E. Riccobene, et P. Scandurra, « A semantic framework for metamodel-based languages », Automated Software Engineering, vol. 16, no 3-4, p. 415-454, 2009.  M. Jarke, M. Jeusfeld, H. Nissen, C. Quix, et M. Staudt, « Metamodelling with Datalog and Classes: ConceptBase at the Age of 21 », in Proceedings 2nd Int. Conf. on Object Databases (ICOODB’09), M. Norrie et M. Grossniklaus, Éd. 2010, p. 95–112.  J. de Lara et E. Guerra, « Deep Meta-modelling with MetaDepth », in Objects, Models, Components, Patterns, J. Vitek, Éd. Springer Berlin Heidelberg, 2010, p. 1-20.  B. Bryant, J. Gray, M. Mernik, P. Clarke, R. France, et G. Karsai, « Challenges and Directions in Formalizing the Semantics of Modeling Languages », Computer Science and Information Systems, vol. 8, no 2, p. 225-253, 2011.
  • 61. References (cont’d) 61  J. Sprinkle, B. Rumpe, H. Vangheluwe, et G. Karsai, « Metamodelling », in Model-Based Engineering of Embedded Real-Time Systems, vol. 6100, H. Giese, G. Karsai, E. Lee, B. Rumpe, et B. Schätz, Éd. Berlin/Heidelberg: Springer, 2011, p. 57-76.  A. El Kouhen, C. Dumoulin, S. Gerard, et P. Boulet, « Evaluation of Modeling Tools Adaptation », 2012. Available at http://hal.archives-ouvertes.fr/hal-00706701  B. Henderson-Sellers, O. Eriksson, C. Gonzalez-Perez, et P. J. Ågerfalk, « Ptolemaic Metamodelling? The Need for a Paradigm Shift », in Progressions and Innovations in Model- Driven Software Engineering:, V. G. Díaz, J. M. C. Lovelle, B. C. P. García-Bustelo, et O. S. Martínez, Éd. IGI Global, 2013, p. 90-146.  O. Eriksson, B. Henderson-Sellers, et P. J. Ågerfalk, « Ontological and linguistic metamodelling revisited: A language use approach », Information and Software Technology, vol. 55, no 12, p. 2099-2124, 2013.  C. Bürger, S. Karol, C. Wende, et U. Aßmann, « Reference Attribute Grammars for Metamodel Semantics », in Software Language Engineering, vol. 6563, B. Malloy, S. Staab, et M. van den Brand, Éd. Berlin/Heidelberg: Springer, 2011, p. 22-41.  T. Mayerhofer, P. Langer, M. Wimmer, et G. Kappel, « xMOF: Executable DSMLs Based on fUML », in Software Language Engineering (SLE’13), M. Erwig, R. F. Paige, et E. V. Wyk, Éd. Springer International Publishing, 2013, p. 56-75.  B. Neumayr, M. A. Jeusfeld, M. Schrefl, et C. Schütz, « Dual Deep Instantiation and Its ConceptBase Implementation », in Advanced Information Systems Engineering, M. Jarke, J. Mylopoulos, C. Quix, C. Rolland, Y. Manolopoulos, H. Mouratidis, et J. Horkoff, Éd. Springer International Publishing, 2014, p. 503-517.  R. F. Paige, D. S. Kolovos, et F. A. C. Polack, « A tutorial on metamodelling for grammar researchers », Science of Computer Programming, vol. 96, Part 4, p. 396-416, 2014.
  • 62. THANK YOU FOR YOUR ATTENTION ! 62 Questions? Comments? Insights? Homepage http://fr.linkedin.com/pub/sa%C3%AFd-assar/4/68a/66a http://fr.slideshare.net/SaidAssar/ https://twitter.com/Said_Assar/ http://www-public.it-sudparis.eu/~assar/