SlideShare a Scribd company logo
1 of 23
MICE:
Monitoring and modelIng the
     Context Evolution
                                   Lyon
                                10/09/2012

Luca Berardinelli             Antinisca Di Marco            Flavia Di Paolo
luca.berardinelli@univaq.it   antinisca.dimarco@univaq.it   Flavia.dipaolo@univaq.it

Dipartimento di Ingegneria e Scienze dell’Informazione e Matematica (DSIM)
                       University of L’Aquila (ITALY)
OUTLINE

• Keywords
• Motivations and Motivating Example
• Background: our context modeling and analysis approach
• The MICE Tool
• Ongoing and Future Works
• Conclusions




                                                      2
KEYWORDS
 Context:
 The heterogeneous information that the software system is capable to sense
 from itself or from the external environment that can influence the behavior
 of the services it provides.


 Context Awareness:
 The ability of the software system to sense the context in which it is executing
 and to change the behavior in response to changes of the sensed context.


 Context Evolution:
 The set of changes in the sensed context and their possible (cause-effect)
 relationships.


                                                                                3
MOTIVATIONS

• The Goal:
   – Validation and refinement of (context) models at run-time, as the
     basis for
       • Predictive Analysis of QoS: predicting the QoS of a context-aware software
         system within ranges of parameters that are not (yet!) experienced in practice;
       • Proactive Context Evolution: provinding in advance QoS information so that the
         system adaptation is not blindly taken, but it can be QoS-aware

• Our Contribution:
   – MICE (Monitoring and modelIng the Context Evolution), a supporting tool for
     our context modeling and analysis approach.




                                                                                      4
MOTIVATING EXAMPLE
                                    Doctor                     Mobile eHealth
            home
                                                                                               Service Layer
                                                                                                               Patient

                                                                                      Send Alarm
                                         Request Patient Info       Service Manager
                             open air
                                                                                         Component Layer
            surgery
                                                       Doc Client
                   patient’s home            Doc GUI                  Server App        Beeper Client


                                                                                             Platform Layer
                                              PDA
                                                                            TCP/IP
                                                    Wireless
                                                    Network




 Mobile eHealth (MeH) is a mobile, component-based application for assisting
 doctors in their everyday activities through services running on their PDAs.

 MeH Context may be (but not limited to) a combination of:
 • Physical Location of its users
 • Logical Location of its sw components
 • Configuration of its hardware resources

                                                                                                                         5
BACKGROUND: CONTEXT MODELING
                Luca Berardinelli, Vittorio Cortellessa, Antinisca Di Marco: Performance Modeling
                and Analysis of Context-Aware Mobile Software Systems. FASE 2010
 – An approach presented at FASE 2010                                                               Best Paper
                                                                                                      Award

     System Design Model
                                                        ELEMENT::Awareness Manager
                 Context-related                         tr. prob “,” event “/” [condition] “/” action

    or              ELEMENT                        Aattri=va
                 attr1…attri …attrn                                                          attri=vb        B
   DSLs                                                                                        (π probB)

 – Based on Awareness MANAGERs, a stochastic extension of Harel’s Statecharts
   • can be associated to any modeling element whose attributes contribute to define the
     application-specific context where
   • each state (partially) represents the actual context as a set of attribute values.
   • transitions are triggered by the occurrence of certain event(s) when certain condition(s) are
     verified.
   • Paramenters : Probabilities are associated to transitions.
   • Assumption: Probabilities are exponentially distributed  Markov Model (CTMC)  Steady
      State probability vector may be associated to the state space (π probB)

                                                                                                         6
BACKGROUND: CONTEXT MODELING IN MEH
Awareness Manager examples for the MeH System…




…and an excerpt of their combination. At any time, the context of MeH is triple of three
values




At design-time all the parameter are the transition probabilities (assumed) and the steady
state probabilities (calculated).
                                                                                           7
MICE: Moving AMs from design- to run-time

• Problem: collecting contextual data at run-time to
  continuously update the AMs
   – Req.1: MICE has to support our Context Modeling approach
   – Req.2: The implementation effort should be appropriate w.r.t.
     the availability of human resources and their skills (few
     undergraduate/graduate students)
   – Req.3: The maintenance effort should be as lower as possible
     (students usually leave the project after the end of the
     exam/thesis).
   – Req.4: MICE has to reuse COTS as much as possible (it helps in
     satisfying Req.2 and 3).


                                                                  8
