0% found this document useful (0 votes)
46 views26 pages

Example 3: Metamodel For Jack Agents: Agent-Oriented Software Engineering Model Transformations

Agent-oriented Software Engineering Model Transformations. Metamodel for BDI agents in JDE when the system is used in the more general team mode. Transformations define correspondences between elements in the source and target metamodels.

Uploaded by

Bacha Hunde
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views26 pages

Example 3: Metamodel For Jack Agents: Agent-Oriented Software Engineering Model Transformations

Agent-oriented Software Engineering Model Transformations. Metamodel for BDI agents in JDE when the system is used in the more general team mode. Transformations define correspondences between elements in the source and target metamodels.

Uploaded by

Bacha Hunde
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Agent-Oriented Software Engineering

Model Transformations

Example 3: Metamodel for Jack agents

Example #3: Metamodel for BDI agents.

Agent-Oriented Software Engineering

Model Transformations

Partial view of JACK metamodel

In the design of a multiagent systems (MAS) we can distinguish models that describe 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 concepts like 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 individual agents and vice versa), where events and plans are described in much more detail, and additional concepts like capabilities and belief data. The figure displays the metamodel for BDI agents in JDE when the system is used in the more general team mode. Teams are formed by groups of agents but may also consist of only a single agent. The metamodel explains how the basic concepts relate to each other.

Agent-Oriented Software Engineering

Model Transformations

Foundations of model mappings and transformations

Foundations of model mappings and transformations.

Agent-Oriented Software Engineering

Model Transformations

Model mapping & transformation


Definition: A model transformation is a mapping of a set of models onto another set of models or onto themselves, where a mapping defines correspondences between 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 higher than 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.

Agent-Oriented Software Engineering

Model Transformations

Mapping function

Mb

f (MMa, MMb, Ma)

Mb: Model of b f : Mapping function Ma: Model of a MMb: Metamodel of b MMa: Metamodel of a

Agent-Oriented Software Engineering

Model Transformations

Mapping and transformation

Source Metamodel

Mapping

Target Metamodel

based on <<InstanceOf>> <<InstanceOf>>

Input Model

Transformation

Output Model

This figure illustrates the mapping as we have already explained.

Agent-Oriented Software Engineering

Model Transformations

Mappings on different abstraction levels

PIM1 metamodel
Vertical Mapping

Horizontal Mapping

PIM2 metamodel
Vertical Mapping

High Abstraction

PSM1 metamodel

Horizontal Mapping

PSM2 metamodel

Low Abstraction

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.

Agent-Oriented Software Engineering

Model Transformations

Model transformation technologies and examples

Model transformation technologies and examples.

Agent-Oriented Software Engineering

Model Transformations

Model transformation with ATL


Ecore
conforms to conforms to conforms to

Source metamodel

ATL
conforms to

Target metamodel

conforms to
Sourcemodel2targetmodel.atl

conforms to

Source model

is transformed into

Target

Model

Transformation using Atlas Transformation Language

Agent-Oriented Software Engineering

Model Transformations

Example 1: UML to Relational Database Management Systems (RDBMS)

Example #3: Metamodel for BDI agents.

10

Agent-Oriented Software Engineering

Model Transformations

UML to RDBMS

UML Metamodel

PIM

RDBMS Metamodel

Symbols
Metamodel Concept Relationship Correspondence

We will now look into the agent metamodel.

PIM

11

Agent-Oriented Software Engineering

Model Transformations

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 already be familiar with.

12

Agent-Oriented Software Engineering

Model Transformations

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.

13

Agent-Oriented Software Engineering

Model Transformations

UML to RDBMS

Ecore
conforms to conforms to conforms to

UML metamodel

ATL
conforms to

RDBMS metamodel

conforms to

conforms to

UML to RDBMS UML model


is transformed into RDBMS

Model

Transformation using Atlas Transformation Language

14

Agent-Oriented Software Engineering

Model Transformations

ClassModel2DBModel

ClassModel
- name : String - elements: Classifier

DBModel
- name : String - tables : Table - types : Type

15

Agent-Oriented Software Engineering

Model Transformations

Class2Table

Class
- name : String - attributes: Attribute

Table
- name : String - columns : Column - key : Column

16

Agent-Oriented Software Engineering

Model Transformations

DataType2Type

DataType
- name : String

Type
- name : String

17

Agent-Oriented Software Engineering

Model Transformations

Attribute2Column

Attribute
- name : String - owner : Class - multivalued = Boolean - type : DataType

Column
- name : String - keyOf : Table - type : Type

18

Agent-Oriented Software Engineering

Model Transformations

Input Model

19

Agent-Oriented Software Engineering

Model Transformations

Example 2: PIM4SOA to JackMM

20

Agent-Oriented Software Engineering

Model Transformations

PIM4SOA to JACK

PIM4SOA Metamodel

PIM

Jack Metamodel Symbols

PSM

Metamodel Concept Relationship Correspondence

We will now look into the agent metamodel.

21

Agent-Oriented Software Engineering

Model Transformations

Bottom Line

22

Agent-Oriented Software Engineering

Model Transformations

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

23

Agent-Oriented Software Engineering

Model Transformations

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

24

Agent-Oriented Software Engineering

Model Transformations

Issue: Changing Developers Paradigm


Developers traditionally view development in code-centric terms
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

25

Agent-Oriented Software Engineering

Model Transformations

Conclusion
MDA is probably not the silver bullet for software engineering, But: There is no reasonable alternative to MDD Way to deal with new emerging technologies like Web services in a smooth way Decoupling the business part and the technical part of information systems is a long term trend

26

You might also like