the devs-driven modeling language: syntax and semantics definition by meta-modeling and graph...

19
The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta- Modeling and Graph Transformation Authors: Ufuoma Bright Ighoroje Oumar Maïga Mamadou Kaba Traoré The 2nd International Workshop on Model-driven Approaches for Simulation Engineering (MO4SIM 2012)

Upload: dgianni

Post on 09-May-2015

518 views

Category:

Technology


1 download

DESCRIPTION

Presentation at the 2nd International Workshop on Model-driven Approaches for Simulation Engineering (held within the SCS/IEEE Symposium on Theory of Modeling and Simulation part of SpringSim 2012) Please see: http://www.sel.uniroma2.it/mod4sim12/ for further details

TRANSCRIPT

Page 1: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

The DEVS-Driven Modeling Language:

Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

Authors:

Ufuoma Bright Ighoroje Oumar Maïga

Mamadou Kaba Traoré

The 2nd International Workshop on Model-driven Approaches for Simulation Engineering

(MO4SIM 2012)

Page 2: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

The DEVS-Driven Modeling Language (DDML): Graphical Modeling language

Simulation Modeling for discrete event systems

Amenable to formal analysis

Inspired by the DEVS (Discrete Event System Specification) formalism

Syntax and Semantic Definition of DDML

Highlights

Page 3: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

The DEVS-Driven Modeling Language

High Communicability: uses easy visual notations and integrates software engineering and system theoretic principles

High Integrity of Simulation Models: integrates formal analysis and simulation for verification and validation of models

Universality: driven by DEVS and rooted in system theory, models of discrete, (approximate) continuous and hybrid systems can be built

DDML

Page 4: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation
Page 5: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

Hierarchy of System Specification

IOS

CN

OF

IOFO

IORO

Coupled Network:

Multi-component system specification,

couplings, and interactions.

Input Output System:

Internal structure of the system; state

sets and transition rules

Input Output Function Observation:

Functional groupings of I/O segment

pairs

Input Output Relation Observation:

Underlying behavior of the system

Observation Frame:

Set of inputs and outputs of the system

Page 6: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

Defining DDML

Concrete Syntax

(C)

Abstract Syntax

(A)

Semantic Domain

The Visual Language, 𝐷𝐷𝑀𝐿 = < 𝐴, 𝐶, 𝑆, 𝑀𝐶𝐴, 𝑀𝐴𝑆 >

Page 7: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

Two approaches to define abstract syntax:

Meta-Modeling: declarative approach with UML class diagrams

Graph Transformation: constructive approach

DDML: Abstract Syntax

Page 8: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

A Graph Transformation System,

GTS = <DSIG, ATG, P> DSIG: data type signature

ATG: attributed type graph

P: typed attributed graph productions.

A Graph Grammar, GG = <GTS, S>, with a start graph S.

The language L generated by GG is given by L = {G | S ⇒∗ G}

Notes on Graph Transformation

Page 9: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

DDML: Meta-Model (UML)

Page 10: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

OCL Constraints on the DDML Meta-Model

context Coupled_Model

inv EIC.source.OclIsTypeOf(self.Input_Port)

inv EIC.target.OclIsTypeOf(self.component.Input_Port)

inv IC.source.OclIsTypeOf(self.component.Output_Port)

inv IC.target.OclIsTypeOf(self.component.Input_Port)

inv

EOC.source.OclIsTypeOf(self.component.Output_Port)

inv EOC.target.OclIsTypeOf(self.Output_Port)

context Transient::timeAdvance()

inv self::timeAdvance() = 0.0

context Passive

inv self.timeAdvance() = + ∞

context Finite

inv self.timeAdvance() > 0.0 and < + ∞

Page 11: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

DDML: Graph Transformation (Type Graph)

Model

Atomic_Model

Coupled_Model Port

Input_Port Output_Port

Coupling

EIC EOCIC

DataType

Class

StateVariable

Attribute

Select

Operation

parameterpriority:nat

Node Event

Message

Transition

timeAdvance: real

Configuration

condition: bool

ConditionalNode Internal External Confluent

Passive Finite Transient

DoActivity

from

to

source

target

IOInterface

components

type

messageType

transition

selectFlag

activity

trigger

property

interaction

channel

message

name: string

NamedElement

StateMachine

internalstructure

feature

DDML Type Graph

Page 12: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

Graph Production Rules

Page 13: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

DDML: Concrete Syntax

Internal

Transition

Condition

ConditionalExternal Confluent

Properties

ActivitiesLab

el

TA

Properties

Activities

Lab

el

trigger

Assignments

trigger

Assignments

Label

Properties

Activities

Assignments

Lamda

Template: Name

Attributes

Functions

AtomicModel

Passive

Properties

Activities

Lab

el

Finite

Properties

ActivitiesLab

el

TA

Transient

Label

Properties

Activities

IOFrame

CoupledModelTemplate: Name

Attributes

Functions

Coupling

EOC

ICEIC

Input_Port

Model

Configuration

Output_Port

Page 14: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

Case Study: Queuing Network (Coupled Model)

Page 15: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

Queuing Network (Atomic Model of Queue Component)

Page 16: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

Operational Semantics: adopts the DEVS Simulation Protocol

Formal Semantics: Semantic mapping of DDML at three levels of abstraction (CN, IOS, IORO) to formal methods CN: Coupled Network --- Process Algebra (CSP, CCS …)

IOS: Input Output System ---Transition Systems (LTS, TA …)

IORO: Input Output Relation Observation --- Temporal Logic (CTL, LTL …)

DDML: Semantics

Page 17: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

DDML Formal and Operational Semantics….

Page 18: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

DDML tools are developed using model driven engineering techniques

The DDML Editor: for graphical construction of models with DDML

SimStudio: Model editors, DEVS simulation engine, visualization and management modules

Formal tools: federated formal tools for formal analysis of models

DDML Tool Support

Page 19: The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph Transformation

SimStudio Architecture

XML Standard Format

XML Standard FormatX

ML

Sta

nd

ard

Fo

rma

t XM

L S

tan

da

rd F

orm

at

Vis

ua

liza

tio

n

To

ols

SImStudio

Visualizer

DDML

Graphical

Modeler

Java

C++

Python

Other Modeling Tools

Tools for Formal

Analysis

SimStudio

Kernel

CSP LTS CTL

TT

T T T

T

T

Transformer