Context-aware Programming for Hybrid 
and Diversity-aware Collective Adaptive 
Systems 
Hong-Linh Truong and Schahram Dustdar 
Distributed Systems Group 
Vienna University of Technology 
truong@dsg.tuwien.ac.at 
http://dsg.tuwien.ac.at/research/viecom/ 
BPCAS@BPM 2014, Eindhoven, 
The Netherlands, 8 Sep, 2014 
1
Outline 
 Background 
 Motivation 
 Context associated with HDA-CAS 
 h2CAS – using hybrid computing units for HDA-CAS 
 Context-aware programming features 
 Conclusions and future work 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
2
Background 
Machine-based 
Computing 
Human-based 
Computing 
Things-based 
computing 
Grid 
Processing 
Unit 
Comm. Architecture 
SMP 
S. Dustdar, H. Truong, “Virtualizing Software and Humans 
for Elastic Processes in Multiple Clouds – a Service 
Management Perspective”, in International Journal of Next 
Generation Computing, 2012 
Ad hoc networks Web of things 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
3
Background (cont.) 
 Today’s complex problems need hybridity and 
diversity-aware “collective adaptive systems” (HDA-CAS) 
 HDA-CAS 
 Mixture of different types of resources working in 
concert in the same collective 
 Mixture of different roles performed in the same 
collective 
 Mixture of different quality from a single collective 
 Mixture of cost/benefit models 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
4
Background (cont.) 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
5 
Hong Linh Truong, Hoa Khanh Dam, Aditya Ghose, Schahram Dustdar: Augmenting Complex Problem Solving with Hybrid 
Compute Units. ICSOC Workshops 2013: 95-110 
Hybrid compute units
Motivation 
 Cloud-based predictive maintenance – an application of 
HDA-CAS in the context of BPM 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
6 
Complex Event 
Processing 
Smart 
Communication 
Social Computing 
Unit (SCU) 
Provisioning 
Human-based 
Units 
Task 
Execution/Monitoring 
Data Analytics 
Sensors/Gateways 
manage/execute 
msg forms 
msg 
msg 
data 
Task/Result 
Managment 
NoSQL BigData 
data
Motivation (cont.) 
 HDA-CAS –based solutions 
 Human-, software- and thing-based services for 
computational analytics, data gathering, and network 
functions 
 Challenges 
 Which are possible contexts during the operation of 
HDA-CASs? How they affect provisioning mechanisms 
 What are main building blocks for HDA-CAS? 
 Which are main programming features to support these 
operational contexts? 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
7 
This talk focuses on conceptual view, requirement and analysis
Context-aware programming HDA-CASs 
– Goals 
 Understanding context in order to develop 
 Right constructs for specifying what constitutes a 
HDA-CAS 
 Tools and middleware for deploying, provisioning 
and instantiating HDA-CASs based on their 
specifications, and 
 Means for programming the control and 
reconfiguration of HDA-CASs at run-time. 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
8
Context of HDA-CAS 
 What: tasks and quality of results, and 
structures of the HDA-CAS 
 Who/Which: constituting units for 
computation/data/network functions as well as 
for monitoring/control/management functions 
 How: coordination and elasticity mechanisms 
that control the operation of the HDA-CAS 
 When: a determined time frame for the above-mentioned 
specific What/Who/Which/How. 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
9
Context and HDA-CAS 
BPCAS@BPM 2014, Eindhoven, 
The Netherlands, 8 Sep, 2014 
10
Hybridity and elasticity in context 
 Hybridity/Diversity 
 Hybrid processing units for computation/data/network functions, 
hybrid architectures, and hybrid communication protocols 
 Elasticity 
 Processing units: add/remove/replace processing units 
 Architecture: provision different static and runtime topologies for 
different types of units, and change different protocols/algorithms 
within monitoring/control/management units. 
 Communications: add/remove/replace/reconfigure 
communication protocols 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
11
h2CAS - HCU-based HDA-CAS 
BPCAS@BPM 2014, Eindhoven, 
The Netherlands, 8 Sep, 2014 
12 
A HCU-based HDA-CAS (h2CAS) includes a set of service 
units which can be software-based services, human-based 
services and thing-based services that can be provisioned, 
deployed and utilized as a collective on-demand based on 
different quality, pricing and incentive models. 
How to program HDA-CAS? 
Our approach: using hybrid compute units (HCU) 
provisioned in the cloud
h2CAS- Main building blocks 
 Task Management 
 Result Management 
 Computation/Data/Network Task Execution and 
Control 
 Elasticity Monitoring and Control 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
