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