MICE: Moving AMs from design- to run-time

MICE is a composite and distributed system that includes three
main components with the following roles:
• Monitor. It is in charge of collecting the heterogeneous data that
  are sensed by the context-aware application (e.g., the battery level
  or the CPU frequency). The raw data are then sent to a remote
  Context Data Repository.
• Context Data Repository. It collects the contextual data sent by
  any Monitor and makes them available for further elaborations.
• Modeling Component. It retrieves data from a Context Data
  Repository and elaborates them to generate context models (i.e.
  AMs).

                                                                    9
MICE: Moving AMs from design- to run-time

• Monitor: Battery Status (COTS)
• Context Data Repository: Cosm (COTS)
• Modeling Component: Context Model API (in-house)

                                  Monitoring Component
                                     (Battery Status Cosm)
      Context Data
       Repository
                           HTTP
      (Cosm Web Service)
                                      Modeling Component

                                      Context Model API
                                         (EMF-based API)
        MICE


                                                             10
MICE: Moving AMs from design- to run-time
                                                                       PDA (Android Device)
Monitor: Battery Status App (COTS)
                                                           Battery                                   WiFi      Screen
                                                                                                     Card
Keep track of your battery information.




                                                                       plugged (1/0)
                                                                                        temp ( C)
                                                          level (%)
This app runs in the background collecting you




                                                                                                     on/off




                                                                                                               on/off
battery level, voltage, temperature and
plugged state and sends this information to
your Cosm account.                                        Monitoring Component
                                                                              (Battery Status Cosm)
Additional data is also collected:                                     Context Aware System
- Screen brightness                                                        (MeH Client)
- Network status
- Phone Call state
- WiFi on/off
- Bluetooth on/off
- Data transferred

          https://play.google.com/store/apps/details?id=nfcf.BatteryStatus&hl=en
                                                                                                                         11
MICE: Moving AMs from design- to run-time

Context Data Repository: Cosm (COTS)
Cosm is a RESTful Web service that, through                Cosm-enabled device
                                                            Cosm-enabled device
                                                            Cosm-enabled device
the HTTP protocol, allows the publication
(POST) and retrieval (GET) of sensor-derived




                                                                feed
contextual data to/from the Web.

The whole heterogeneous contextual data
                                                      Context Data             Raw Data (feed)
collected from a Cosm-enabled device is
organized in feeds. The latter are divided in          Repository
(typed) datastreams that, in turn, are                    (Cosm Web Service)     HTTP
composed by datapoints, each representing a
single value of a datastream at a specific point                                Raw Data (feed)
in time.

Any feed on Cosm belongs to a registered user
that may decide to keep them private or
public.
                          https://cosm.com/how_it_works
                                                                                         12
MICE: Moving AMs from design- to run-time

Context Data Repository: Cosm (COTS)


Battery Level: 35 (%)
at Aug 15 20:01:15

                                     Data Not Collected



Plugged: 1 (true)
at Aug 15 20:01:15




                        https://cosm.com/how_it_works
                                                          13
MICE: Moving AMs from design- to run-time

Modeling Component (in house)
It includes a
                                                             Modeling Component

 - Parameters Extractor that sets the state-
                                                             Context Model API
   steady probabilities π of the modeled                       (EMF-based API)
   Manager by processing the real data




                                                                                 Manager(s)
   collected by the Monitoring Component.

 - Context Manager Editor that allows the
   modeling of the Managers

 They are both based on a Context Model API




           http://code.google.com/a/eclipselabs.org/p/context-manager/
                                                                                               14
MICE: Moving AMs from design- to run-time
Context Model API has been automatically obtained from a Ecore-based AM
                              Metamodel




                                                                   15
MICE: Moving AMs from design- to run-time

Modeling Component: Context Model API (in-house)
 The Modeling Component has been implemented
 from scratch in Java.                                            Modeling Component
 It is composed by a Context Manager Editor that
 allows the modeling of the Managers, plus a                      Context Model API
 Parameters Extractor that sets the state-steady                    (EMF-based API)
 probabilities π of the modeled Manager by
 processing the real data collected by the
 Monitoring Component.

 The Parameter Extractor retrieves the raw
 monitored data stored in the Context Repository
 COTS and then calculates the state-steady
 probabilities from the sojourn times in the identified
 awareness states.
                Thanks to Giovanni Di Santo (Context Editor, Bachelor Thesis)

             http://code.google.com/a/eclipselabs.org/p/context-manager/
                                                                                       16
