This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
A Model-driven Development Framework for Developing Sense-Compute-Control Applications
Pankesh Patel*, Brice Morin**, Sanjay Chaudhary*
*Institute of ICT, Ahmedabad University, India
**SINTEF ICT, Oslo, Norway
ICSE 2014 Workshop - Modern Software Engineering Methods for Industrial Automation (MoSEMInA)
Cover various application domains Industrial control Robotics Smart cities Building automation Physical-Cyber-Social
image credit to organizations, who own copyrights of used images
4
Involves a large number of heterogeneous devices, processing elements
Composes multiple activities
Interacts with users whenever necessary
Characteristics: SCC application
5
Illustrative example: building system
Large numbers of heterogeneous devices
Smoke detector
User interfaces(e.g., display, mobile phones)
Firealarm
Badge reader
User withbadge
Data storage
Light
Temperature
sensorHeater
An application - compose multiple activities (e.g., detect user’s entry , query, set threshold)
6
Our goal
“Enable development** of SCC applications with minimal effort by various stakeholders* involved in
development process”
**Development -- “a set of related activities that leads to a production of a software product.’’ [Ian Sommerville, Software Engineering (9th edition) , 2010]
*Stakeholders in software engineering to mean – people, who are involved in the application development. Examples of stakeholders defined in [Taylor et al., Software Architecture, 2009] are software designer, developer, domain expert, technologist, etc.
7
Application development challenges
Heterogeneity Types of devices (e.g.,
sensor, actuator, storage, processing elements, user interfaces)
Horizontal SoC – reduce app. development complexity by separating different aspects of a system
Transformation and code generators
PIM
PSM
E.g., J2SE E.g., .Net
PSM…
C1 C2 Cn…
HorizontalSeparation of
Concerns (SoC)
Verticalseparation of
concerns
ATaG [Pathak et al., DCSN, 2011], RuleCaster [Bischoff et al., EuroSSC, 2006], DiaSuite [Cassou et al., TSE, 2012], PervML [Serral et al., Journal of Pervasive and Mobile computing, 2010], Pantagruel [Drey et al., Percom, 2010]
14
Early Contributions A comprehensive approach that utilizes
advantages of existing MDD and macro-programming approaches, while focusing on ease of IoT application development
Development framework* to integrates modeling languages, addressing SCC application characteristics, and automation techniques
*It includes support programs, code libraries, high-level languages or other software that help stakeholders to develop and glue together different components of a software product [Ian Sommerville, Software Engineering (9th edition) , 2010].
15
Commonality at various levels
Functionality (e.g., home
fire detection
Domain
(e.g., building HVAC)
(e.g., Inria Office)
(e.g., GoogleOffice)
Deployment
Room temperatur
e
(e.g. building automation)
Building fire state
“Reusabilityacross concerns”
image credit to organizations, who own copyrights of used images
“Entities of Interest (EoI) is an object, including the attributes that describes
it, and its state that is relevant from a user or an application perspective.” [Stephan Haller, Internet of Things,
2010]
16
Domain
Room temperatur
e
(e.g. building automation)
Actuator
Sensor
Domain
Storage
Concepts that are responsible for interacting with EoI of a domain- Sensor, actuator,
storage
Building fire state
image credit to organizations, who own copyrights of used images
17
Domain
Room temperatur
e
(e.g. building automation)
Functionality
FunctionalityHome fire detection
Building HVAC
Computationalservice
StorageSensor
Computationalservice
response
requestpublish/
subscribeConcepts that are responsible for - processing data and taking decisions
Building fire state
command
Actuator
image credit to organizations, who own copyrights of used images
18
Domain
Room temperatur
e
(e.g. building automation)
Deployment
Functionality
Inria office
Googleoffice
Deployment
Device
Device
Device
Device Device
Building fire state
Concepts to describe various
properties of devices
Sensor Storage
Computationalservice
Computationalservice
response
requestpublish/
subscribe
Home fire detection
Building HVAC
Actuator
image credit to organizations, who own copyrights of used images