SlideShare a Scribd company logo
1 of 30
fUML-driven Design and 
Performance Analysis 
of Software Agents for 
Wireless Sensor Network 
Luca Berardinelli, Antinisca Di Marco, Stefano Pace 
Post Doc @ DISIM 
University of L’Aquila
The AGILLA Modeling Framework 
AGILLA Modeling Framework 
+ + 
AGILLA 
middleware 
TinyOS 
Agent 
WSN 
Target Platform 
Foundational 
UML 
Model Library 
Classes 
Activities 
Performance 
Analysis 
System 
Response 
Time 
Timings 
fUML Simulation
The AGILLA Modeling Framework 
AGILLA developer fUML modeler 
AGILLA 
middleware 
MDE user 
Foundational 
UML 
Performance 
Analysis 
fUML Simulation 
Analysis expert 
Modeling&Analysis with AMF 
1.Everything is a (UML) Model: the Case Study, AMF, Analysis Results 
2.No need of model transformations to external notations 
3.Tool supported (UML Modeling Tools, fUML Virtual Machine, AMF)
Software Agent for WSN 
AGILLA developer fUML modeler 
AGILLA 
middleware 
MDE user 
Foundational 
UML 
Performance 
Analysis 
fUML Simulation 
Analysis expert 
Modeling&Analysis with AMF 
AGILLA 
middleware 
TinyOS 
Agent 
WSN 
Target Platform
Software Agent for WSN 
are special software 
processes that can explicitly migrate or 
clone from execution host to execution 
host while maintaining their state. 
Agent 
(State) 
migrate() 
clone() 
are spatially 
distributed autonomous sensors that 
monitor physical or environmental 
conditions (e.g., temperature, sound, 
pressure) and cooperatively pass their data 
through the network to a main location 
(e.g., Base Station with human operators). 
<<deployed on>> 
node 
base station 
main location
Software Agent for WSN 
, a middleware specifically 
designed to support the programming of 
self-adaptive applications on WSNs. 
Agent(s) 
(State) 
Tuple Space Neighbors List 
• Allows multiple agents to execute on each 
node autonomously 
o (local) tuple space: shared memory of typed data objects 
retrieved by field matching by local agents 
o neighbors list: to know where to migrate() or clone() 
• Implemented on top of 
o open source OS, for resource-constrained nodes 
o written in nesC, a C dialect designed for the OS. 
Programmers can write applications in C, the core OS is in 
nesC. 
(C, nesC) 
Node Hardware
Software Agent for WSN 
provides an Instruction Set 
Architecture (ISA) ≈ 80 instructions 
o e.g., pushc, jumpc, pop, halt, sense, clone... 
Agent 
jumpc Task B 
sense 
ISA 
pushc 
halt 
Tuple Space Neighbors List 
(C, nesC) 
Node Hardware 
Agents are not programmed in 
nesC or C but in an assembly-like 
language. Task A 
Task B 
Task ... 
• Agents are structured in named Tasks 
grouping related instructions. 
• Control flow instructions (jump, jumpc, 
rjump) use Tasks as parameter.
Software Agent for WSN 
• Wildfire Tracking Application 
PC BaseStation 
Reader 
Agent 
node
Software Agent for WSN 
• Wildfire Tracking Application 
PC BaseStation 
node 
Reader 
Agent 
The BS injects a 
Tracker Agent 
that clones itself 
on nodes until the 
fire perimeter is 
detected 
Tracker 
Agent
Software Agent for WSN 
• Wildfire Tracking Application 
PC BaseStation 
node 
Reader 
Agent 
Tracker 
Agent 
The BS injects a 
Tracker Agent 
that clones itself 
on nodes until the 
fire perimeter is 
detected 
perimeter
Software 
code 
control flow 
1 
2 
3 
4 
5 
6 
7 
8 
9 
1 
0 
1 
1 
1 
2 
8 
8 
1 
0 
1 
0 
Tracker 
Agent 
BEGIN 
OUT_DETECTOR 
DIE 
REGISTER_RXN 
CHECK_NEIGHBORS 
RANDOM_MOVE 
FORM_BARRIER 
BARRIER_LOOP 
BARRIER_DONE 
BARRIER_FIRE 
BARRIER_NXT 
BARRIER_NXT2 
Control Flow: 
• Determined by goto-like 
instructions 
• E.g, rjump, rjumpc
fUML-Driven Design of Agilla Agents 
AGILLA 
middleware 
Performance 
Analysis 
MDE user 
AGILLA developer 
Analysis expert 
Modeling&Analysis with AMF 
AGILLA 
middleware 
TinyOS 
Agent 
WSN 
Target Platform 
Foundational 
UML 
Model Library 
Classes 
Activities 
fUML Simulation 
fUML modeler
fUML-Driven Design of Agilla Agents 
• Foundational UML: Executable semantics for a strict subset 
of UML, i.e., Classes and Activities 
Metamodel 
COMPOSITE STRUCTURES 
COMPONENTS 
DEPLOYMENTS 
INTERACTIONS 
STATE MACHINES 
USE CASES 
lightweight extensions by 
PROFILES 
CLASSES 
ACTIVITIES 
ACTIONS 
Executable Model 
Modeling 
Tool 
Simulation 
Tool 
including fUML VM 
by OMG
fUML-Driven Design of Agilla Agents 
• Design (OO) guideline: Activities as Operations' bodies. 
Metamodel Executable Model
fUML-Driven Design of Agilla Agents 
• Design (OO) guideline: Activities as Operations' bodies. 
MM Executable Model of Agilla Agents 
Agents and Tasks 
as user-defined 
model elements 
ISA 
Tuple Space Neighbors List 
Agilla ISA as 
reusable 
model elements 
i.e., <<model library>> 
import 
model instrumentation
fUML-Driven Design of Agilla Agents 
• Design (OO) guideline: Activities as Operations' bodies. 
MM Executable Model of Agilla Agents 
Structure: 
composite hierarchy of 
1. App [1] 
as Classes 
2. Agents[1..*] 
as Classes 
3. Tasks[1..*] 
as Classes and Operations 
4. Instruction[1..*]? 
from the model library
fUML-Driven Design of Agilla Agents 
• Design (OO) guideline: Activities as Operations' bodies. 
MM Executable Model of Agilla Agents 
Behavior 
hierarchy of Activities 
for Agents and Tasks 
Tracker::main() 
BEGIN::main() 
from the model library
fUML-Driven Design of Agilla Agents 
The AMF Library exploits the simulation capability of fUML 
MM Executable Model of AMF Library 
•Parsing 
it generates AppComp, 
AgentComp, TaskComp and 
InstrComp active objects 
App model (structure) AMF model lib 
Agilla 
structural elements 
simulation & analysis tracing 
… 
x74 
app-specific 
architectural elements 
•Instruction Semantics 
Different Executors schedule 
active objects and finally 
execute() instructions. 
•Tracing 
Execution flows as determined 
by instructions. 
"Jumps" are stochastic 
variables
fUML-Driven Design of Agilla Agents 
Model Instrumentation: connecting user model with AMF library 
MM Executable Model of Agilla Agents and AMF Library combined 
Agilla 
structural elements 
simulation & analysis tracing 
model instrumentation
fUML-Driven Performance Analysis 
AGILLA 
middleware 
MDE user 
AGILLA developer 
Analysis expert 
Modeling&Analysis with AMF 
AGILLA 
middleware 
TinyOS 
Agent 
WSN 
Target Platform 
Foundational 
UML 
Model Library 
Classes 
Activities 
fUML Simulation 
fUML modeler 
Performance 
Analysis 
System 
Response 
Time 
Timings
fUML-Driven Performance Analysis 
The AMF Library enables Performance Analysis 
by fUML Simulation 
MM Executable Model of AMF Library 
•Analysis 
Analyzers execute the 
performance analysis 
algorithms during the fUML 
model simulation 
App model (structure) AMF model lib 
Agilla 
structural elements 
simulation & analysis tracing 
… 
x74 
app-specific 
architectural elements 
•of the corresponding 
active objects 
•and traces.
fUML-Driven Performance Analysis 
Semantics of rdp instruction (fUML Activity) 
MM Executable Model of AMF Library
fUML-Driven Performance Analysis 
Semantics of rdp instruction (fUML Activity) 
MM Executable Model of AMF Library
fUML-Driven Performance Analysis 
• Foundational UML lacks the concept of time 
• 4 kinds of Timings for Performance Analysis are managed by AMF 
@fUML simulation time 
control flow 
1 
2 
3 
4 
5 
6 
7 
8 
9 
8 
8 
:AgentExecTrace 
1 
:TaskExecTrace 
2 
3 
4 
5 
6 
7 
8 
9 
:TaskExecTrace 
:TaskExecTrace 
:TaskExecTrace 
:TaskExecTrace 
:TaskExecTrace 
:TaskExecTrace 
:TaskExecTrace 
:TaskExecTrace 
pushn:InstrExecTrace 
pushc:InstrExecTrace 
rdp:InstrExecTrace 
rjumpc:InstrExecTrace 
Execution Time 
/Arrival Time 
/Waiting Time 
/Completion Time 
ETs for each type Agilla Instruction 
are given as input and are 
measured on Target Platforms 
Other timings (ATs,WTs,CTs) are 
derived @simulation time by 
AMF's algorithms
fUML-Driven Performance Analysis 
fUML instance model of WTA structure 
(InstanceSpecification, Slots) 
fUML instance model of Execution Traces 
(InstanceSpecification, Slots) 
fUML instance model of Analysis 
Results 
(InstanceSpecification, Slots)
fUML-Driven Performance Analysis
fUML-Driven Performance Analysis 
WTA fUML Model @ simulation 
time: 
• Queuing Network with M/M/1 
service center 
• First Come First Served policy 
for Agents 
• Performance Index: 
System Response Time 
• 10# simulation runs 
fUML Simulation
Conclusions 
• fUML-driven Design and Performance Analysis of Software Agents 
for Wireless Sensor Network 
• Everything is a (UML) Model: the Case Study, AMF, Analysis Results 
• No need of model transformations to external notations 
• Tool supported (UML Modeling Tools, fUML Virtual Machine, AMF) 
• Scalability issue: fUML VM optimization for V&V activities 
required, better model library design
Conclusions 
• Who's next? 
? 
? 
? 
?
Questions 
Luca Berardinelli, Antinisca Di Marco, Stefano Pace 
Post Doc @ DISIM 
University of L’Aquila

