A Programming Model for Hybrid Collaborative Adaptive Systems

Hybrid Diversity-aware Collective Adaptive Systems (HDA-CAS) are a new generation of socio-technical systems where both human and machine peers collectively participate in complex cognitive and physical tasks. These systems are characterized by the fundamental properties of hybridity and collectiveness, hiding from users the complexities associated with managing the collaboration and coordination of human-machine teams. The SmartSociety platform is a set of integrated software components that jointly provide a number of advanced HDA-CAS functionalities. As part of the CAS initiative, we have developed a programming model and Java APIs that make the use of those functionalities easy and accessible to application developers. In this paper we present the SmartSociety programming model elements, including the principal contributions – Collectives and Collective-based Tasks. We describe and discuss their functionality, implementation and runtime environment. Finally, we qualitatively evaluate the programming model and the language constructs with respect to the desired HDA-CAS properties.

[1]  Alessandro Bozzon,et al.  Pattern-Based Specification of Crowdsourcing Applications , 2014, ICWE.

[2]  Øystein Haugen,et al.  Evaluating Domain-Specific Modelling Solutions , 2010, ER Workshops.

[3]  Fausto Giunchiglia,et al.  Privacy for Peer Profiling in Collective Adaptive Systems , 2014, Privacy and Identity Management.

[4]  Schahram Dustdar,et al.  Provisioning Quality-Aware Social Compute Units in the Cloud , 2013, ICSOC.

[5]  Tim Kraska,et al.  CrowdDB: answering queries with crowdsourcing , 2011, SIGMOD '11.

[6]  Abraham Bernstein,et al.  CrowdLang: A Programming Language for the Systematic Exploration of Human Computation Systems , 2012, SocInfo.

[7]  Ya'akov Gal,et al.  Intervention Strategies for Increasing Engagement in Crowdsourcing: Platform, Predictions, and Experiments , 2016, IJCAI.

[8]  Björn Hartmann,et al.  Turkomatic: automatic recursive task and workflow design for mechanical turk , 2011, Human Computation.

[9]  Schahram Dustdar,et al.  Programming Model Elements for Hybrid Collaborative Adaptive Systems , 2015, 2015 IEEE Conference on Collaboration and Internet Computing (CIC).

[10]  Andrew McGregor,et al.  AutoMan: a platform for integrating human-based and digital computation , 2012, OOPSLA '12.

[11]  Zhenyu Wen,et al.  SmartOrch: an adaptive orchestration system for human-machine collectives , 2017, SAC.

[12]  Michael S. Bernstein,et al.  The future of crowd work , 2013, CSCW.

[13]  Rex B. Kline,et al.  Usability measurement and metrics: A consolidated model , 2006, Software Quality Journal.

[14]  Fabio Casati,et al.  Modeling, Enacting, and Integrating Custom Crowdsourcing Processes , 2015, TWEB.

[15]  Abraham Bernstein,et al.  PPLib: Toward the Automated Generation of Crowd Computing Programs Using Process Recombination and Auto-Experimentation , 2016, ACM Trans. Intell. Syst. Technol..

[16]  Alexis Battle,et al.  The jabberwocky programming environment for structured social computing , 2011, UIST.