MICE: Moving AMs from design- to run-time
                                                                                   PDA (Android Device)
MICE at a glance
                                                               Battery                                             WiFi      Screen
                                                                                                                   Card




                                                                                    plugged (1/0)
                   Cosm-enabled device
                    Cosm-enabled device
                    Cosm-enabled device




                                                                                                      temp ( C)
                                                              level (%)




                                                                                                                   on/off




                                                                                                                             on/off
                            feed
                                                              Monitoring Component
                                           Raw Data (feed)                              (Battery Status Cosm)
                     Context Data
    Thanks to                                                                      Context Aware System
                      Repository                                                       (MeH Client)
 Flavia Di Paolo                            HTTP
                      (Cosm Web Service)
   (co-author)
                                                                                               Modeling Component
(MICE, Bachelor                            Raw Data (feed)
     Thesis)                                                                                         Context Model API
                                                                                                          (EMF-based API)

                                                                           Manager(s)
                        MICE

                                                                                                             JVM-compatible Device
                                                                                                                                       17
MICE@WORK: MeH Running Example
                                                                         MICE v1

The following list summarizes the main steps that have been undertaken to set up
the running example (Mice v.1):
• We created a Cosm account;
• We installed, set up and started the BatteryStatus application on two Android
  devices so that new datapoint were sent by BatteryStatus every 15 minutes;
• We retrieved from Cosm the up-to-date collection of level datapoints of the
  latest 30 calendar days (as a CSV file).
• We set a user-defined percentage threshold, for example strictly greater than
  25%, and coupled each level datapoint with the high power or the low power
  awareness states, respectively;

                                                                            High
Battery Level: 35 (%)                                                      Power
at Aug 15 20:01:15
                   25%                                       threshold


                                       Data Not Collected                   Low
                                                                           Power
                                                                                18
MICE@WORK: MeH Running Example
                                                                 MICE v1

• We calculated the sojourn times in the high and low power states by
  counting the number of couples, each corresponding to a time slot of 15
  minutes, assigned to the high and low power awareness states.
• Given the total amount of minutes in a single day (1440) and in a
  month of 31 days (46400) we calculated the percentage of time spent
  in high and low power (i) during the latest monitored day at the time of
  writing and (ii) in the latest monitored month.




                                                                       19
ONGOING AND FUTURE WORKS
                                                                  MICE v2


• We are combining different datastreams (e.g., level and plugged) to
  create more complex Awareness Managers.
                                                     Under
                                                     Charge

 Battery Level: 35 (%)
 at Aug 15 20:01:15        High
                          Power
                   25%
                                                               Low
                                    Data Not Collected        Power



Plugged: 1 (true)
at Aug 15 20:01:15




                                                                        20
ONGOING AND FUTURE WORKS

• We are formalizing the proposed context modeling notation to suitably
  combine ( ◦ ) two or more Awareness Managers, including remote firings
  (i.e. AM dependencies), into a multi-attribute Context Manager that still
  remains a valid Markov Model.




• We are combining Context, Design and Analysis Models at run-time. We
  already combine these different kind of models but at design-time
  (NFPinDSML@Models 2009)



                                                                        21
CONCLUSIONS

• We presented MICE, a distributed tool for monitoring and
  modeling the context evolution;
• It is meant to support an existing Context Modeling and
  Analysis Approach presented at FASE 2010;
• MICE exploits existing COTS to reduce its implementation and
  maintenance efforts so making it suitable for undergraduate
  and graduate students
• MICE is an ongoing work available at
  http://code.google.com/a/eclipselabs.org/p/context-manager/

                 Thanks for your attention.
         Questions and suggestions are very welcome
                                                             22
23

More Related Content

What's hot

Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiabilityFrank Gielen
 
Sa 007 availability
Sa 007 availabilitySa 007 availability
Sa 007 availabilityFrank Gielen
 
System Structure for Dependable Software Systems
System Structure for Dependable Software SystemsSystem Structure for Dependable Software Systems
System Structure for Dependable Software SystemsVincenzo De Florio
 
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...Applied Computing Group
 

What's hot (8)

Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
 