More Related Content

What's hot

Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Ed Seidewitz
 
Uml with detail
Uml with detailUml with detail
Uml with detailHamza Khan
 
An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsMohammed Misbhauddin
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
An introduction to uml
An introduction to umlAn introduction to uml
An introduction to umlTony Huynh
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with umlsabin kafle
 
Introduction To Uml
Introduction To UmlIntroduction To Uml
Introduction To Umlguest514814
 
UML - Unified Modelling Language
UML - Unified Modelling LanguageUML - Unified Modelling Language
UML - Unified Modelling LanguageAnoop VJ
 
Object oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageObject oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageIsmail El Gayar
 
10 ooad uml-13
10 ooad uml-1310 ooad uml-13
10 ooad uml-13Niit Care
 
Book of Uml
Book of UmlBook of Uml
Book of UmlNiit
 
[2016/2017] Architectural languages
[2016/2017] Architectural languages[2016/2017] Architectural languages
[2016/2017] Architectural languagesIvano Malavolta
 

What's hot (18)

Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)
 
Uml with detail
Uml with detailUml with detail
Uml with detail
 
An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence Diagrams
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
Uml2
Uml2Uml2
Uml2
 
An introduction to uml
An introduction to umlAn introduction to uml
An introduction to uml
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
 
Introduction To Uml
Introduction To UmlIntroduction To Uml
Introduction To Uml
 
