Extended DEVSML as a Model Transformation Intermediary to Make UML Diagrams Executable Jianpeng Hu Dept. of Computer Science and Engineering Shanghai Jiao.

Presentation on theme: "Extended DEVSML as a Model Transformation Intermediary to Make UML Diagrams Executable Jianpeng Hu Dept. of Computer Science and Engineering Shanghai Jiao."— Presentation transcript:

Extended DEVSML as a Model Transformation Intermediary to Make UML Diagrams Executable Jianpeng Hu Dept. of Computer Science and Engineering Shanghai Jiao Tong University, Shanghai, China

RAD Laboratory Authors Jianpeng Hu, Ph.D. candidate of SJTU Lecturer of Shanghai University of Engineering Science Dr. Linpeng Huang Professor of Shanghai Jiao Tong University. Director of RAD Laboratory. Bei Cao, master student in RAD lab Xuling Chang, master student in RAD lab

RAD Laboratory Outline Introduction Parallel DEVS Formalism Extended DEVS Modeling Language (E-DEVSML) Model Transformation Using E-DEVSML Conclusions and Future Work

RAD Laboratory Introduction Unified Modeling Language (UML) has become the de facto standard modeling language for software and system design. Rigorous validation and verification of system specifications requires executable models. A lot of researches are made to transform the UML models to executable discrete-event models. Such as Petri Net, Cellular Automata and Generalized Markov Chain and Discrete Event System Specification (DEVS) DEVS is a better choice if we need a systematic validation and evaluation of the system.

RAD Laboratory Parallel DEVS Formalism An atomic model M is the irreducible model definition: M = S is the state space; IP, OP are the set of input/output ports; X = { (p,v) ∣ p ∈ IP, v ∈ X p }, Y = { (p,v) ∣ p ∈ OP, v ∈ Y p },where X p and Y p are input/output values on port p. λ: S→Y b is the output function, where Y b is a set of bags composed of elements in Y; ta(s): S→R 0 + ∪ ∞ is the time advance function which decide how much time the system stays at the current state in the absence of external events.

RAD Laboratory Parallel DEVS Formalism M = δ int : S→S is the internal transition function; δ ext :Q × X b →S is the external transition function, where Q = { (s,e) s ∈ S, 0≤e≤ta(s) } is the total state set, e is the time elapsed since last transition, and X b is a set of bags composed of elements in X; δ con : S × X b → S is the confluent transition function, which decides the order betweenδ int andδ ext in cases of collision between simultaneous external and internal events.

RAD Laboratory Parallel DEVS Formalism The coupled model can itself be a component of a larger coupled model giving rise to a hierarchical DEVS model construction. In a coupled model: N = IP, OP, X and Y have similar connotation as in atomic model, but mean external elements; D is a set of DEVS component models. EIC is the external input coupling relation, EOC is the external output coupling relation, and IC is the internal coupling relation.

RAD Laboratory Extended DEVS Modeling Language Shortcomings of previous DEVS Modeling Language (DEVSML) version based on Parallel DEVS and Finite Deterministic DEVS: it is inconvenient to deal with nondeterministic state transitions; any state transition based on the message content is not realizable; there may be a collision if two messages simultaneously arrive on more than two ports.

RAD Laboratory Extended DEVS Modeling Language A.Separation of Message Processing From State Transition. We divide the input/output process into three parts: receiving a message, data processing during a series of transitions and sending a message. Three associate functions are defined as following: v x = Rev( x ), y = Sed(v y ), v y = DP(v x ) where x ∈ X b, y ∈ Y b, v x ∈ V x,v y ∈ V y, we define a set of input-port-associate variables V x and a set of output- port-associate variables V y.

RAD Laboratory Extended DEVS Modeling Language B.Support for Nondeterministic State Transitions (NST). In practice, it is very important to convert easier-to- implement NSTs into more efficiently executable DSTs. To achieve this goal, we defined a Conditional Transition (CT): CT =δ: S ×X b × C → S We assume that a specific input can also be viewed as a part of the constraint condition, we simplify these equations: δ(s, c 1 ) = s 1, δ(s, c 2 ) = s 2,…, δ(s, c i ) = s i

RAD Laboratory Abstract Syntax of E-DEVSML 1)Entity: Message objects are exchanged according to the port-value pairs, and the datatype of a input value can be defined as an entity and reused by some ports.

RAD Laboratory Abstract Syntax of E-DEVSML 2)Atomic: The Atomic is the most important and complicated part of DEVS.

RAD Laboratory Abstract Syntax of E-DEVSML DEVS has four functions to specify the behavior of an atomic model which are the main featured parts of E- DEVSML: Deltext, Deltint, Outfn and Confluent.

RAD Laboratory Abstract Syntax of E-DEVSML 3)Coupled: The specification of a coupled model

RAD Laboratory Model Transformation Using E-DEVSML Automated Transformation Process From UML to DEVS

RAD Laboratory Model Transformation Using E-DEVSML Mapping rules between UML and DEVS Coupled DEVS IPOPDEICEOCIC E-DEVSML interfaceIO input interfaceI O outout modelscouplings eic couplings eoc couplings ic Component Diagram Ports with provided interface Ports with required interface Components Input delegation connectors Output delegation connectors Interfaces connected Atomic DEVS StaδintδextλX/Y E-DEVSMLstate-time-advancedeltintdeltextoutfnV x /V y State Machine StateConstraint Transition effect State exit Event/ Action

RAD Laboratory Case Study

RAD Laboratory Case Study

RAD Laboratory Case Study

RAD Laboratory Case Study

RAD Laboratory Conclusions and Future Work We presented an approach to make UML diagrams executable through an automated model transformation process using E-DEVSML. It saves modelers from digging into the DEVS simulator codes but only their own behavior description of systems. In the future, practical application of E-DEVSML in an industry case will be discussed. Our future work also includes description of DEVS dynamic-architecture, which permits the coupled model to evolve over time.