Se
SeSe
Se
 
Sa 007 availability
Sa 007 availabilitySa 007 availability
Sa 007 availability
 
Tapp11 presentation
Tapp11 presentationTapp11 presentation
Tapp11 presentation
 
System Structure for Dependable Software Systems
System Structure for Dependable Software SystemsSystem Structure for Dependable Software Systems
System Structure for Dependable Software Systems
 
Cv32608610
Cv32608610Cv32608610
Cv32608610
 
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
 
Gg
GgGg
Gg
 

Viewers also liked

Context Aware User Modeling for Recommendation
Context Aware User Modeling for RecommendationContext Aware User Modeling for Recommendation
Context Aware User Modeling for RecommendationBamshad Mobasher
 
Compte Rendu Mission US sept 2012
Compte Rendu Mission US sept 2012Compte Rendu Mission US sept 2012
Compte Rendu Mission US sept 2012Matthias Fille
 
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-Series
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-SeriesBehaviometrics: Behavior Modeling from Heterogeneous Sensory Time-Series
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-SeriesJiang Zhu
 
Chapter 9 quality issue for mice event
Chapter 9   quality issue for mice eventChapter 9   quality issue for mice event
Chapter 9 quality issue for mice eventPavit Tansakul
 
Chapter 1 introduction to mice
Chapter 1   introduction to miceChapter 1   introduction to mice
Chapter 1 introduction to micePavit Tansakul
 

Viewers also liked (9)

Mosquito
MosquitoMosquito
Mosquito
 
MICE - Products & Services
MICE - Products & ServicesMICE - Products & Services
MICE - Products & Services
 
Context Aware User Modeling for Recommendation
Context Aware User Modeling for RecommendationContext Aware User Modeling for Recommendation
Context Aware User Modeling for Recommendation
 
Compte Rendu Mission US sept 2012
Compte Rendu Mission US sept 2012Compte Rendu Mission US sept 2012
Compte Rendu Mission US sept 2012
 
Mice. pdf
Mice. pdfMice. pdf
Mice. pdf
 
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-Series
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-SeriesBehaviometrics: Behavior Modeling from Heterogeneous Sensory Time-Series
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-Series
 
Chapter 9 quality issue for mice event
Chapter 9   quality issue for mice eventChapter 9   quality issue for mice event
Chapter 9 quality issue for mice event
 
Chapter 1 introduction to mice
Chapter 1   introduction to miceChapter 1   introduction to mice
Chapter 1 introduction to mice
 
Mice Tourism ppt
Mice Tourism pptMice Tourism ppt
Mice Tourism ppt
 

Similar to MICE: Monitoring and modelIng of Context Evolution

Breaking the Walls: A Unified Vision on Context-Oriented Software Engineering
Breaking the Walls: A Unified Vision on Context-Oriented Software EngineeringBreaking the Walls: A Unified Vision on Context-Oriented Software Engineering
Breaking the Walls: A Unified Vision on Context-Oriented Software Engineeringkim.mens
 
Supply Chain Management System
Supply Chain Management SystemSupply Chain Management System
Supply Chain Management Systemguest631b66
 
CVENJamesYu_201512
CVENJamesYu_201512CVENJamesYu_201512
CVENJamesYu_201512James, Yu
 
Towards a Semantic-based Context-as-a-Service for Internet of Things
Towards a Semantic-based Context-as-a-Service for Internet of ThingsTowards a Semantic-based Context-as-a-Service for Internet of Things
Towards a Semantic-based Context-as-a-Service for Internet of ThingsIJCSIS Research Publications
 
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...Till Riedel
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...SBGC
 
Towards a distributed framework to analyze multimodal data.pdf
Towards a distributed framework to analyze multimodal data.pdfTowards a distributed framework to analyze multimodal data.pdf
Towards a distributed framework to analyze multimodal data.pdfCarlosRodrigues517978
 
oneM2M - Management, Abstraction and Semantics
oneM2M - Management, Abstraction and SemanticsoneM2M - Management, Abstraction and Semantics
oneM2M - Management, Abstraction and SemanticsoneM2M
 
Context Aware Computing
Context Aware ComputingContext Aware Computing
Context Aware ComputingMOHIT DADU
 
Smart Connectivity
Smart ConnectivitySmart Connectivity
Smart ConnectivityReza Rahimi
 
