MDA_0507Notes
-
Upload
bacha-hunde -
Category
Documents
-
view
214 -
download
0
Transcript of MDA_0507Notes
-
8/4/2019 MDA_0507Notes
1/26
Agent-Oriented Software Engineering Model Transformations
1
Example 3: Metamodel for Jack agents
Example #3: Metamodel for BDI agents.
-
8/4/2019 MDA_0507Notes
2/26
Agent-Oriented Software Engineering Model Transformations
2
Partial view of JACK metamodel
In the design of a multiagent systems (MAS) we can distinguish models thatdescribe the entities at the MAS level and models that describe the internal
structure and/or the behaviour of individual agents. At the MAS we find conceptslike teams, agents, roles, events, and plans. At the level of individual agents we
find the same concepts again (note that teams can be viewed as individualagents and vice versa), where events and plans are described in much moredetail, and additional concepts like capabilities and belief data. The figuredisplays the metamodel for BDI agents in JDE when the system is used in themore general team mode. Teams are formed by groups of agents but may alsoconsist of only a single agent. The metamodel explains how the basic conceptsrelate to each other.
-
8/4/2019 MDA_0507Notes
3/26
Agent-Oriented Software Engineering Model Transformations
3
Foundations of model mappings andtransformations
Foundations of model mappings and transformations.
-
8/4/2019 MDA_0507Notes
4/26
Agent-Oriented Software Engineering Model Transformations
4
Model mapping & transformation
Definition: A model transformation is a mapping of a setof models onto another set of models or ontothemselves, where a mapping defines correspondencesbetween elements in the source and target metamodels.
Correspondence of elements can be
1-to-1, n-to-1, 1-to-n or n-to-n
Mapping is performed at design time
Mapping is defined with models one meta-level higherthan the input and output of the transformation
Mapping describes the rules used for the transformation
Transformation is used at run-time
Mapping is performed by defining relations between two models. The
relations can be 1-to-1, n-to-1, 1-to-n or n-to-n. Mapping is performed in
design time.
-
8/4/2019 MDA_0507Notes
5/26
Agent-Oriented Software Engineering Model Transformations
5
Mapping function
Mb: Model of b
f : Mapping function
Ma: Model of a
MMb: Metamodel of b
MMa: Metamodel of a
Mb f (MMa, MMb, Ma)
-
8/4/2019 MDA_0507Notes
6/26
Agent-Oriented Software Engineering Model Transformations
6
Mapping and transformation
SourceMetamodel
InputModel
OutputModel
TargetMetamodel
Mapping
Transformation
based on
This figure illustrates the mapping as we have already explained.
-
8/4/2019 MDA_0507Notes
7/26
Agent-Oriented Software Engineering Model Transformations
7
Mappings on different abstraction levels
PSM1metamodel
PSM2metamodel
PIM2metamodel
PIM1metamodel
HorizontalMapping
Horizontal
Mapping
Vertical Mapping Vertical Mapping
HighAbstraction
LowAbstraction
We can map between models that are on the same abstraction level
illustrated with horizontal mapping, or we can map between abstraction
levels illustrated with vertical mapping in the figure.
-
8/4/2019 MDA_0507Notes
8/26
Agent-Oriented Software Engineering Model Transformations
8
Model transformation technologies andexamples
Model transformation technologies and examples.
-
8/4/2019 MDA_0507Notes
9/26
Agent-Oriented Software Engineering Model Transformations
9
Model transformation with ATL
Ecore
Sourcemetamodel
ATL Targetmetamodel
Target
ModelSourcemodel
conforms to conforms toconforms to
conforms to
conforms to
conforms to
is transformed into
Sourcemodel2targetmodel.atl
Transformation using Atlas Transformation Language
-
8/4/2019 MDA_0507Notes
10/26
Agent-Oriented Software Engineering Model Transformations
10
Example 1: UML to Relational DatabaseManagement Systems (RDBMS)
Example #3: Metamodel for BDI agents.
-
8/4/2019 MDA_0507Notes
11/26
Agent-Oriented Software Engineering Model Transformations
11
UML Metamodel
PIM
PIM
Symbols
Metamodel
Concept
Relationship
Correspondence
UML to RDBMS
RDBMS Metamodel
We will now look into the agent metamodel.
-
8/4/2019 MDA_0507Notes
12/26
Agent-Oriented Software Engineering Model Transformations
12
Parts of UML metamodel
Let us go through an example where we want to transform a UML model
to a Relational database management system
. The figure shows parts of the UML metamodel that you should alreadybe familiar with.
-
8/4/2019 MDA_0507Notes
13/26
Agent-Oriented Software Engineering Model Transformations
13
Simple RDBMS metamodel
This figure shows a simple metamodel for RDBMS. It defines the most
important constructs for relational databases such as table, column, key
and foreign key.
-
8/4/2019 MDA_0507Notes
14/26
Agent-Oriented Software Engineering Model Transformations
14
UML to RDBMS
Ecore
UMLmetamodel
ATL
UML to RDBMS
RDBMSmetamodel
RDBMS
ModelUML
model
conforms to conforms toconforms to
conforms to
conforms to
conforms to
is transformed into
Transformation using Atlas Transformation Language
-
8/4/2019 MDA_0507Notes
15/26
Agent-Oriented Software Engineering Model Transformations
15
ClassModel2DBModel
ClassModel DBModel
- name : String - name : String
- elements: Classifier - tables : Table
- types : Type
-
8/4/2019 MDA_0507Notes
16/26
Agent-Oriented Software Engineering Model Transformations
16
Class2Table
Class Table
- name : String - name : String
- attributes: Attribute - columns : Column
- key : Column
-
8/4/2019 MDA_0507Notes
17/26
Agent-Oriented Software Engineering Model Transformations
17
DataType2Type
DataType Type
- name : String - name : String
-
8/4/2019 MDA_0507Notes
18/26
Agent-Oriented Software Engineering Model Transformations
18
Attribute2Column
Attribute Column
- name : String - name : String
- owner : Class
- type : DataType
- keyOf : Table
- type : Type- multivalued = Boolean
-
8/4/2019 MDA_0507Notes
19/26
Agent-Oriented Software Engineering Model Transformations
19
Input Model
-
8/4/2019 MDA_0507Notes
20/26
Agent-Oriented Software Engineering Model Transformations
20
Example 2: PIM4SOA to JackMM
-
8/4/2019 MDA_0507Notes
21/26
Agent-Oriented Software Engineering Model Transformations
21
PIM4SOA Metamodel
PIM
PSM
Symbols
Metamodel
Concept
Relationship
Correspondence
PIM4SOA to JACK
Jack Metamodel
We will now look into the agent metamodel.
-
8/4/2019 MDA_0507Notes
22/26
Agent-Oriented Software Engineering Model Transformations
22
Bottom Line
-
8/4/2019 MDA_0507Notes
23/26
Agent-Oriented Software Engineering Model Transformations
23
MDD: beyond the buzzword
Modern model engineering techniques are ready for prime time in
software engineering They are based on:
four level architecture (CIM, PIM, PSM, Code)
meta-metamodel (e.g. MOF, Ecore),
with transfer and exchange mechanisms
with transformation mechanisms
growing collection of specialized metamodels
Object metamodels (Java, etc.)
Legacy metamodels (Relational, CWM)
Enterprise metamodels: Business, Healthcare,Transportation
Product and process metamodels
Automatic and semi-automatic generations, from high abstraction to
specific platforms
-
8/4/2019 MDA_0507Notes
24/26
Agent-Oriented Software Engineering Model Transformations
24
Issue: Keeping Perspective
Modeling does not guarantee good applications
To model something, you must understand it
A bad model can still produce a bad application
MDA is not suited for every type of application
MDA does not compensate for lack of
good people
a good process
-
8/4/2019 MDA_0507Notes
25/26
Agent-Oriented Software Engineering Model Transformations
25
Issue: Changing Developers Paradigm
Developers traditionally view development in code-centricterms Code production = progress
Code-centric design
Model-Centric Development Models are focal point of solutions
Code is a byproduct of development
Solve design problems at highest possible level
Model-Centric Design
Design centers on model Model is source code
Changes are made at highest possible level
Validate the code transformations
-
8/4/2019 MDA_0507Notes
26/26
Agent-Oriented Software Engineering Model Transformations
Conclusion
MDA is probably not the silver bullet for softwareengineering,
But:
There is no reasonable alternative to MDD
Way to deal with new emerging technologies like Webservices in a smooth way
Decoupling the business part and the technical part ofinformation systems is a long term trend