The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph...

Post on 09-May-2015

518 views 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 of The DEVS-Driven Modeling Language: Syntax and Semantics Definition by Meta-Modeling and Graph...

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)

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

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

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

Defining DDML

Concrete Syntax

(C)

Abstract Syntax

(A)

Semantic Domain

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

Two approaches to define abstract syntax:

Meta-Modeling: declarative approach with UML class diagrams

Graph Transformation: constructive approach

DDML: Abstract Syntax

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

DDML: Meta-Model (UML)

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 < + ∞

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

Graph Production Rules

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

Case Study: Queuing Network (Coupled Model)

Queuing Network (Atomic Model of Queue Component)

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

DDML Formal and Operational Semantics….

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

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