Serenity Project: Security in Software Enginering
Serenity Project: Security in Software EngineringSerenity Project: Security in Software Enginering
Serenity Project: Security in Software EngineringFrancisco Sanchez Cid
 
Bandit framework for systematic learning in wireless video based face recogni...
Bandit framework for systematic learning in wireless video based face recogni...Bandit framework for systematic learning in wireless video based face recogni...
Bandit framework for systematic learning in wireless video based face recogni...ieeepondy
 
Process offloading from android device to cloud using JADE.
Process offloading from android device to cloud using JADE.Process offloading from android device to cloud using JADE.
Process offloading from android device to cloud using JADE.David Innocent Fadaraliki
 
Citadel training on context awareness solution
Citadel training on context awareness solutionCitadel training on context awareness solution
Citadel training on context awareness solutionRamnGonzlezRuiz2
 
BrownResearch_CV
BrownResearch_CVBrownResearch_CV
BrownResearch_CVAbby Brown
 

Similar to MICE: Monitoring and modelIng of Context Evolution (20)

Breaking the Walls: A Unified Vision on Context-Oriented Software Engineering
Breaking the Walls: A Unified Vision on Context-Oriented Software EngineeringBreaking the Walls: A Unified Vision on Context-Oriented Software Engineering
Breaking the Walls: A Unified Vision on Context-Oriented Software Engineering
 
Supply Chain Management System
Supply Chain Management SystemSupply Chain Management System
Supply Chain Management System
 
CVENJamesYu_201512
CVENJamesYu_201512CVENJamesYu_201512
CVENJamesYu_201512
 
Towards a Semantic-based Context-as-a-Service for Internet of Things
Towards a Semantic-based Context-as-a-Service for Internet of ThingsTowards a Semantic-based Context-as-a-Service for Internet of Things
Towards a Semantic-based Context-as-a-Service for Internet of Things
 
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
Thesis presentation: Middleware for Ubicomp - A Model Driven Development Appr...
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
 
publishable paper
publishable paperpublishable paper
publishable paper
 
Netkit
NetkitNetkit
Netkit
 
Towards a distributed framework to analyze multimodal data.pdf
Towards a distributed framework to analyze multimodal data.pdfTowards a distributed framework to analyze multimodal data.pdf
Towards a distributed framework to analyze multimodal data.pdf
 
oneM2M - Management, Abstraction and Semantics
oneM2M - Management, Abstraction and SemanticsoneM2M - Management, Abstraction and Semantics
oneM2M - Management, Abstraction and Semantics
 
Context Aware Computing
Context Aware ComputingContext Aware Computing
Context Aware Computing
 
Smart Connectivity
Smart ConnectivitySmart Connectivity
Smart Connectivity
 
Serenity Project: Security in Software Enginering
Serenity Project: Security in Software EngineringSerenity Project: Security in Software Enginering
Serenity Project: Security in Software Enginering
 
Bandit framework for systematic learning in wireless video based face recogni...
Bandit framework for systematic learning in wireless video based face recogni...Bandit framework for systematic learning in wireless video based face recogni...
Bandit framework for systematic learning in wireless video based face recogni...
 
Fleksible sundhedsprocesser af Thomas Hildebrandt, ITU
Fleksible sundhedsprocesser af Thomas Hildebrandt, ITUFleksible sundhedsprocesser af Thomas Hildebrandt, ITU
Fleksible sundhedsprocesser af Thomas Hildebrandt, ITU
 
Cisco project ideas
Cisco   project ideasCisco   project ideas
Cisco project ideas
 
Finald
FinaldFinald
Finald
 
Process offloading from android device to cloud using JADE.
Process offloading from android device to cloud using JADE.Process offloading from android device to cloud using JADE.
Process offloading from android device to cloud using JADE.
 
Citadel training on context awareness solution
Citadel training on context awareness solutionCitadel training on context awareness solution
Citadel training on context awareness solution
 
BrownResearch_CV
BrownResearch_CVBrownResearch_CV
BrownResearch_CV
 

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
 
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
 
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...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
 
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
 
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
 
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
 
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...
 
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

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