UML - Unified Modelling Language
UML - Unified Modelling LanguageUML - Unified Modelling Language
UML - Unified Modelling Language
 
Object oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageObject oriented methodology & unified modeling language
Object oriented methodology & unified modeling language
 
UML
UMLUML
UML
 
10 ooad uml-13
10 ooad uml-1310 ooad uml-13
10 ooad uml-13
 
Book of Uml
Book of UmlBook of Uml
Book of Uml
 
[2016/2017] Architectural languages
[2016/2017] Architectural languages[2016/2017] Architectural languages
[2016/2017] Architectural languages
 
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
 
UML Basics
UML BasicsUML Basics
UML Basics
 

Similar to fUML-Driven Design and Performance Analysis of Software Agents for Wireless Sensor Networks

fUML-Driven Performance Analysis through the MOSES Model Library
fUML-Driven Performance Analysisthrough the MOSES Model LibraryfUML-Driven Performance Analysisthrough the MOSES Model Library
fUML-Driven Performance Analysis through the MOSES Model LibraryLuca Berardinelli
 
Presentation1.2.pptx
Presentation1.2.pptxPresentation1.2.pptx
Presentation1.2.pptxpranaykusuma
 
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data StreamsMachine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data StreamsLightbend
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processesmanishthaper
 