13
Meta 
BPCAS@BPM 2014, Eindhoven, 
The Netherlands, 8 Sep, 2014 
14
Context-aware Programming 
Features 
 Analysis of some main provisioning and 
operational contexts 
 consumer-generated independent continuous task 
 consumer-generated dependent task 
 evolving independent task 
 evolving dependent task 
To develop suitable techniques for HDA-CAS 
provisioning, e.g.: 
 Enable context switching in complex problem solving 
 Achieve quality and cost/benefit elasticity by utilizing 
resource elasticity 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
15
Ctx1: consumer-generated 
independent continuous task 
BPCAS@BPM 2014, Eindhoven, 
The Netherlands, 8 Sep, 2014 
16 
Task 
Task Management 
CDNElasticityControlUnit 
ResultManagement 
ElasticityMonitoringandControl 
Results 
task coordination 
models 
task coordination 
models 
(1) pool of the units 
 Continuous flow of 
independent tasks (batch 
jobs, crowdsourcing style) 
 One level of task 
coordination 
(TaskManagement/Result 
Management) 
HumanbasedUnit 
SoftwarebasedUnit 
ThingbasedUnit 
HumanbasedUnit 
SoftwarebasedUnit 
ThingbasedUnit
CDNCommunicationUnit 
Ctx2: consumer-generated 
dependent task 
BPCAS@BPM 2014, Eindhoven, 
The Netherlands, 8 Sep, 2014 
17 
Task 
Task Management 
CDNElasticityControlUnit 
ResultManagement 
ElasticityMonitoringandControl 
Results 
task coordination 
models 
task coordination 
models 
(1) pool of the units 
(2) task coordination 
models, 
(3) communication 
protocols 
HumanbasedUnit 
SoftwarebasedUnit 
ThingbasedUnit 
 Tasks are dependent, but 
complete (workflow style) 
 Require coordination and unit 
formation models for 
dependent tasks 
 Single level of task 
coordination or multi-level 
task coordination 
 Interactive elasticity controls 
 Communications needed for 
task delegation among units 
HumanbasedUnit 
SoftwarebasedUnit 
ThingbasedUnit 
task delegation
CDNCommunicationUnit 
Ctx3: evolving independent task 
context 
BPCAS@BPM 2014, Eindhoven, 
The Netherlands, 8 Sep, 2014 
18 
Task 
Task Management 
CDNElasticityControlUnit 
ResultManagement 
ElasticityMonitoringandControl 
Results 
task coordination models task coordination models 
(1) pool of the units, 
(2) task coordination 
models, 
(3) communication 
protocols, 
(4) new task 
coordination models 
new task 
 From a task, several 
independent tasks are 
created by the collective 
 Within or switched from 
Ctx1/Ctx2 
 Multiple types of 
(automatic/manual) 
elasticity controls at 
different places 
 Different coordination 
and unit formation 
models for evolving 
independent tasks 
HumanbasedUnit 
SoftwarebasedUnit 
ThingbasedUnit 
HumanbasedUnit 
SoftwarebasedUnit 
ThingbasedUnit 
Task delegation 
new task
CDNCommunicationUnit 
Ctx4: evolving dependent task 
BPCAS@BPM 2014, Eindhoven, 
The Netherlands, 8 Sep, 2014 
19 
Task 
Task Management 
CDNElasticityControlUnit 
ResultManagement 
ElasticityMonitoringandControl 
Results 
task coordination models task coordination models 
(1) pool of the units, 
(2) coordination 
models, 
(3) communication 
protocols, 
(4) new task 
coordination models 
new task 
HumanbasedUnit 
SoftwarebasedUnit 
ThingbasedUnit 
HumanbasedUnit 
SoftwarebasedUnit 
ThingbasedUnit 
Task delegation 
new task 
 Tasks are dependent 
and the task graph 
changes 
(expands/reduces) 
 Within Ctx1/Ctx2 or 
switched from 
Ctx1/Ctx2/Ctx3 
 Multiple types of 
(automatic/manual) 
elasticity controls at 
different places 
 Different coordination 
and unit formation 
models for evolving 
dependent tasks
Towards supporting context-aware 
programming with h2CAS 
 SALAM – mainly for quality-aware human-based 
service formations and task management 
 https://github.com/tuwiendsg/SALAM 
 SmartCOM – middleware for HDA-CAS Communication 
 https://github.com/tuwiendsg/SmartCom 
 Elasticity Control 
 For software-based services and thing-based services 
 https://github.com/tuwiendsg/rSYBL/ 
 For human-based services: currently being developed (based 
on our work in ICSOC 2013/CAISE 2014) 
 Multi-level coordination models 
 To appear in CollaborateCom 2014 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
