the devs-driven modeling language: syntax and semantics definition by meta-modeling and graph...
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 detailsTRANSCRIPT
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