Azure Function Workflow
Azure Function WorkflowAzure Function Workflow
Azure Function WorkflowAndrea Tosato
 
[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)Ivano Malavolta
 
Operationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML ModelsOperationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML ModelsLightbend
 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Benoit Combemale
 
RT15 Berkeley | ePHASORsim: Real-time transient stability simulation tool - O...
RT15 Berkeley | ePHASORsim: Real-time transient stability simulation tool - O...RT15 Berkeley | ePHASORsim: Real-time transient stability simulation tool - O...
RT15 Berkeley | ePHASORsim: Real-time transient stability simulation tool - O...OPAL-RT TECHNOLOGIES
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!melbats
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!melbats
 
AADL: Architecture Analysis and Design Language
AADL: Architecture Analysis and Design LanguageAADL: Architecture Analysis and Design Language
AADL: Architecture Analysis and Design LanguageIvano Malavolta
 
RTI-CODES+ISSS-2012-Submission-1
RTI-CODES+ISSS-2012-Submission-1RTI-CODES+ISSS-2012-Submission-1
RTI-CODES+ISSS-2012-Submission-1Serge Amougou
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
 
U Xml Defense presentation
U Xml Defense presentationU Xml Defense presentation
U Xml Defense presentationksp4186
 
[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)Ivano Malavolta
 
Measurement .Net Performance with BenchmarkDotNet
Measurement .Net Performance with BenchmarkDotNetMeasurement .Net Performance with BenchmarkDotNet
Measurement .Net Performance with BenchmarkDotNetVasyl Senko
 
Simulation with Python and MATLAB® in Capella
Simulation with Python and MATLAB® in CapellaSimulation with Python and MATLAB® in Capella
Simulation with Python and MATLAB® in CapellaObeo
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysislienhard
 

Similar to fUML-Driven Design and Performance Analysis of Software Agents for Wireless Sensor Networks (20)

fUML-Driven Performance Analysis through the MOSES Model Library
fUML-Driven Performance Analysisthrough the MOSES Model LibraryfUML-Driven Performance Analysisthrough the MOSES Model Library
fUML-Driven Performance Analysis through the MOSES Model Library
 
Presentation1.2.pptx
Presentation1.2.pptxPresentation1.2.pptx
Presentation1.2.pptx
 
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data StreamsMachine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
Azure Function Workflow
Azure Function WorkflowAzure Function Workflow
Azure Function Workflow
 
[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)[2016/2017] AADL (Architecture Analysis and Design Language)
[2016/2017] AADL (Architecture Analysis and Design Language)
 
Operationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML ModelsOperationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML Models
 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
 
RT15 Berkeley | ePHASORsim: Real-time transient stability simulation tool - O...
RT15 Berkeley | ePHASORsim: Real-time transient stability simulation tool - O...RT15 Berkeley | ePHASORsim: Real-time transient stability simulation tool - O...
RT15 Berkeley | ePHASORsim: Real-time transient stability simulation tool - O...
 
Duma ver3
Duma ver3Duma ver3
Duma ver3
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
 
AADL: Architecture Analysis and Design Language
AADL: Architecture Analysis and Design LanguageAADL: Architecture Analysis and Design Language
AADL: Architecture Analysis and Design Language
 
RTI-CODES+ISSS-2012-Submission-1
RTI-CODES+ISSS-2012-Submission-1RTI-CODES+ISSS-2012-Submission-1
RTI-CODES+ISSS-2012-Submission-1
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
U Xml Defense presentation
U Xml Defense presentationU Xml Defense presentation
U Xml Defense presentation
 
[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)[2015/2016] AADL (Architecture Analysis and Design Language)
[2015/2016] AADL (Architecture Analysis and Design Language)
 
Measurement .Net Performance with BenchmarkDotNet
Measurement .Net Performance with BenchmarkDotNetMeasurement .Net Performance with BenchmarkDotNet
Measurement .Net Performance with BenchmarkDotNet
 
Simulation with Python and MATLAB® in Capella
Simulation with Python and MATLAB® in CapellaSimulation with Python and MATLAB® in Capella
Simulation with Python and MATLAB® in Capella
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysis
 

More from Luca Berardinelli

Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...Luca Berardinelli
 