20
Conclusions and future work 
 HDA-CAS can be established and changed due 
to specific context 
 Identify possible contexts for the development of 
HDA-CAS using hybrid compute units 
 Propose h2CAS and conceptualizing its main blocks 
 Future work 
 A h2CAS specification for programming constructs 
and models 
 Tools and middleware for compiling and deploying 
and control and provisioning h2CAS 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
21
Thanks for your attention! 
Hong-Linh Truong 
Distributed Systems Group 
TU Wien 
truong@dsg.tuwien.ac.at 
dsg.tuwien.ac.at/research/viecom 
BPCAS@BPM 2014, Eindhoven, The 
Netherlands, 8 Sep, 2014 
22

Context-aware Programming for Hybrid and Diversity-aware Collective Adaptive Systems

  • 1.
    Context-aware Programming forHybrid and Diversity-aware Collective Adaptive Systems Hong-Linh Truong and Schahram Dustdar Distributed Systems Group Vienna University of Technology truong@dsg.tuwien.ac.at http://dsg.tuwien.ac.at/research/viecom/ BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 1
  • 2.
    Outline  Background  Motivation  Context associated with HDA-CAS  h2CAS – using hybrid computing units for HDA-CAS  Context-aware programming features  Conclusions and future work BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 2
  • 3.
    Background Machine-based Computing Human-based Computing Things-based computing Grid Processing Unit Comm. Architecture SMP S. Dustdar, H. Truong, “Virtualizing Software and Humans for Elastic Processes in Multiple Clouds – a Service Management Perspective”, in International Journal of Next Generation Computing, 2012 Ad hoc networks Web of things BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 3
  • 4.
    Background (cont.) Today’s complex problems need hybridity and diversity-aware “collective adaptive systems” (HDA-CAS)  HDA-CAS  Mixture of different types of resources working in concert in the same collective  Mixture of different roles performed in the same collective  Mixture of different quality from a single collective  Mixture of cost/benefit models BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 4
  • 5.
    Background (cont.) BPCAS@BPM2014, Eindhoven, The Netherlands, 8 Sep, 2014 5 Hong Linh Truong, Hoa Khanh Dam, Aditya Ghose, Schahram Dustdar: Augmenting Complex Problem Solving with Hybrid Compute Units. ICSOC Workshops 2013: 95-110 Hybrid compute units
  • 6.
    Motivation  Cloud-basedpredictive maintenance – an application of HDA-CAS in the context of BPM BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 6 Complex Event Processing Smart Communication Social Computing Unit (SCU) Provisioning Human-based Units Task Execution/Monitoring Data Analytics Sensors/Gateways manage/execute msg forms msg msg data Task/Result Managment NoSQL BigData data
  • 7.
    Motivation (cont.) HDA-CAS –based solutions  Human-, software- and thing-based services for computational analytics, data gathering, and network functions  Challenges  Which are possible contexts during the operation of HDA-CASs? How they affect provisioning mechanisms  What are main building blocks for HDA-CAS?  Which are main programming features to support these operational contexts? BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 7 This talk focuses on conceptual view, requirement and analysis
  • 8.
    Context-aware programming HDA-CASs – Goals  Understanding context in order to develop  Right constructs for specifying what constitutes a HDA-CAS  Tools and middleware for deploying, provisioning and instantiating HDA-CASs based on their specifications, and  Means for programming the control and reconfiguration of HDA-CASs at run-time. BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 8
  • 9.
    Context of HDA-CAS  What: tasks and quality of results, and structures of the HDA-CAS  Who/Which: constituting units for computation/data/network functions as well as for monitoring/control/management functions  How: coordination and elasticity mechanisms that control the operation of the HDA-CAS  When: a determined time frame for the above-mentioned specific What/Who/Which/How. BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 9
  • 10.
    Context and HDA-CAS BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 10
  • 11.
    Hybridity and elasticityin context  Hybridity/Diversity  Hybrid processing units for computation/data/network functions, hybrid architectures, and hybrid communication protocols  Elasticity  Processing units: add/remove/replace processing units  Architecture: provision different static and runtime topologies for different types of units, and change different protocols/algorithms within monitoring/control/management units.  Communications: add/remove/replace/reconfigure communication protocols BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 11
  • 12.
    h2CAS - HCU-basedHDA-CAS BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 12 A HCU-based HDA-CAS (h2CAS) includes a set of service units which can be software-based services, human-based services and thing-based services that can be provisioned, deployed and utilized as a collective on-demand based on different quality, pricing and incentive models. How to program HDA-CAS? Our approach: using hybrid compute units (HCU) provisioned in the cloud
  • 13.
    h2CAS- Main buildingblocks  Task Management  Result Management  Computation/Data/Network Task Execution and Control  Elasticity Monitoring and Control BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 13
  • 14.
    Meta BPCAS@BPM 2014,Eindhoven, The Netherlands, 8 Sep, 2014 14
  • 15.
    Context-aware Programming Features  Analysis of some main provisioning and operational contexts  consumer-generated independent continuous task  consumer-generated dependent task  evolving independent task  evolving dependent task To develop suitable techniques for HDA-CAS provisioning, e.g.:  Enable context switching in complex problem solving  Achieve quality and cost/benefit elasticity by utilizing resource elasticity BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 15
  • 16.
    Ctx1: consumer-generated independentcontinuous task BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 16 Task Task Management CDNElasticityControlUnit ResultManagement ElasticityMonitoringandControl Results task coordination models task coordination models (1) pool of the units  Continuous flow of independent tasks (batch jobs, crowdsourcing style)  One level of task coordination (TaskManagement/Result Management) HumanbasedUnit SoftwarebasedUnit ThingbasedUnit HumanbasedUnit SoftwarebasedUnit ThingbasedUnit
  • 17.
    CDNCommunicationUnit Ctx2: consumer-generated dependent task BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 17 Task Task Management CDNElasticityControlUnit ResultManagement ElasticityMonitoringandControl Results task coordination models task coordination models (1) pool of the units (2) task coordination models, (3) communication protocols HumanbasedUnit SoftwarebasedUnit ThingbasedUnit  Tasks are dependent, but complete (workflow style)  Require coordination and unit formation models for dependent tasks  Single level of task coordination or multi-level task coordination  Interactive elasticity controls  Communications needed for task delegation among units HumanbasedUnit SoftwarebasedUnit ThingbasedUnit task delegation
  • 18.
    CDNCommunicationUnit Ctx3: evolvingindependent task context BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 18 Task Task Management CDNElasticityControlUnit ResultManagement ElasticityMonitoringandControl Results task coordination models task coordination models (1) pool of the units, (2) task coordination models, (3) communication protocols, (4) new task coordination models new task  From a task, several independent tasks are created by the collective  Within or switched from Ctx1/Ctx2  Multiple types of (automatic/manual) elasticity controls at different places  Different coordination and unit formation models for evolving independent tasks HumanbasedUnit SoftwarebasedUnit ThingbasedUnit HumanbasedUnit SoftwarebasedUnit ThingbasedUnit Task delegation new task
  • 19.
    CDNCommunicationUnit Ctx4: evolvingdependent task BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 19 Task Task Management CDNElasticityControlUnit ResultManagement ElasticityMonitoringandControl Results task coordination models task coordination models (1) pool of the units, (2) coordination models, (3) communication protocols, (4) new task coordination models new task HumanbasedUnit SoftwarebasedUnit ThingbasedUnit HumanbasedUnit SoftwarebasedUnit ThingbasedUnit Task delegation new task  Tasks are dependent and the task graph changes (expands/reduces)  Within Ctx1/Ctx2 or switched from Ctx1/Ctx2/Ctx3  Multiple types of (automatic/manual) elasticity controls at different places  Different coordination and unit formation models for evolving dependent tasks
  • 20.
    Towards supporting context-aware programming with h2CAS  SALAM – mainly for quality-aware human-based service formations and task management  https://github.com/tuwiendsg/SALAM  SmartCOM – middleware for HDA-CAS Communication  https://github.com/tuwiendsg/SmartCom  Elasticity Control  For software-based services and thing-based services  https://github.com/tuwiendsg/rSYBL/  For human-based services: currently being developed (based on our work in ICSOC 2013/CAISE 2014)  Multi-level coordination models  To appear in CollaborateCom 2014 BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 20
  • 21.
    Conclusions and futurework  HDA-CAS can be established and changed due to specific context  Identify possible contexts for the development of HDA-CAS using hybrid compute units  Propose h2CAS and conceptualizing its main blocks  Future work  A h2CAS specification for programming constructs and models  Tools and middleware for compiling and deploying and control and provisioning h2CAS BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 21
  • 22.
    Thanks for yourattention! Hong-Linh Truong Distributed Systems Group TU Wien truong@dsg.tuwien.ac.at dsg.tuwien.ac.at/research/viecom BPCAS@BPM 2014, Eindhoven, The Netherlands, 8 Sep, 2014 22