MICE: Monitoring and modelIng of Context Evolution

  • 1. MICE: Monitoring and modelIng the Context Evolution Lyon 10/09/2012 Luca Berardinelli Antinisca Di Marco Flavia Di Paolo luca.berardinelli@univaq.it antinisca.dimarco@univaq.it Flavia.dipaolo@univaq.it Dipartimento di Ingegneria e Scienze dell’Informazione e Matematica (DSIM) University of L’Aquila (ITALY)
  • 2. OUTLINE • Keywords • Motivations and Motivating Example • Background: our context modeling and analysis approach • The MICE Tool • Ongoing and Future Works • Conclusions 2
  • 3. KEYWORDS Context: The heterogeneous information that the software system is capable to sense from itself or from the external environment that can influence the behavior of the services it provides. Context Awareness: The ability of the software system to sense the context in which it is executing and to change the behavior in response to changes of the sensed context. Context Evolution: The set of changes in the sensed context and their possible (cause-effect) relationships. 3
  • 4. MOTIVATIONS • The Goal: – Validation and refinement of (context) models at run-time, as the basis for • Predictive Analysis of QoS: predicting the QoS of a context-aware software system within ranges of parameters that are not (yet!) experienced in practice; • Proactive Context Evolution: provinding in advance QoS information so that the system adaptation is not blindly taken, but it can be QoS-aware • Our Contribution: – MICE (Monitoring and modelIng the Context Evolution), a supporting tool for our context modeling and analysis approach. 4
  • 5. MOTIVATING EXAMPLE Doctor Mobile eHealth home Service Layer Patient Send Alarm Request Patient Info Service Manager open air Component Layer surgery Doc Client patient’s home Doc GUI Server App Beeper Client Platform Layer PDA TCP/IP Wireless Network Mobile eHealth (MeH) is a mobile, component-based application for assisting doctors in their everyday activities through services running on their PDAs. MeH Context may be (but not limited to) a combination of: • Physical Location of its users • Logical Location of its sw components • Configuration of its hardware resources 5
  • 6. BACKGROUND: CONTEXT MODELING Luca Berardinelli, Vittorio Cortellessa, Antinisca Di Marco: Performance Modeling and Analysis of Context-Aware Mobile Software Systems. FASE 2010 – An approach presented at FASE 2010 Best Paper Award System Design Model ELEMENT::Awareness Manager Context-related tr. prob “,” event “/” [condition] “/” action or ELEMENT Aattri=va attr1…attri …attrn attri=vb B DSLs (π probB) – Based on Awareness MANAGERs, a stochastic extension of Harel’s Statecharts • can be associated to any modeling element whose attributes contribute to define the application-specific context where • each state (partially) represents the actual context as a set of attribute values. • transitions are triggered by the occurrence of certain event(s) when certain condition(s) are verified. • Paramenters : Probabilities are associated to transitions. • Assumption: Probabilities are exponentially distributed  Markov Model (CTMC)  Steady State probability vector may be associated to the state space (π probB) 6
  • 7. BACKGROUND: CONTEXT MODELING IN MEH Awareness Manager examples for the MeH System… …and an excerpt of their combination. At any time, the context of MeH is triple of three values At design-time all the parameter are the transition probabilities (assumed) and the steady state probabilities (calculated). 7
  • 8. MICE: Moving AMs from design- to run-time • Problem: collecting contextual data at run-time to continuously update the AMs – Req.1: MICE has to support our Context Modeling approach – Req.2: The implementation effort should be appropriate w.r.t. the availability of human resources and their skills (few undergraduate/graduate students) – Req.3: The maintenance effort should be as lower as possible (students usually leave the project after the end of the exam/thesis). – Req.4: MICE has to reuse COTS as much as possible (it helps in satisfying Req.2 and 3). 8
  • 9. MICE: Moving AMs from design- to run-time MICE is a composite and distributed system that includes three main components with the following roles: • Monitor. It is in charge of collecting the heterogeneous data that are sensed by the context-aware application (e.g., the battery level or the CPU frequency). The raw data are then sent to a remote Context Data Repository. • Context Data Repository. It collects the contextual data sent by any Monitor and makes them available for further elaborations. • Modeling Component. It retrieves data from a Context Data Repository and elaborates them to generate context models (i.e. AMs). 9
  • 10. MICE: Moving AMs from design- to run-time • Monitor: Battery Status (COTS) • Context Data Repository: Cosm (COTS) • Modeling Component: Context Model API (in-house) Monitoring Component (Battery Status Cosm) Context Data Repository HTTP (Cosm Web Service) Modeling Component Context Model API (EMF-based API) MICE 10
  • 11. MICE: Moving AMs from design- to run-time PDA (Android Device) Monitor: Battery Status App (COTS) Battery WiFi Screen Card Keep track of your battery information. plugged (1/0) temp ( C) level (%) This app runs in the background collecting you on/off on/off battery level, voltage, temperature and plugged state and sends this information to your Cosm account. Monitoring Component (Battery Status Cosm) Additional data is also collected: Context Aware System - Screen brightness (MeH Client) - Network status - Phone Call state - WiFi on/off - Bluetooth on/off - Data transferred https://play.google.com/store/apps/details?id=nfcf.BatteryStatus&hl=en 11
  • 12. MICE: Moving AMs from design- to run-time Context Data Repository: Cosm (COTS) Cosm is a RESTful Web service that, through Cosm-enabled device Cosm-enabled device Cosm-enabled device the HTTP protocol, allows the publication (POST) and retrieval (GET) of sensor-derived feed contextual data to/from the Web. The whole heterogeneous contextual data Context Data Raw Data (feed) collected from a Cosm-enabled device is organized in feeds. The latter are divided in Repository (typed) datastreams that, in turn, are (Cosm Web Service) HTTP composed by datapoints, each representing a single value of a datastream at a specific point Raw Data (feed) in time. Any feed on Cosm belongs to a registered user that may decide to keep them private or public. https://cosm.com/how_it_works 12
  • 13. MICE: Moving AMs from design- to run-time Context Data Repository: Cosm (COTS) Battery Level: 35 (%) at Aug 15 20:01:15 Data Not Collected Plugged: 1 (true) at Aug 15 20:01:15 https://cosm.com/how_it_works 13
  • 14. MICE: Moving AMs from design- to run-time Modeling Component (in house) It includes a Modeling Component - Parameters Extractor that sets the state- Context Model API steady probabilities π of the modeled (EMF-based API) Manager by processing the real data Manager(s) collected by the Monitoring Component. - Context Manager Editor that allows the modeling of the Managers They are both based on a Context Model API http://code.google.com/a/eclipselabs.org/p/context-manager/ 14
  • 15. MICE: Moving AMs from design- to run-time Context Model API has been automatically obtained from a Ecore-based AM Metamodel 15
  • 16. MICE: Moving AMs from design- to run-time Modeling Component: Context Model API (in-house) The Modeling Component has been implemented from scratch in Java. Modeling Component It is composed by a Context Manager Editor that allows the modeling of the Managers, plus a Context Model API Parameters Extractor that sets the state-steady (EMF-based API) probabilities π of the modeled Manager by processing the real data collected by the Monitoring Component. The Parameter Extractor retrieves the raw monitored data stored in the Context Repository COTS and then calculates the state-steady probabilities from the sojourn times in the identified awareness states. Thanks to Giovanni Di Santo (Context Editor, Bachelor Thesis) http://code.google.com/a/eclipselabs.org/p/context-manager/ 16
  • 17. MICE: Moving AMs from design- to run-time PDA (Android Device) MICE at a glance Battery WiFi Screen Card plugged (1/0) Cosm-enabled device Cosm-enabled device Cosm-enabled device temp ( C) level (%) on/off on/off feed Monitoring Component Raw Data (feed) (Battery Status Cosm) Context Data Thanks to Context Aware System Repository (MeH Client) Flavia Di Paolo HTTP (Cosm Web Service) (co-author) Modeling Component (MICE, Bachelor Raw Data (feed) Thesis) Context Model API (EMF-based API) Manager(s) MICE JVM-compatible Device 17
  • 18. MICE@WORK: MeH Running Example MICE v1 The following list summarizes the main steps that have been undertaken to set up the running example (Mice v.1): • We created a Cosm account; • We installed, set up and started the BatteryStatus application on two Android devices so that new datapoint were sent by BatteryStatus every 15 minutes; • We retrieved from Cosm the up-to-date collection of level datapoints of the latest 30 calendar days (as a CSV file). • We set a user-defined percentage threshold, for example strictly greater than 25%, and coupled each level datapoint with the high power or the low power awareness states, respectively; High Battery Level: 35 (%) Power at Aug 15 20:01:15 25% threshold Data Not Collected Low Power 18
  • 19. MICE@WORK: MeH Running Example MICE v1 • We calculated the sojourn times in the high and low power states by counting the number of couples, each corresponding to a time slot of 15 minutes, assigned to the high and low power awareness states. • Given the total amount of minutes in a single day (1440) and in a month of 31 days (46400) we calculated the percentage of time spent in high and low power (i) during the latest monitored day at the time of writing and (ii) in the latest monitored month. 19
  • 20. ONGOING AND FUTURE WORKS MICE v2 • We are combining different datastreams (e.g., level and plugged) to create more complex Awareness Managers. Under Charge Battery Level: 35 (%) at Aug 15 20:01:15 High Power 25% Low Data Not Collected Power Plugged: 1 (true) at Aug 15 20:01:15 20
  • 21. ONGOING AND FUTURE WORKS • We are formalizing the proposed context modeling notation to suitably combine ( ◦ ) two or more Awareness Managers, including remote firings (i.e. AM dependencies), into a multi-attribute Context Manager that still remains a valid Markov Model. • We are combining Context, Design and Analysis Models at run-time. We already combine these different kind of models but at design-time (NFPinDSML@Models 2009) 21
  • 22. CONCLUSIONS • We presented MICE, a distributed tool for monitoring and modeling the context evolution; • It is meant to support an existing Context Modeling and Analysis Approach presented at FASE 2010; • MICE exploits existing COTS to reduce its implementation and maintenance efforts so making it suitable for undergraduate and graduate students • MICE is an ongoing work available at http://code.google.com/a/eclipselabs.org/p/context-manager/ Thanks for your attention. Questions and suggestions are very welcome 22
  • 23. 23