Combining fUML and profiles for non-functional analysis based on model execut...
Combining fUML and profiles for non-functional analysis based on model execut...Combining fUML and profiles for non-functional analysis based on model execut...
Combining fUML and profiles for non-functional analysis based on model execut...Luca Berardinelli
 
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLeveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLuca Berardinelli
 
Model Driven Engineering for Smart Cities
Model Driven Engineering for Smart Cities Model Driven Engineering for Smart Cities
Model Driven Engineering for Smart Cities Luca Berardinelli
 
Uncertainty-wise Engineering of IoT Cloud Systems
Uncertainty-wise Engineering of IoT Cloud SystemsUncertainty-wise Engineering of IoT Cloud Systems
Uncertainty-wise Engineering of IoT Cloud SystemsLuca Berardinelli
 
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...Luca Berardinelli
 
AutomationML: A Model-Driven View
AutomationML: A Model-Driven ViewAutomationML: A Model-Driven View
AutomationML: A Model-Driven ViewLuca Berardinelli
 
Integrating Performance Modeling in Industrial Automation through AutomationM...
Integrating Performance Modeling in Industrial Automation through AutomationM...Integrating Performance Modeling in Industrial Automation through AutomationM...
Integrating Performance Modeling in Industrial Automation through AutomationM...Luca Berardinelli
 
On The Evolution of CAEX: A Language Engineering Perspective
On The Evolution of CAEX: A Language Engineering PerspectiveOn The Evolution of CAEX: A Language Engineering Perspective
On The Evolution of CAEX: A Language Engineering PerspectiveLuca Berardinelli
 
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...Luca Berardinelli
 
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UMLECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UMLLuca Berardinelli
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015Luca Berardinelli
 
Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015Luca Berardinelli
 
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...Luca Berardinelli
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionLuca Berardinelli
 
Context-aware Performance Modeling and Analysis
Context-aware Performance Modeling and AnalysisContext-aware Performance Modeling and Analysis
Context-aware Performance Modeling and AnalysisLuca Berardinelli
 

More from Luca Berardinelli (17)

Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
 
Combining fUML and profiles for non-functional analysis based on model execut...
Combining fUML and profiles for non-functional analysis based on model execut...Combining fUML and profiles for non-functional analysis based on model execut...
Combining fUML and profiles for non-functional analysis based on model execut...
 
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLeveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
 
Model Driven Engineering for Smart Cities
Model Driven Engineering for Smart Cities Model Driven Engineering for Smart Cities
Model Driven Engineering for Smart Cities
 
Uncertainty-wise Engineering of IoT Cloud Systems
Uncertainty-wise Engineering of IoT Cloud SystemsUncertainty-wise Engineering of IoT Cloud Systems
Uncertainty-wise Engineering of IoT Cloud Systems
 
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
COMBINING MODEL-DRIVEN ENGINEERING AND ELASTIC EXECUTION FOR TESTING UNCERTAI...
 
AutomationML: A Model-Driven View
AutomationML: A Model-Driven ViewAutomationML: A Model-Driven View
AutomationML: A Model-Driven View
 
Integrating Performance Modeling in Industrial Automation through AutomationM...
Integrating Performance Modeling in Industrial Automation through AutomationM...Integrating Performance Modeling in Industrial Automation through AutomationM...
Integrating Performance Modeling in Industrial Automation through AutomationM...
 
On The Evolution of CAEX: A Language Engineering Perspective
On The Evolution of CAEX: A Language Engineering PerspectiveOn The Evolution of CAEX: A Language Engineering Perspective
On The Evolution of CAEX: A Language Engineering Perspective
 
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
 
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UMLECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
ECMFA 2015 - Energy Consumption Analysis and Design with Foundational UML
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
 
Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015Metamodeling - Advanced Software Engineering Course 2014/2015
Metamodeling - Advanced Software Engineering Course 2014/2015
 
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
Combining fUML and Profiles for Non-Functional Analysis Based on Model Execut...
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context Evolution
 
Mosquito
MosquitoMosquito
Mosquito
 
Context-aware Performance Modeling and Analysis
Context-aware Performance Modeling and AnalysisContext-aware Performance Modeling and Analysis
Context-aware Performance Modeling and Analysis
 

