fuml-driven performance analysisthrough the moses model library

Post on 27-Jun-2015

118 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

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

fUML-Driven Performance Analysis

through theMOSES Model Library

Luca Berardinelli, Vittorio CortellessaPost Doc @ DISIM

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

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/

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

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

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

Foundational UML

Everything is a fUML Model

COMPONENTS

COMPOSITE STRUCTURES

DEPLOYMENTS

INTERACTIONS

STATE MACHINES

USE CASES

CLASSES

ACTIONS

ACTIVITIES

PROFILES

lightweight extensions by

Foundational UML: Generic Example

Everything is a fUML Model

Class Diagram(s) + Activity Diagram(s)

Everything is a fUML Model

Case Study: Indoor Positioning System

System ModelIndoor Positioning System

HardwarePlatform

MANETNodes

SoftwareArchitecture

OLSRprotocol

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

Indoor Positioning System (structure)

Indoor Positioning System (behavior)

LinkSet::update()

Call Operation Action to...OLSR functionality

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)

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..*

System ModelIndoor Positioning System

MOSES (behavior, informal)

additional data:timings for execution occurrences

MOSESSoftware Architecture

OLSR protocol

Hardware PlatformMANET Node(s)

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

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

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

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

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

model instrumentation

LinkSet::update()

additional data:timings

for execution occurrences

OLSR Functionality: HELLO Message Processing

LinkSet::update()

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

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

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

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

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

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

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/

fUML-Driven Performance Analysis

through theMOSES Model Library

Luca Berardinelli, Post Doc @ DISIM

University of L’Aquila

Thank You

top related