60
Research Activities at the Software & Systems Engineering Lab Prof. Andrea D'Ambrogio University of Roma TorVergata Roma (Italy) [email protected] www.sel.uniroma2.it

Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Research Activitiesat the

Software & Systems Engineering Lab

Prof. Andrea D'AmbrogioUniversity of Roma TorVergata

Roma (Italy)[email protected]

www.sel.uniroma2.it

Page 2: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Outlinew Software and Systems Engineering Labw Research contributions

• Model-driven Approaches for:§ Performance Engineering of Business Processes (BPs)

§ PyBPMN: a language to specify QoS properties of BPs§ PyBPMN-driven method to predict performance and reliability properties

of BPs§ Simulation Systems Engineering

§ Bridging the gap between MDE and DS§ The conventional approach§ The SimArch approach

• Model-based Interface Specification for Systems Integration

[email protected] Research @SEL

Page 3: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

! www.sel.uniroma2.it

w hosted at the Department of Enterprise Engineering of the University of Rome Tor Vergata

w Research Topics• software and systems performance engineering

• model-driven software and systems engineering

• business process management

• distributed simulation

• software and systems quality

[email protected] Research @SEL

Page 4: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Projectsw Methods for the engineering and evaluation of system performance and dependability

• GAAS Generic Approach to ATM Systems - EC DG XII• DAAS Dependable Approach to ATM Systems - EC DG XIII• PAMPAS Preliminary Approach for Modelling Performance of ATM Systems – EUROCONTROL• Automated building of predictive models for performance validation – MIUR FIRB• SS&PSW Methods for the development of dependable complex software platforms - MAP-SELESO

w Strategies and tools for system validation• EVAS EATMS Validation Strategy – EUROCONTROL• VALERY Study for the Development of a Validation Data Repository – EUROCONTROL• EPVDR Enhanced Prototype Validation Data Repository - EUROCONTROL

w Methods and tools for model-driven systems engineering• OATA Overall ATM Target Architecture – EUROCONTROL• SysML-based Model-driven System Development – Elettronica SpA

w Software projects cost estimation and verification• Software Acquisition Assessment - ENAV

w E-government information systems• INAIL Information System Quality Assessment - INAIL• Adequacy Assessment of Computing Facilities and Network Services – ICE• Requirements Engineering for Public Lighting Energy Efficiency – ISIMM-ENEA

w Distributed and web-based simulation• Integration of HLA and Web Services for web-based and distributed simulation – MIUR FIRB• HRAF: EDLS Distributed Simulation Federation and Model-driven Engineering Framework Development – ESA-

GMV• MASTER: Modeling and Simulation as a Service for Training and Experimentation – Italian MoD National Plan

for Military Research

[email protected] Research @SEL

Page 5: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Other projects/activitiesw FP7 DAEMONS (DEcentralized, cooperative, and privacy-preserving MONitoring for

trustworthiness)• publish&subscribe approaches for implementing the coordination middleware

w ESA (European Space Agency) Summer of Code in Space 2013 • ICML (Interface Communication Modeling Language)

w ProSys (POR FESR Lazio)• Adaptive Business Process Management System

w ALADDIN (Autonomous Learning Agents for Decentralised Data and Information Networks)

• Agent-based M&S [software: SimJADE, DisSimJADE]w euHeart (in Virtual Physiological Human)

• Model Databasing [software: AMDB]w Galileo

• Architectural Modellingw Space Situational Awareness

• Data Policy modelling, definition and verificationw GMES-PURE

• GMES Partnership for User Requirements Evolutionw Jason-CS / EPS-SG

• Requirements Management

[email protected] Research @SEL

Page 6: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Model-driven Engineering (MDE)w Enabler of automationw Key elements

• a language to specify metamodels (i.e., a metametamodel)

• a language to specify model transformations

w Incarnations• MDA, MIC, Software Factories

[email protected] Research @SEL

Page 7: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

MDA in a nutshell