Recently uploaded

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Recently uploaded (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

fUML-Driven Design and Performance Analysis of Software Agents for Wireless Sensor Networks

  • 1. fUML-driven Design and Performance Analysis of Software Agents for Wireless Sensor Network Luca Berardinelli, Antinisca Di Marco, Stefano Pace Post Doc @ DISIM University of L’Aquila
  • 2. The AGILLA Modeling Framework AGILLA Modeling Framework + + AGILLA middleware TinyOS Agent WSN Target Platform Foundational UML Model Library Classes Activities Performance Analysis System Response Time Timings fUML Simulation
  • 3. The AGILLA Modeling Framework AGILLA developer fUML modeler AGILLA middleware MDE user Foundational UML Performance Analysis fUML Simulation Analysis expert Modeling&Analysis with AMF 1.Everything is a (UML) Model: the Case Study, AMF, Analysis Results 2.No need of model transformations to external notations 3.Tool supported (UML Modeling Tools, fUML Virtual Machine, AMF)
  • 4. Software Agent for WSN AGILLA developer fUML modeler AGILLA middleware MDE user Foundational UML Performance Analysis fUML Simulation Analysis expert Modeling&Analysis with AMF AGILLA middleware TinyOS Agent WSN Target Platform
  • 5. Software Agent for WSN are special software processes that can explicitly migrate or clone from execution host to execution host while maintaining their state. Agent (State) migrate() clone() are spatially distributed autonomous sensors that monitor physical or environmental conditions (e.g., temperature, sound, pressure) and cooperatively pass their data through the network to a main location (e.g., Base Station with human operators). <<deployed on>> node base station main location
  • 6. Software Agent for WSN , a middleware specifically designed to support the programming of self-adaptive applications on WSNs. Agent(s) (State) Tuple Space Neighbors List • Allows multiple agents to execute on each node autonomously o (local) tuple space: shared memory of typed data objects retrieved by field matching by local agents o neighbors list: to know where to migrate() or clone() • Implemented on top of o open source OS, for resource-constrained nodes o written in nesC, a C dialect designed for the OS. Programmers can write applications in C, the core OS is in nesC. (C, nesC) Node Hardware
  • 7. Software Agent for WSN provides an Instruction Set Architecture (ISA) ≈ 80 instructions o e.g., pushc, jumpc, pop, halt, sense, clone... Agent jumpc Task B sense ISA pushc halt Tuple Space Neighbors List (C, nesC) Node Hardware Agents are not programmed in nesC or C but in an assembly-like language. Task A Task B Task ... • Agents are structured in named Tasks grouping related instructions. • Control flow instructions (jump, jumpc, rjump) use Tasks as parameter.
  • 8. Software Agent for WSN • Wildfire Tracking Application PC BaseStation Reader Agent node
  • 9. Software Agent for WSN • Wildfire Tracking Application PC BaseStation node Reader Agent The BS injects a Tracker Agent that clones itself on nodes until the fire perimeter is detected Tracker Agent
  • 10. Software Agent for WSN • Wildfire Tracking Application PC BaseStation node Reader Agent Tracker Agent The BS injects a Tracker Agent that clones itself on nodes until the fire perimeter is detected perimeter
  • 11. Software code control flow 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 8 8 1 0 1 0 Tracker Agent BEGIN OUT_DETECTOR DIE REGISTER_RXN CHECK_NEIGHBORS RANDOM_MOVE FORM_BARRIER BARRIER_LOOP BARRIER_DONE BARRIER_FIRE BARRIER_NXT BARRIER_NXT2 Control Flow: • Determined by goto-like instructions • E.g, rjump, rjumpc
  • 12. fUML-Driven Design of Agilla Agents AGILLA middleware Performance Analysis MDE user AGILLA developer Analysis expert Modeling&Analysis with AMF AGILLA middleware TinyOS Agent WSN Target Platform Foundational UML Model Library Classes Activities fUML Simulation fUML modeler
  • 13. fUML-Driven Design of Agilla Agents • Foundational UML: Executable semantics for a strict subset of UML, i.e., Classes and Activities Metamodel COMPOSITE STRUCTURES COMPONENTS DEPLOYMENTS INTERACTIONS STATE MACHINES USE CASES lightweight extensions by PROFILES CLASSES ACTIVITIES ACTIONS Executable Model Modeling Tool Simulation Tool including fUML VM by OMG
  • 14. fUML-Driven Design of Agilla Agents • Design (OO) guideline: Activities as Operations' bodies. Metamodel Executable Model
  • 15. fUML-Driven Design of Agilla Agents • Design (OO) guideline: Activities as Operations' bodies. MM Executable Model of Agilla Agents Agents and Tasks as user-defined model elements ISA Tuple Space Neighbors List Agilla ISA as reusable model elements i.e., <<model library>> import model instrumentation
  • 16. fUML-Driven Design of Agilla Agents • Design (OO) guideline: Activities as Operations' bodies. MM Executable Model of Agilla Agents Structure: composite hierarchy of 1. App [1] as Classes 2. Agents[1..*] as Classes 3. Tasks[1..*] as Classes and Operations 4. Instruction[1..*]? from the model library
  • 17. fUML-Driven Design of Agilla Agents • Design (OO) guideline: Activities as Operations' bodies. MM Executable Model of Agilla Agents Behavior hierarchy of Activities for Agents and Tasks Tracker::main() BEGIN::main() from the model library
  • 18. fUML-Driven Design of Agilla Agents The AMF Library exploits the simulation capability of fUML MM Executable Model of AMF Library •Parsing it generates AppComp, AgentComp, TaskComp and InstrComp active objects App model (structure) AMF model lib Agilla structural elements simulation & analysis tracing … x74 app-specific architectural elements •Instruction Semantics Different Executors schedule active objects and finally execute() instructions. •Tracing Execution flows as determined by instructions. "Jumps" are stochastic variables
  • 19. fUML-Driven Design of Agilla Agents Model Instrumentation: connecting user model with AMF library MM Executable Model of Agilla Agents and AMF Library combined Agilla structural elements simulation & analysis tracing model instrumentation
  • 20. fUML-Driven Performance Analysis AGILLA middleware MDE user AGILLA developer Analysis expert Modeling&Analysis with AMF AGILLA middleware TinyOS Agent WSN Target Platform Foundational UML Model Library Classes Activities fUML Simulation fUML modeler Performance Analysis System Response Time Timings
  • 21. fUML-Driven Performance Analysis The AMF Library enables Performance Analysis by fUML Simulation MM Executable Model of AMF Library •Analysis Analyzers execute the performance analysis algorithms during the fUML model simulation App model (structure) AMF model lib Agilla structural elements simulation & analysis tracing … x74 app-specific architectural elements •of the corresponding active objects •and traces.
  • 22. fUML-Driven Performance Analysis Semantics of rdp instruction (fUML Activity) MM Executable Model of AMF Library
  • 23. fUML-Driven Performance Analysis Semantics of rdp instruction (fUML Activity) MM Executable Model of AMF Library
  • 24. fUML-Driven Performance Analysis • Foundational UML lacks the concept of time • 4 kinds of Timings for Performance Analysis are managed by AMF @fUML simulation time control flow 1 2 3 4 5 6 7 8 9 8 8 :AgentExecTrace 1 :TaskExecTrace 2 3 4 5 6 7 8 9 :TaskExecTrace :TaskExecTrace :TaskExecTrace :TaskExecTrace :TaskExecTrace :TaskExecTrace :TaskExecTrace :TaskExecTrace pushn:InstrExecTrace pushc:InstrExecTrace rdp:InstrExecTrace rjumpc:InstrExecTrace Execution Time /Arrival Time /Waiting Time /Completion Time ETs for each type Agilla Instruction are given as input and are measured on Target Platforms Other timings (ATs,WTs,CTs) are derived @simulation time by AMF's algorithms
  • 25. fUML-Driven Performance Analysis fUML instance model of WTA structure (InstanceSpecification, Slots) fUML instance model of Execution Traces (InstanceSpecification, Slots) fUML instance model of Analysis Results (InstanceSpecification, Slots)
  • 27. fUML-Driven Performance Analysis WTA fUML Model @ simulation time: • Queuing Network with M/M/1 service center • First Come First Served policy for Agents • Performance Index: System Response Time • 10# simulation runs fUML Simulation
  • 28. Conclusions • fUML-driven Design and Performance Analysis of Software Agents for Wireless Sensor Network • Everything is a (UML) Model: the Case Study, AMF, Analysis Results • No need of model transformations to external notations • Tool supported (UML Modeling Tools, fUML Virtual Machine, AMF) • Scalability issue: fUML VM optimization for V&V activities required, better model library design
  • 29. Conclusions • Who's next? ? ? ? ?
  • 30. Questions Luca Berardinelli, Antinisca Di Marco, Stefano Pace Post Doc @ DISIM University of L’Aquila