Editor's Notes

  1. Thetopicofthispresentationis the performance modeling and analysisofcontext-aware mobile software systems
  2. Thisis the outlineofthis talk. I detail a UML-basedframeworkformodeling system services and theirusers, the software architecture, the component-basedbehaviors, the hardware platform. The UML modelisthensuitablyextendedusingprofilesto annotate performance parametersneededby a model-based performance analysismethodology[click]Wewillseehowcontext and context-awareness are cross-cuttingconcerns in the modelContextinducesmobilityaspects in users and software architecture,Weconsiderbehaviorsadaptabletocontext and a configurable hardware platform.also the performance parametersbecomecontext-related and consequently the performance analysiscarried out usingsuchparametersI will end the presentationwithconclusions and future work
  3. whatwemeanforcontext, a combinationof informationaboutphysical location of system userssuchasthisroom or our homelogical location of software componentsthatiswhere the components are deployedconfigurationof hardware resourcessupporting the executionof the software. Forexample the actualchargelevelof the battery, the cpu frequency[click]The contextmayrapidlychange. Followingourdefinitionofcontextwe deal withphysicalmobilitycorrespondingtochangesofphysicallocationsof the users. He can move or the placeschangesaround in termsofavailable hardware resourceslogicalmobilitycorrespondingtoredeploymentof software componentsover the hardware platform hardware configurationchange: forexample the amountof a certainresourcedecreasessuchas the chargelevelof a battery
  4. So PLASTIC. I willexplainitwith a leadingexample in the ehealth domain.A doctortakes care ofhispatientswhilemoving in differentphysicalplaces. PLASTIC introduces a twolayersapproach at software level: the service and componentlayers. Services are implemented in termsofcomponents. Forbothlayersweneed a structural and behavioraldescription. Thenwe a platformlayercomposedbyresourceconstraineddevices and heterogeneousnetworks, namely B3G networks. In fact PLASTIC aims at realizingservicesover B3G networks.Finallywehavetodescribe the context: itcorrespondto a set ofheterogeneous information thatinfluences the system behavior. In particularweconsider information relatedto the network and hardware devices.
  5. Nowweneedto introduce contextinformationswithin a UML modeldescribed so far.In ourframeworkwechoose a distinctAwarenessManagersforeachcontextdimensionconsidered.Itis a stochasticstatechartassociatedtothosemodelingelementsrelatedtocontextwhere state models the set ofattributesassociatedto the modelingelement,transitionsmodels the eventstriggeringchanges in attribute’s valuesprobabilities are associatedtotransitions. They are constrained so thatprobabilities on outgoingtransitionsfromeach state sum up to 1finallyvariables are usedacross the modelforexampleto indicate the current state