MOFMeta-Model

MMbMetamodel

Ma XMI documents

MMaXMI Schema

MMbXMI Schema

Meta ModelingLayer(technologyindependent)

ModelImplementationLayer(technologyspecific)

M3

M2

M1

model flow

instance of

data flow

validated by

XMI

XMIXMI

XMIMMaMetamodel

Mb XMI documents

TransformationEngine

TransformationSpecification

MaModels

MbModels

QVT

[email protected] Research @SEL

Page 8: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Model-driven Approachesfor

Performance Engineering(in the BPM domain)

Page 9: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

w The term Business Process (BP) refers to the set of activities that companies and organizations carry out to provide services or produce goods

w A BP can be seen as a an orchestration of tasks, each one related to the automated or human resources in charge of its execution

Our contribution focuses on fully automated BPs executed as orchestrations of software services

Business processes

[email protected] Research @SEL

Page 10: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

w The set of methods, techniques and software to design, enact, control and analyze operational processes involving humans, organizations, applications, documents and other sources of information [van der Aalst et. al., 2003]

Business Process Management (BPM)

BP lifecycle

BP implementationcycle

[email protected] Research @SEL

CHAPTER 2. DESCRIPTION AND ANALYSIS OF BP: STATE-OF-THE-ART 11

diagnosis

process design

system configuration

process enactment

Figure 2.1: Business Process Management life cycle [81]

regarding the definition of business process lifecycle, such as [20, 81, 85]. As an

example Figure 2.1 illustrates the one proposed in [81], which includes the following

phases:

1. Process Design: the phase that deals with the specification and design (or re-

design) of a business process.

2. System Configuration: the phase in which the designed process is implemented

into a Business Process Management System (BPMS), that is business a process

execution engine or, more generally, a process aware information system used to

automatically execute and monitor the process.

3. Process Enactment: the phase in which the implemented process in executed on

top of a BPMS.

4. Diagnosis: this phase that includes the analysis of the business process to iden-

tify bottlenecks and define strategies to redesign and improve the process.

While BPM is generally referred to all the aforementioned activities, in this work

we focus on the description of a BP and the use of such description for analyzing

Page 11: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

w From an IT perspective, BPM is related to BP automation• SOA standards define a

framework that allows the composition of atomic services to define and execute higher level business processes

• Web services represent a set of technologies needed to define and invoke remote software services

The automated execution of tasks within a BP can be based on SOA standards

CHAPTER 1. INTRODUCTION 4

Figure 1.1: Business Process specification and execution

measures the monetary gain/loss, is strictly related to quality of service (QoS) issues,

which instead measure non functional properties such as performance, reliability,

availability and security [39]. Indeed, the relationship between QoBiz and QoS is

concretized by Service Level Agreements (SLAs) that specify the costs and penalties

with respect to the delivered QoS [39, 47]. This means that the revenue or loss of

a business process depends on the QoS provided by the service orchestration that

implements it.

While BPM is generally referred to the several activities that define the BP lifecy-

Business processes and SOAs

[email protected] Research @SEL

Page 12: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Our contributionObjectivew Definition of an approach to describe and analyze

the QoS of BPs by:• exploiting model-driven approaches • encompassing each stage of the BP implementation cycle,

from the abstract design down to the execution

Contributions1. Description perspective: PyBPMN, a language to specify the

QoS properties of BPs2. Analysis perspective: A PyBPMN-driven method to predict,

at design time, performance and reliability properties of BPs

[email protected] Research @SEL

Page 13: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Reliability

Performance

The ability of a process to perform correctly its required tasks in a given time interval

BP domain:Key Performance Indicators (KPIs): a set of measures that focus on critical aspects of organizational performance

IT domain:time-related properties such as throughput, response times and resource utilization

QoS properties: performance and reliability

[email protected] Research @SEL

Page 14: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

w We introduce Performability-enabled Business Process ModelingNotation (PyBPMN), a language to specify QoS properties of BPs

