fUML-Driven Performance Analysisthrough the MOSES Model Library

28
fUML-Driven Performance Analysis through the MOSES Model Library Luca Berardinelli , Vittorio Cortellessa Post Doc @ DISIM University of L’Aquila *ACES-MB Workshop@MODELS2014

description

The growing request for high-quality applications for em- bedded systems demands model-driven approaches that facilitate their design as well as the verification and validation activities. In this paper we present MOSES, a model-driven performance analysis methodology based on Foundational UML (fUML). Implemented as an executable model library, MOSES provides data structures, as Classes, and algorithms, as Activities, which can be imported to instrument fUML models and then to carry out the performance analysis of the modeled system through fUML model simulation. An industrial case study is provided to show MOSES at work, its achievements and its future challenges.

Transcript of fUML-Driven Performance Analysisthrough the MOSES Model Library

Page 1: fUML-Driven Performance Analysisthrough the MOSES Model Library

fUML-Driven Performance Analysis

through theMOSES Model Library

Luca Berardinelli, Vittorio CortellessaPost Doc @ DISIM

University of L’Aquila*ACES-MB Workshop@MODELS2014

Page 2: fUML-Driven Performance Analysisthrough the MOSES Model Library

MOSES and PRESTO

Scope:

Software Architecture& Hardware Platform Modeling

Non-Functional ValidationPerformance Analysis

MOSES: MOdeling Software and platform architEcture in UML 2 for Simulation-based performance analysis

http://www.presto-embedded.eu/

Page 3: fUML-Driven Performance Analysisthrough the MOSES Model Library

Everything is a fUML Model

MOSES in a Nutshell

MOSESPerformance

Analysis Results

Model Library

System ModelHardwarePlatform

SoftwareArchitecture

MOSES: MOdeling Software and platform architEcture in UML 2 for Simulation-based performance analysis

Page 4: fUML-Driven Performance Analysisthrough the MOSES Model Library

MOSES in a Nutshell

Everything is a fUML Model

MOSES

Perf.Analysis Results

Model Library

<<extended by>>

System ModelHardwarePlatform

SoftwareArchitecture fUMLVirtual

Machine

<<simulated by>>

<<generates>>

ExecutionModel

Page 5: fUML-Driven Performance Analysisthrough the MOSES Model Library

MOSES in a Nutshell (tools)

Everything is a fUML Model

MOSES

Perf.Analysis Results

Model Library

<<extended by>>

System ModelHardwarePlatform

SoftwareArchitecture fUMLVirtual

Machine

<<simulated by>>

<<generates>>

ExecutionModel

Page 6: fUML-Driven Performance Analysisthrough the MOSES Model Library

Foundational UML

Everything is a fUML Model

COMPONENTS

COMPOSITE STRUCTURES

DEPLOYMENTS

INTERACTIONS

STATE MACHINES

USE CASES

CLASSES

ACTIONS

ACTIVITIES

PROFILES

lightweight extensions by

Page 7: fUML-Driven Performance Analysisthrough the MOSES Model Library

Foundational UML: Generic Example

Everything is a fUML Model

Class Diagram(s) + Activity Diagram(s)

Page 8: fUML-Driven Performance Analysisthrough the MOSES Model Library

Everything is a fUML Model

Case Study: Indoor Positioning System

System ModelIndoor Positioning System

HardwarePlatform

MANETNodes

SoftwareArchitecture

OLSRprotocol

Page 9: fUML-Driven Performance Analysisthrough the MOSES Model Library

Case Study: Indoor Positioning System• Indoor Positioning System (IPS)

based on a Mobile Ad Hoc NETwork (MANET), nodes are mobile, connected by wireless links

• Software (COTS): o Optimized Link State Routing (OLSR),

IP routingo Standard: RFC3626, defines data

structures (tables) and functionalitieso Implementation: OLSR Daemon, olsrd

• Hardware: o ATMEL ATZB-900-B0 module that sustains,

with its transceiver, the signaling among nodes

o OMAP L138 module sustains physical, medium access control, and network layers of the communication network TI OMAP L138

