activity diagrams between devs-based modeling and

Post on 23-Apr-2022

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Activity Diagrams Between DEVS-based Modeling and Simulation and

fUML-based Model Execution

Abdurrahman Alshareef (1), Doohwan Kim (2), Chungman Seo (2), Bernard Zeigler (2)

(1) King Saud University

(2) RTSync

Presented in 2020 Summer Simulation Conference, July 20 - 22, 2020

Motivation

• The Unified Modeling Language (UML) and System Modeling Language (SysML) are both too abstract when it comes to simulation and execution.

• There is a growing need and perhaps necessity to simulate such models in order to obtain certain benefits.

• Some existing works provides transformations but they often have shortcomings with respect to scale and complexity creating some obstacles for the modeling activity at hand, some require substantial learning with many possible scenarios due to ambiguity.

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

2

Related Work and Background

• UML and SysML are both widely known languages for modeling software as well as system engineering problems.

• More recently, execution models have been proposed to execute and debug specific scenarios of the diagrams.

• The foundational semantics of the executable UML subset (fUML) has been proposed and adopted by the OMG as a standard for executing some diagrams of UML.

• The specification is proposed for UML. It does not directly account for the SysML. Analogously, that led to the issue of not having stronger accounts to system notions and dynamics (UML vs. SysML). For example, the execution model has been considered “time agnostic”.

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

3

Executing and Simulating UML and SysML

Software Engineering

System Engineering, Model-Based System Engineering (MBSE)

MBSE/M&S in the sequel

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

4

Model Execution and Simulation – Examples of Tools Support

IBM Rational Rose

Rational Software Architect

Eclipse Papyrus

Moka

Magic Draw

CameoMS4 Me

DEVS-Suite

So far, Activity, Sequence, and Statecharts Diagrams Editors have

been developed

Modeling

Execution or/and Simulation

MBSE/M&S in the sequel, with DEVS-based simulation

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

5

Increment Example using fUML

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

6

https://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution

Increment Example based on DEVS approach

• As the activities suggest, different incrementing scenarios with different control are possible to model (similar to the counter model).

• The first scenario can be used to increment at the arrival of each input (counting inputs).

• The second scenario can be used with two different accounts for two different inputs, zeros and ones.

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

7

Increment Example based on DEVS approach - DEMO

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

8

int counter = 0;In δext: counter ← counter + 1

- The codes snippets corresponding to the activity are automatically generated

- then the counter variable is defined with the desired operation and added to the class corresponding to the increment action

Increment Example based on DEVS approach - DEMO

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

9

Increment Example based on DEVS approach - DEMO

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

10

Increment Example based on DEVS approach – Code snippet for an external transition function for MS4 Me

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

11

@Override

public void externalTransition(double e, MessageBag x) {

currentTime += e;

sigma -= e;

if (phaseIs("passive")) {

for (Port in_port : this.getInputPorts())

if (x.hasMessages(in_port)) {

ArrayList<Message<Serializable>> messageList = in_port.getMessages(x);

for (int i = 0; i < messageList.size(); i++) {

job = counter+++"";

holdIn("active", processing_time);

}

}

}

}

For the action increment

Manually modified after the code generation step

Markov-DEVS Simulation of Multi-Processing Architectures

• Modeling fork-join multi-processing scheme with an activity

• Two actions can be in an active state simultaneously conforming to the activities semantics

• One benefit of having DEVS as an underlying formalism is the accessibility to many DEVS variants that are useful for particular domains and interests

• In Markov-DEVS, for example, the transition probability time advance function for each action is determined based on Markov property

• Modeling simple pipeline:

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

12

Markov-DEVS Simulation of Multi-Processing Architectures - DEMO

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

13

Pipeline

Fork-join

Markov-DEVS Simulation of Multi-Processing Architectures - DEMO

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

14

The join node is in waiting phase due to some job loss

Missile Firing Activity Modeling

The integration step can take place with hybrid DEVS modeling support using tools such as PowerDEVSActivity Diagrams Between DEVS-based Modeling and

Simulation and fUML-based Model Execution15

Further examination to synchronization with precise

timing can take place

From Execution to Simulation, Comparison and Evaluation - SummaryfUML-based Execution DEVS-based Simulation

Discrete Time model with step-wise execution The DEVS formalism

Implicit timing isomorphic to integers Real time base

There may not be necessarily time progression Legitimacy property

Parameters and Pins Ports

Some actions can be used to call other behavior The resulting simulation models are modular

Finite Deterministic State Space Deterministic/Stochastic State Space

Execution Model Simulation Protocol

Sequential Execution Parallel Simulation

Suitable for software development and interfaces Simulation modeling/ System of Systems

Replacement to code Complementary to code

Activity Diagrams Between DEVS-based Modeling and Simulation and fUML-based Model Execution

16

top related