w PyBPMN has been designed as an extension of the Business Process Modeling Notation (BPMN), the standard language for business process modeling promoted by OMG

w According to MDA the extension process:• leverages on MOF (Meta Object Facility) and XMI (XML Metadata Interchange)• is based on a metamodel extension

w The extension specifically addresses:• Performance modeling: UML Profile for Modeling and Analysis of Real-Time

Embedded systems (MARTE)• Reliability modeling: research contributions that add the description of

reliability properties to MARTE [Petriu, Bernardi and Merseguer, 2008]

Modeling QoS properties of a BP: PyBPMN

[email protected] Research @SEL

Page 15: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

BPMN extension process

[email protected]

CHAPTER 3. PERFORMABILITY-ENABLED BPMN(PYBPMN) 37

BPMNMetamodel

PyBPMNMetamodel

MetamodelExtension

BPMNModel

PyBPMNModel

PyBPMNXMI Schema

PyBPMNXMI Documentl

M1: Model Layer

<<Instance of>> <<Instance of>> <<Instance of>>

MOFModel

XMI Document Production Rules

<<Instance of>> <<Instance of>>

M2: Metamodel Layer

M3: Meta-meetamodel Layer

XMI Schema Prodcuction Rules

Figure 3.1: PyBPMN extension process

in the extension process. A complete description of the BPMN metamodel is out of

the scope of this thesis. For a complete description the reader is sent to the BPMN

specification [57]. A BPMN process is graphically represented by use of a Business

Process Diagram (BPD) that defines the execution semantics as a graph in which

nodes are flow objects (i.e., events, activities and gateways) and arcs are connecting

objects (i.e., sequence flows and message flows). The most relevant elements in the

BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-

quenceFlow. The Process metaclass inherits from FlowElementContainer metaclass

and models the sequence of flow elements (e.g., activities) in a process. Note that

while a Process instance is specifically used to represent set of flow elements, the

interaction between processes is represented by use of instances of the Collaboration

metaclass. The MessageFlow metaclass is used to represent the interaction that takes

place as exchange of messages between two participants within a collaboration.

Research @SEL

Page 16: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

BPMN is a standard for the high-level specification of business processes

CH

APTER

3.PERFO

RMA

BILITY-ENA

BLEDBPM

N(PYBPM

N)

39

sourceRef

BaseElement

FlowElement

FlowNode

Event

ThrowEvent CatchEvent

SequenceFlow

targetRef1

1

incomingoutgoing* *

Gateway

EndEvent

IntermediateThrowEvent

StartEvent

IntermediateCatchEvent

Activity

Task

ServiceTaskSendTask ReceiveTask

default

1

0..1

RootElement

OperationMessage

Interface

inMessageRef

outMessageRef**

11

1

1..*

Collaboration Conversation

InteractionSpecification

Participant

*0..1conversation

MessageFlow

1

*

*

*

conversationRef

messageRef

0..1

**

1partecipant messageFlow

FlowElementContainer

1

*

Process

LaneSet

definitionalCollaborationRef0..1

*

*

0..1

LanelaneslaneSet

*1lanes

1

flowElementsRef1

0..1

0..1

parentLane

childLaneSet

* * *

0..1

0..1 0..1

operationRefoperationRef operationRef

Figure 3.2: MOF metamodel of BPMN

BPMN: Business Process Model and Notation

[email protected] Research @SEL

Page 17: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Workloadcharacterization

Performance/reliabilitycharacterization

PyBPMN extension details

[email protected] Research @SEL

Page 18: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

CH

APTER

4.A

MD

METH

OD

FOR

PREDIC

TING

THE

QO

SO

FBPS

48

!"#$!%&%'()*

!"#$%&##'()*+&##'

,-&+$.$+/0$*%

1"%+0$*%/23&4"$)&5&%0#

6*%71"%+0$*%/23&4"$)&5&%0#