(Digital Signal Processor, ARM CPU)

ATMEL ATZB-900-B0 (μc, transceiver)

OLSR daemon

HAR

DW

ARE

PLAT

FOM

SOFT

WAR

E AR

CHIT

ECTU

RE

Page 10: fUML-Driven Performance Analysisthrough the MOSES Model Library

Indoor Positioning System (structure)

Page 11: fUML-Driven Performance Analysisthrough the MOSES Model Library

Indoor Positioning System (behavior)

LinkSet::update()

Call Operation Action to...OLSR functionality

Page 12: fUML-Driven Performance Analysisthrough the MOSES Model Library

Everything is a fUML Model

System ModelIndoor Positioning System

The MOSES Model Library

MOSESPerformance

Analysis Results

Model Library

an intermediate, executable layer to carry out performance analysis of a

System Model on top of fUML VM simulation

Software ArchitectureOLSR protocol

Hardware PlatformMANET Node(s)

Page 13: fUML-Driven Performance Analysisthrough the MOSES Model Library

System ModelIndoor Positioning System

MOSES (structure, informal)

Main DispatcherWorkload

Generator

MOSES

Software ArchitectureOLSR protocol

Hardware PlatformMANET Node(s)

Software Request(s)(invoking OLSR functionalities)

Resource Request(s), 1..*(invoking Components' operations)

CPU Dispatcher

Computing Resources

FCFSCPU

RRCPU ...

Computing Request(s), 1..*

NetworkDispatcher

Communication Resources

WiFi UMTS ...

Communication Request(s), 0..*

DiskDispatcher

Storage Resources

ROM RAM ...

Storage Request(s), 0..*

Page 14: fUML-Driven Performance Analysisthrough the MOSES Model Library

System ModelIndoor Positioning System

MOSES (behavior, informal)

additional data:timings for execution occurrences

MOSESSoftware Architecture

OLSR protocol

Hardware PlatformMANET Node(s)

Page 15: fUML-Driven Performance Analysisthrough the MOSES Model Library

System ModelIndoor Positioning System

MOSES (structure, fUML)

Software ArchitectureOLSR protocol

Hardware PlatformMANET Node(s)

Dispatchers' HierarchyWorkload Generator

connected to software components that receive Software Requests

Page 16: fUML-Driven Performance Analysisthrough the MOSES Model Library

System ModelIndoor Positioning System

MOSES (structure, fUML)

Software ArchitectureOLSR protocol

Hardware PlatformMANET Node(s)

timings for execution occurrences(e.g., arrival time, service time)generated by random number generators(e.g., waiting time, completion time)derived slot values by simulation of activities

Page 17: fUML-Driven Performance Analysisthrough the MOSES Model Library

System ModelIndoor Positioning System

MOSES (structure, fUML)

Software ArchitectureOLSR protocol

Hardware PlatformMANET Node(s)

Simulation Parameters:e.g., max number of Software Request generated by the Workload Generator

Simulation Results:e.g., System Response Time, CPU Utilisation

Page 18: fUML-Driven Performance Analysisthrough the MOSES Model Library

System ModelIndoor Positioning System

MOSES (model instrumentation)

Main Dispatcher

CPU Dispatcher

NetworkDispatcher

DiskDispatcher

Computing Resources

FCFSCPU

RRCPU ...

Communication Resources

WiFi UMTS ...

Storage Resources

ROM RAM ...

WorkloadGenerator

MOSES

Software ArchitectureOLSR protocol

Hardware PlatformMANET Node(s)

Software Request(s)(invoking OLSR functionalities)

Resource Request(s), 1..*(invoking Components' operations)

Computing Request(s), 1..* Communication Request(s), 0..* Storage Request(s), 0..*Two main steps:• Generalizations• Extension of Software Behaviors with

MOSES-specific actions

Page 19: fUML-Driven Performance Analysisthrough the MOSES Model Library

MOSES<<model library>>

IPS fUML Model (software structure) IPS fUML Model (hardware structure)

• An IPS's Node is the MOSES Modelwe are going to simulate a single node rather than the whole netw<ork

• OLSR is a SwComponent• OLSR's Repositories are SwComponents• OMAP L-138's CPU is a FCFS CPU

• OLSR HELLO Message is the Software Request

Page 20: fUML-Driven Performance Analysisthrough the MOSES Model Library

model instrumentation

LinkSet::update()

additional data:timings

for execution occurrences

OLSR Functionality: HELLO Message Processing

LinkSet::update()

Page 21: fUML-Driven Performance Analysisthrough the MOSES Model Library

Performance Analysis by fUML VM

Everything is a fUML Model

MOSES

Perf.Analysis Results

Model Library

GUI

<<extended by>>

System Model- Indoor Positioning System

• Workload: HELLO Message(s)• Processing Steps: Flooding of HELLOs• Timings for ALL the involved

components' operations.fUMLVirtual

Machine

<<simulated by>>

<<generates>>

ExecutionModel

Page 22: fUML-Driven Performance Analysisthrough the MOSES Model Library

additional data:

timings

additional data:

timings

additional data:

timings

additional data:

timings

additional data:

timings

Performance Analysis by fUML VM

MOSESGUI

Workload Generator Parameters: arrival pattern of HELLOs

Stop Conditions: e.g. MAX #HELLOs

Performance Analysis Results

Operations' Resource Demands

Page 23: fUML-Driven Performance Analysisthrough the MOSES Model Library

Assumed or Measured Parameters

-Service Time per

Operations-

Exponentially Distributed Variables

additional data:timings

Performance Analysis by fUML VM

MOSESGUI

"Time" is not natively managed by the fUML VM

Operations' Resource Demands

Page 24: fUML-Driven Performance Analysisthrough the MOSES Model Library

additional data:

timings

additional data:

timings

additional data:

timings

additional data:

timings

additional data:

timings

Performance Analysis by fUML VM

MOSESGUI

PerformanceAnalysis Results

instances of

Page 25: fUML-Driven Performance Analysisthrough the MOSES Model Library

Future Work (1)

Everything is a fUML Model

MOSES

Perf.Analysis Results

Model Library

<<extended by>>

System ModelHardwarePlatform

SoftwareArchitecture fUMLVirtual

Machine

<<simulated by>>

<<generates>>

ExecutionModel

• Extending analysis capabilities• Enhancing its design (it is a model!)

implementation biases w.r.t. the chosen fUML VM (Cameo Simulation Toolkit)?

Luca Berardinelli, Antinisca Di Marco, Stefano Pace: fUML-Driven Design and Performance Analysis of Software Agents for Wireless Sensor Network. ECSA 2014: 324-339

Page 26: fUML-Driven Performance Analysisthrough the MOSES Model Library

Future Work (2)

Everything is a fUML Model

MOSES

Perf.Analysis Results

Model Library

<<extended by>>

System ModelHardwarePlatform

SoftwareArchitecture fUMLVirtual

Machine

<<simulated by>>

<<generates>>

ExecutionModel

• Applying fUML-driven analysis in different domains (e.g., Cloud-based Systems)

Martin Fleck, Luca Berardinelli, Philip Langer, Tanja Mayerhofer, Vittorio Cortellessa: Resource Contention Analysis of Cloud-based System through fUML-driven Model Execution. NiM-ALP@MoDELS 2013: 6-15

Page 27: fUML-Driven Performance Analysisthrough the MOSES Model Library

Future Work (3)

Everything is a fUML Model

MOSES

Perf.Analysis Results

Model Library

<<extended by>>

System ModelHardwarePlatform

SoftwareArchitecture fUMLVirtual

Machine

<<simulated by>>

<<generates>>

ExecutionModel

• Studying the suitability of the current of the fUML VM for Non-Functional Analyses

Experienced scalability problem with large workloads

http://www.modelexecution.org/

Page 28: fUML-Driven Performance Analysisthrough the MOSES Model Library

fUML-Driven Performance Analysis

through theMOSES Model Library

Luca Berardinelli, Post Doc @ DISIM

University of L’Aquila

Thank You