SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
Haitham El-Ghareeb
 
An introduction to uml
An introduction to umlAn introduction to uml
An introduction to uml
Tony Huynh
 
Introduction To Uml
Introduction To UmlIntroduction To Uml
Introduction To Uml
guest514814
 
Object oriented methodology & unified modeling language
Object oriented methodology & unified modeling languageObject oriented methodology & unified modeling language
Object oriented methodology & unified modeling language
Ismail El Gayar
 
10 ooad uml-13
10 ooad uml-1310 ooad uml-13
10 ooad uml-13
Niit Care
 
Book of Uml
Book of UmlBook of Uml
Book of Uml
Niit
 

Was ist angesagt? (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
 

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

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
Lightbend
 
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
 
RTI-CODES+ISSS-2012-Submission-1
RTI-CODES+ISSS-2012-Submission-1RTI-CODES+ISSS-2012-Submission-1
RTI-CODES+ISSS-2012-Submission-1
Serge Amougou
 
U Xml Defense presentation
U Xml Defense presentationU Xml Defense presentation
U Xml Defense presentation
ksp4186
 
Measurement .Net Performance with BenchmarkDotNet
Measurement .Net Performance with BenchmarkDotNetMeasurement .Net Performance with BenchmarkDotNet
Measurement .Net Performance with BenchmarkDotNet
Vasyl Senko
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysis
lienhard
 

Ähnlich wie 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
 

Mehr von Luca 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
 
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
Luca Berardinelli
 

Mehr von 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
 

Kürzlich hochgeladen

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Kürzlich hochgeladen (20)

WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 

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