(8!(9670*7:9;9*<&2

=)/%#.*)5/0$*%

(8!(9670*7!(>;9*<&2

=)/%#.*)5/0$*%$!+,

-./012/10)3

,&)?$+&'@$#+*?&)8

,&)?$+&3&A$#0)8

B<&%0$.$+/0$*%'*.C/%<$</0&'

C*%.$A")/0$*%#

(&).*)5/D$2$08()&<$+0$*%

,&)?$+&'!$%<$%A

8&#

%*

4)56./0"+78160"

9%,:

;'<%,#%=4>+-4)8160)?)7/.@A;)0B62)@C'[email protected])2E@3

:9;70*7;E6'9*<&2

=)/%#.*)5/0$*%

,C&@%'()*

(&).*)5/%+&>?/2"/0$*%

(&).*)5/D$2$08>?/2"/0$*%

3&2$/D$2$08>?/2"/0$*%

%*

8&#

E*,'3&4"$)&5&%0#'#F*"2<'D&')&?$#&<

()&<$+0$*%*GH

D)0F'0?<G6*6/"67(62).

$!+,-./012/10)@@A

.)0B62)@G67(6753

9%,:

;'<%,#%=4>+-4)8160)?)7/.@A;)0B62)@C'[email protected])2E@3

9%,:

;'<%,#%=4>+-4)8160)?)7/.3

H76/6<*I'7F6510</6'7

I0F&)+/%<$</0&'#&)?$+&#

/?/$2/D2&H

!"#$%&##'()*+&##>J&+"0$*%

CJ;K,

Figure 4.1: Method for performability prediction at design time

Model-driven method to predictQoS properties of BPs

[email protected] Research @SEL

Page 19: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Let us consider a business process that provides a service for creating travel plans. The process makes use of the following services:

BP modeling by use of PyBPMN Example

w Flight Manager (FM) service

w Accommodation Manager (AM) service

w Transportation Manager (TM) service

[email protected] Research @SEL

Page 20: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

PyBPMN-to-UML model transformationExample

[email protected] Research @SEL

Page 21: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Service discovery retrieves the QoS-enabled descriptions of candidate services

Parameter TMA TMB

Performance CarReservation time demand 120 ms 90 ms

CabInfo time demand 115 ms 84 ms

Network bit rate 10 Mb/s 100 Mb/s

Reliability MTTF 7900 hours 5100 hours

Service discoveryExample

• TMA provides better reliability properties• TMB provides better performance properties

Problem: no win-win, which one is to be selected?

[email protected] Research @SEL

Page 22: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

w In general, the service discovery step gives as output more than a single concrete service for each abstract service

w Each possible binding leads to a candidate configuration (CC)w Problem: how to select the initial configuration (IC) among the available CCs?

Identification of candidate configurations

CHAPTER 4. A MD METHOD FOR PREDICTING THE QOS OF BPS 52

1

2 3

4

Abstract Process

A

DC

BE

Available Concrete Services

A

B C

D

A

B E

D

Candidate Configurations

Figure 4.2: Identification of candidate configurations after service discovery

UML+

SoaML-MARTE(Requirements &

Service Qos spec. )

UML-to-LQN Model

Transformation

LQN Model

PerformanceEvaluation

PerformabilityEvaluation

ReliabilityEvaluation

performabilityindices

Figure 4.3: Identification of candidate configurations after service discovery

given.

The transformation takes as input the PyBPMN model and yields as output an

implementation-oriented UML model that gives a standard description of the SOA-

based orchestration implementing the business process. The UML model is anno-

tated according to both the SoaML profile [54] , to define the SOA-based architecture

specification, and the MARTE profile [55], to specify the performability properties.

The translation of a BPMN-based description into a UML-based representation is

essential to obtain a standard UML-based design model of the underlying service-

oriented system. Moreover, the use of UML makes it possible to take advantages

of previous contributions [6, 9, 19] that provide model-driven methods for auto-

matically building performance and reliability models, as detailed in Sections 4.4

The IC is selected by use of a performability prediction algorithm

[email protected] Research @SEL

Page 23: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

BP Implementation MTTFCandidate Configuration with TMA 2163 hours

Candidate Configuration with TMB 1918 hours

Performance Prediction

Performance and Reliability predictions Example

choose CC(TMB) as IC

Reliability Prediction

!"

#!!!"

$!!!"

%!!!"

&!!!"

'!!!"

(!!!"

)!!!"

*!!!"

+!!!"

!" #!" $!" %!" &!" '!" (!"

!"#$%&"

'()"'*)

!"&+'

,!"#!'

,,-./012",,-./032"

choose CC(TMA) as IC

[email protected] Research @SEL

Page 24: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

w Performability is the joint analysis of performance and reliability

w Performance and reliability predictions are used to obtainthe performability prediction, as follows:

w For each candidate configuration CCk (k=1..n):1. CCk is assumed to be the initial configuration (IC)2. The reliability prediction is used to evaluate P(CCi), the probability

to be in CCi starting from the assumed IC3. The performance prediction is used to obtain T(CCi) and assign it as

a reward to CCi

4. The performability prediction is obtained in terms of the expectedreward rate of IC, given by:

RW (IC) = P (CCi ) T (CCi )i=1

n

Performability prediction

[email protected] Research @SEL

Page 25: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Step 5.3: Performability prediction -Example

Performability Prediction

!"

!#!!!$"

!#!!!%"

!#!!!&"

!#!!!'"

!#!!!("

!#!!!)"

!#!!!*"

$" (" $!" $(" %!" %(" &!" &(" '!" '(" (!"

!"#!

$%!&

'(!)*(&'(*%!'

+,!(,'

++,-./01"

++,-./21"

choose CC(TMB) as IC

[email protected] Research @SEL

Page 26: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Model-driven Approachesfor

Simulation Systems Engineering

Page 27: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Simulation for Systems Engineering

w The validation of complex systems from the early

development phases (lifecycle validation) can be effort- and time-consuming

w Modeling & Simulation (M&S) is widely recognized as an

effective and powerful tool for lifecycle validation of

systems, but:

• M&S methods must scale with growth and evolution of complex

systems and ecosystems (e.g., SoS or ULS)

[email protected] Research @SEL

Page 28: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Our contribution

w How to enable M&S methods that take into account the peculiar complexity/scalability/evolvability of complex systems?

The proposed solution exploits model-driven

approaches for the effortless development of complex

distributed simulation systems

[email protected] Research @SEL

Page 29: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Useful definitionsw System Under Study (SUS)

• the system that has to be simulated to get insights into or to predict its behaviour

• typically specified at development time by use of system models

w Simulation Engineering:• the set of activities to be carried out first to build a simulation model of the

SUS and then to implement it into a simulation system, i.e., a software system that “executes” the model onto a given centralized or distributed platform.

w Local Simulation (LS) System• A simulation system deployed onto and executed by a single host

w Distributed Simulation (DS) system• A simulation system that consists of a set of sub-systems deployed onto and

executed by a set of geographically distributed hosts

[email protected] Research @SEL

Page 30: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Distributed Simulation (DS)

w The term distributed is interpreted in the sense of traditional distributed computing (e.g., based on the C/S paradigm)

w Goal• synchronize and coordinate remote simulation programs

w Benefits• Geographical distribution• Integrating simulators from different manufacturers• Reusability• Load balancing• Fault tolerance

[email protected] Research @SEL

Page 31: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

High Level Architecture (HLA)w IEEE standard 1516w Main elements

• Federate: a remotely-accessible simulation sub-system

• Federation: the overall DS system, composed of a set of Federates

• RTI: provides communication and coordination services to the Federates that join into a Federation

Federate

RTI Ambassador

Federate Ambassador

Runtime Infrastructure (RTI)

[email protected] Research @SEL

Page 32: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

MDE and DSOpportunities

w MDE (Model Driven Engineering) is finding increasing acceptance in the development of complex systems:• enabler of reuse• high degree of automation

w DS systems are inherently complex:• intrinsic concurrency• required interoperability• intricacies of currently available DS platforms• the Green Elephant risk

w MDE provides a promising approach for supporting the development of DS systems of higher quality at largely reduced time, effort and cost

[email protected] Research @SEL

Page 33: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

MDE and DSChallenges

w On the DS side:• code-centric approaches• development process:

§ not standardized (only FEDEP/DSEEP recommendations)§ often not starting from scratch§ often requiring the integration of legacy subsystems

• interoperability is only dealt with at syntactic level• support for simulation-in-the-loop is limited

w On the MDE side:• model-centric approach• tool support for defining and orchestrating model

transformations is still very limited• modeling languages strongly influenced by UML

[email protected] Research @SEL

Page 34: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

MDE for DS system developmentfrom cogitative to generative approaches

SysML modelof the SUS

SimulationModel

DS systemcode

[email protected] Research @SEL

Page 35: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Bridging the gap between MDE and DSw Two approaches

1. The conventional one§ applies a conventional MDA process to the development

of DS systems§ based on top-down refinement§ the platform is the DS standard (+ its implementation)

2. The simulation-enabled (or SimArch) one§ introduces the SimArch technology to facilitate the model-

driven development of DS systems§ based on bottom-up abstraction§ the platform is the domain-specific language of the

simulation model

[email protected] Research @SEL

Page 36: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

1. The conventional approachw It is based on the standard MDA processw Obtains the benefits of MDE approachesw Requires:

• The appropriate marking of the system PIM (by use of the Model-View-Controller pattern)

• The choice of a specific DS infrastructure (e.g., HLA)• The introduction of an UML extension (Profile) for annotating

UML models with DS infrastructure details• The specification of a PIM (SUS model) to PSM (simulation

model) model-to-model transformation• The choice of a given DS implementation• The specification of a PSM to code model-to-text transformation

[email protected] Research @SEL

Page 37: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

HLACloud Framework

[email protected]

w System model• specified in SysML

w DS• implemented in HLA

w DS execution• carried out on PlanetLab

Research @SEL

Page 38: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Rationale

[email protected] Research @SEL

Page 39: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Model-driven Process

[email protected]

w based on DSEEP• IEEE Recommended Practice for

Distributed Simulation Engineering and Execution Process

w M2M transformation• SysML-to-HLA

§ from SysML to HLA-based UML

w M2T transformations• HLA-to-Code

§ HLA-based UML to HLA code• HLA-to-Plab

§ from HLA-based UML to PLab configuration

w Modeling Extensions• SysML4HLA Profile

§ for SysML annotation• HLA Profile

§ for HLA-based UML annotation

Research @SEL

Page 40: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Example Application (structure)

[email protected] Research @SEL

Page 41: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

SysML Model (BDD)

[email protected] Research @SEL

Page 42: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Example Application (behavior)

[email protected]

Gyroscope Control Logic

Position Sensor

GPS

Aileron

Elevator

Research @SEL

Page 43: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

SysML Model (SDs)

[email protected] Research @SEL

Page 44: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

HLA-based UML Model (CD)

[email protected] Research @SEL

Page 45: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

HLA-based UML Model (SDs)

[email protected] Research @SEL

Page 46: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Java/HLA code (portion)

[email protected] Research @SEL

Page 47: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

2. The SimArch approachw Hides the local/distributed nature of the

simulation systemw Hides the details of the specific DS infrastructure

(e.g., HLA)w Eases the switch between LS/DS systemsw Bridges the gap between the simulation model

and its implementation (i.e., the DS/LS simulation system)

w Only requires mapping the PIM of the SUS to the simulation model

[email protected] Research @SEL

Page 48: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

SimArchw A layered architecture to enable the model-driven

development of DS systems:• transparent deployment of simulation components in

either a local or a distributed environment

• transparent introduction/modification of the layers’ implementation to meet additional/specific requirements

• definition of custom (domain-specific) simulation languages on top of the layered architecture

• support for simulation-in-the-loop approaches

[email protected] Research @SEL

Page 49: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

SimArch Main Featuresw Multiparadigm simulation environment

• process interaction DES paradigm

• agent-based modelling paradigm

w Composed of four layers

w Provides the definition of:• Service interfaces

• Data interfaces

• Factory interfaces for component instantiation

[email protected] Research @SEL

Page 50: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

SimArchLayers

Distributed Discrete Event Simulation Layer

Discrete Event Simulation Service Layer

Simulation Components Layer

Simulation Model Layer

Layer 0

Layer 1

Layer 2

Layer 3

Layer 4

Distributed Computing Infrastructure

HLADIS

CORBA

WSGrid

General Purpose Simulation Oriented

[email protected] Research @SEL

Page 51: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

SimArch implementation status

w Layer 1• DDESoverHLA library: provides a DES abstraction on

top of HLAw Layer 2

• SimJ library: provides generic simulation components• SimJ can be seen as a metamodel for defining domain

specific simulation languagesw Layer 3

• jEQN library: provides the primitives for defining EQN simulation models

[email protected] Research @SEL

Page 52: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Domain Specific Languages (DSLs)w Programming languagew Domain-specificityw Increased expressiveness (decreased generality)w Ease-of-usew Reduced domain and programming expertisew Verificability and transformabilityw Declarativew Enabler of reuse

[email protected] Research @SEL

Page 53: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

jEQN: a DSL for EQNsw Based on:

• Domain analysis of EQN models• Declarative approach (specify what to simulate rather then how

to simulate)

w Used to:• Reduce the semantic gap between the model specification and

the corresponding LS/DS system

w Composed of:• Simulation services defined by SimArch• Set of EQN simulation components• Set of parameters for the components

[email protected] Research @SEL

Page 54: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Example Application Domainsw Computer networks domain

• Distributed Computer systems simulation

• Wireless systems simulation

w Space systems domain

• Ground Segment simulation

w Emergency management domain

• Building Evacuation simulation

[email protected] Research @SEL

Page 55: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Example federates deployment

WAN

GATech'sLAN

Lecce

HLA over IIOP

SimLab

Executive

HLA over IIOP

US - Georgia Italy

Server

Local

HLA over IIOP

Federate

Key

pRTI 1516

CORBA + CORBA-HLA

IIOP protocol

Pitch protocol over TCP and UDP

Georgia Tech

CORBA-HLAClient

FederationManager SimArch

CORBA-HLAClient

jEQNSimulator

SimArch

CORBA-HLAClient

jEQNSimulator

SimArch

CORBA -HLAClient

jEQNSimulator

SimArch

CORBA-HLAClient

jEQNSimulator

TorVergataCORBA RTI Server

Ascoli

Camerino

SimArch

CORBA-HLAClient

jEQNSimulator

SimArch

CORBA -HLAClient

jEQNSimulator

[email protected] Research @SEL

Page 56: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Conventional vs. SimArchFeatures Conventional Approach SimArch Approach

Choice of DS Platform Required Not required

Choice of DS Implementation Required Not required

DSL-based No Yes

PIM (SUS) to PSM Required (multiple) Required (single)

PSM to Code Required Not required

Effort Savings High Very High

Maintainability High Very High

Reusability High Very High

Adaptability Low Very High

DS expertise Low Very Low

[email protected] Research @SEL

Page 57: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

Model-based Interface Specification for Systems Integration

w The engineering of complex systems requires a careful consideration of the interactions among sub-systems and components

w Such interactions may reveal significant anomalies at system integration time

w Interface problems are even exacerbated in net-centric complex systems, or systems of systems, due to the heterogeneity and dynamicity of constituent sub-systems and systems

[email protected] Research @SEL

Page 58: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

ICML(Interface Communication Modeling Language)

w A model-based language that can be used to graphically and unambiguously specify data interfaces, thus contributing to supportthe design of interoperable data communication systems

w Designed on a preliminary domain analysis on radio signalspecifications (Time-Division Multiplexed signals)

w Developed within the ESA SOCIS (Summer of Code in Space) program - 2012 and 2013 editions

w Applied to:• Galileo receivers engineering, for supporting the reuse of existing HW and

SW resources;• Service Systems Engineering for the Galileo Open Service signal-in-space

interface specificationw Further info on:

sites.google.com/site/icmlmodellinglanguage/

[email protected] Research @SEL

Page 59: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

ICML Specification

be similarly represented as a UML Class; and an instance of a profile Class can be represented as a specialization of the profile Class. UML models can be serialized into XML format by use of XMI (Object Management Group, 2011), thus allowing UML models to be easily shared among heterogeneous software tools.

Interface Communication Modelling Language (ICML) With the purpose of supporting systems integration in systems of systems, using model-based approaches, we are designing ICML, a UML-based language for model-based specification of interfaces, thus having the potential of merging with other UML and SysML diagrams. As such, ICML guides systems engineers to specify interfaces, defining concepts to be instantiated and defining relationships among these concepts. In this way, ICML can support consistency and completeness verification as well as enable further exploitations such as code generation. In addition, by structuring the interface specification, ICML supports systems engineers in systems integration activities, in which the integrated systems can produce the expected behaviour and performance only if the interfaces are correctly used. Currently, ICML addresses only simple and unidirectional radio interface specifications, in particular signal in space interfaces. However, the language offers a potential for generalization to other types of interfaces, including those based on state and on time-division multiplexing. Further extensions are under analysis, and may be provided once UML and SysML-based profiles have been implemented for ICML. Below we describe the main characteristics of ICML, presenting an overall view of ICML specification, an excerpt of the meta-model, a simple demonstrative example. Overview of an ICML Specification An ICML specification is structured as illustrated by the diagram in Figure 2. The diagram describes structural and dynamic aspects of an interface.

Binary Coding

Logical Binary Structure

Physical Binary Coding

Physical Signal

Level 4

Level 3

Level 2

Level 1

LogicalBinary2PhysicalBinary

(CP3to2)

LogicalBinary2BinaryCoding

(CP3to4)

PhysicalBinary2LogicalBinary

(CP2to3)

PhysicalSignal2PhysicalBinary

(CP1to2)

Level 5Data DefinitionDataDefinition2

BinaryCodingCP5to4

BinaryCoding2DataDefinition

(CP4to5)Custom Specification Refs to International Standard

Custom Specification Refs to International Standard

Custom Specification

Refs to International Standard

LogicalLevel

PhysicalLevel

Binary Data Signals Synchronization Signals

Custom Specification

Refs to International Standard

Data Signals Carrier Signals

PhysicalBinary2PhysicalSignal

(CP2to1)

Application Data Control Data

BinaryCoding2LogicalBinary

(CP4to3)

Figure 2 Structure of ICML Specification (Gianni et al. 2011a) [email protected] Research @SEL

Page 60: Research Activities at the - Nitel · BPMN metamodel are the metaclasses Process, MessageFlow, FlowNode and Se-quenceFlow. The Process metaclass inherits from FlowElementContainer

[email protected]

M&S-based Systems Engineering Book

Modeling andSimulation-basedSystems EngineeringHandbook

byDaniele GianniAndrea D’AmbrogioAndreas Tolk

Pages: 464Publisher: CRC Press, 2014ISBN-10: 1466571454ISBN-13: 978-1466571457

Modeling and Simulation-Based Systems Engineering Handbook

editors Daniele Gianni Andrea D’Ambrogio Andreas Tolk

Research @SEL