Social Machines: A Unified Paradigm to DescribeSocial Web-Oriented SystemsVanilson Burégio1,31CIn-UFPEInformatics CenterFederal University of PernambucoRecife, PE, Brazilvaab@cin.ufpe.brSilvio Meira1,2,32C.E.S.A.R.Recife Center for Advanced Studiesand SystemsRecife, PE, Brazilsrlm@cin.ufpe.brNelson Rosa13INESNational Institute of Science andTechnology for Software EngineeringBrazilnsr@cin.ufpe.brABSTRACTBlending computational and social elements into software hasgained significant attention in key conferences and journals. Inthis context, “Social Machines” appears as a promising modelfor unifying both computational and social processes. However,it is a fresh topic, with concepts and definitions coming fromdifferent research fields, making a unified understanding of theconcept a somewhat challenging endeavor. This paper aims toinvestigate efforts related to this topic and build a preliminaryclassification scheme to structure the science of SocialMachines. We provide a preliminary overview of this researcharea through the identification of the main visions, concepts, andapproaches; we additionally examine the result of theconvergence of existing contributions. With the field still in itsearly stage, we believe that this work can collaborate to theprocess of providing a more common and coherent conceptualbasis for understanding Social Machines as a paradigm.Furthermore, this study helps detect important research issuesand gaps in the area.Categories and Subject DescriptorsH.4.0 [Information Systems Applications]: GeneralD.2.0 [Software Engineering]: General-Standards.KeywordsSocial Machines, Social Software, Web-Oriented Systems1. INTRODUCTIONThe Web of today is the open programmable platform ofinformation, applications and services that is increasinglytransformed industry and society . As a consequence, it hasalso been especially influential in the way we develop software. The emergence of a new generation of web-basedtechnologies relying on social computing is changing thesemantics of computation. Nowadays, more than ever,computing means connecting . In fact, the Social Web hasfueled the growth of systems that not only make use of conceptsfrom computing, but also are guided by social processes. As aconsequence, novel breeds of applications are rapidly emergingand new computational models and paradigms are needed todeal with them.Several studies that adopt different visions have been conductedwith the aim of creating innovative approaches to support theblending of computational and social elements into software.Consequently, these visions deal with the challenges of buildingthis new generation of social systems. The topic of “SocialMachines” has been investigated as a way to address thischallenge, appearing as a promising model for unifying bothcomputational and social processes. Recently, Social Machineshave gained significant attention from academia with theorganization of a specific forum for discussion: TheInternational Workshop on The Theory and Practice of SocialMachines.However, in spite of being a promising topic, the conceptsbehind Social Machines overlap different research fields and,consequently, have created confusion and raised severalquestions. For instance, we have found some researchers thathave had difficulties in understanding the boundaries of thisresearch topic and how it can contribute to their research fields.Thus, with the intention of minimizing such problems, this workproposes to investigate existing efforts related to SocialMachines and characterize such topic, systematically mappingfoundational studies into a common and convergentclassification scheme. As a result, we provide an initialoverview of the research area identifying the different visions ofSocial Machines as well as unify them into a central idea withinthe field of computer science. Furthermore, this study provides abasis for the process of defining Social Machines as a paradigm.The remainder of this paper is organized as follows. Section 2introduces some related work. Section 3 outlines the adoptedresearch methodology. Section 4 shows the different visions ofthe "Social Machines" paradigm and, finally, Section 5 presentssome concluding remarks and directions for future work.2. RELATED WORKInitial ideas of Social Machines are presented in .Currently, there is no systematic mapping study characterizingthe Social Machine area as a whole. However, there are somestudies that analyze and categorize specific aspects of relatedtopics such as human computation  and knowledgeacquiring systems . Yuen et al.  give a survey on varioushuman computational systems, defining the categories and theircharacteristics. They also present a discussion on performanceaspects of human computation systems. In order to answerwhich technique is better in terms of costs and benefits, Thaleret al.  evaluate two prominent human-computationtechniques: GWAP and microtask. Shadbolt  provides acomprehensive review of Knowledge Acquiring (KA) Systemsand characterizes new kinds of emergent and collective problemsolving. In this context, he presents a vision of Social Machinesas KA Systems.Copyright is held by the International World Wide Web ConferenceCommittee (IW3C2). IW3C2 reserves the right to provide a hyperlinkto the authors site if the Material is used in electronic media.WWW 2013 Companion, May 13–17, 2013, Rio de Janeiro, Brazil.ACM 978-1-4503-2038-2/13/05.
3. RESEARCH METHODOLOGYWe decided to adopt Systematic Mapping Study  as aresearch methodology to better understand how existingresearch efforts have blended computational and social elementsinto software with the purpose of providing a more common andcoherent conceptual basis to the understanding of SocialMachines as a new paradigm for software development.Hence, based on the process and guidelines defined in ,we specified a protocol for a Systematic Mapping Study of theSocial Machine related topic areas. In this paper we present thepreliminary results of the first phase of this process whose maingoal is to provide an overview of the Social Machines researcharea, focusing on the different visions we identified during themapping process.4. ONE PARADIGM, DIFFERENTVISIONSBy browsing the literature, an interested reader mightexperience a difficulty in understanding what Social Machinesreally mean. In , Hendler and Berners-Lee suggest that aSocial Machine is a computational entity that blendscomputational and social processes. However, in a broadersense, we believe that Social Machines actually represent apromising paradigm to deal with the complexity of this newemerging Web around us, and a practical way to explain eachand every entity connected to it. Social Machines, from thesoftware point of view, can be a simple, formal and unifiedmanner to describe software on the Web, in order to avoid thepitfalls of mashware . Motivated by this position and basedon some related work, we characterize the “Social Machines”paradigm as a result of the convergence of three differentvisions: i) Social Software; ii) People as Computational Unitsand iii) Software as Sociable Entities. To better visualize thisconvergence, we use a similar diagram illustrating approachpresented in . In this way, it is possible to clearly highlightand classify the main concepts, technologies and standards withreference to the various visions of Social Machines that are bestcharacterized by this mapping. Figure 1 shows the initial resultof this process of convergence.4.1 Vision of Social Software4.1.1 Early Social MachinesSocial Machines has its origins on social computing . Thus,some initial generation of Web-based social software(collectively called “Web 2.0” which consists of blogs, socialnetworking websites, video sharing, etc) can be seen as earlyversions of Social Machines. These technologies have allowedusers to interact and collaborate with each other by storing andsharing various types of content, including messages, photosand videos. In fact, social media such as Twitter and Facebookhave substantially changed the way we communicate and beengaged with others.4.1.2 Open API PlatformsBesides transforming the manner we communicate, thesesystems have also been changing the way we develop software.This is because some of them, mainly social networking sites(e.g., Twitter, Facebook), have started a movement to exposetheir internal capabilities as Web Services in the form of openonline application programming interfaces (Open APIPlatforms). Indeed, such concept of platform of services hascompletely transformed industry and society  and, as aconsequence, it has been especially influential in the way wedevelop software . The Open API Platforms allow third-partydevelopers to interact with social-networking sites, accessinformation and media posted by their users, and create otherapplications and services, on top of the platform, that aggregate,process, and generate content based on users’ interests. That justmay be the case in which computing literally means connectingservices .Figure 1. ‘‘Social Machines” paradigm as a result of the convergence of different visions
4.1.3 Systems based on Social DataIn practice, the direct consequence was the rapid growth of themashup ecosystem  in which Web-based mashups are createdby integrating data from one or more sources to build newapplications. ProgrammableWeb1, the largest online repositoryof information about mashups and APIs, is concrete proof.Clearly, the combination of social information from multiplesources has enabled the creation of a novel breed of applicationsand service based on social data. In , Anderson et al. presentsystems that take advantage of social data to infer preferences,trust between individuals, and incentives for resource sharing.Based on the results of their social inference functions, suchsystems can provide social knowledge to support otherapplications in their decision making processes . Otherexamples of systems based on social data (in this case, usingphysical objects) have been created by a digital agency callediStrategyLabs2, which transforms real-world objects intomachines controlled by social data. They call this combinationof physical objects and social data Social Machines3, machinesthat turn a Facebook like, a Tweet or a FourSquare check-in intoevents to trigger actions on physical objects.4.2 Vision of People as Computational UnitsThis vision refers to research efforts that integrate people, in theform of human-based computing, and software into onecomposite system.4.2.1 Human ComputationThe centerpiece of this vision is the idea of Human Computationwhich relies on systems that makes use of human abilities forcomputation to solve problems that are trivial for humans, butcomplex for machines .Adopting this vision, CAPTCHA  and its extensions (i.e.reCAPTCHA4, KA-CAPTCHA ) can be consideredkinds of Social Machines that use human computation to solve achallenge response test in order to make a distinction betweenhumans and computers.Standards (e.g., WS-HumanTask , BPEL4People ) haveintroduced specifications that consider human interaction in thecompositions of services in Service-oriented Architecture (SOA)environments . In the same context, other studies also propose models, such as the Social ComputeUnit (SCU)  and Human-Provided Services (HPSs) , inconjunction with frameworks to deal with the seamlessintegration of human capabilities into a cross-organizationalcollaboration. In general, we can see these kinds ofcollaborative computing systems as Social Machines, since theyincorporate the vision of people as computational units thatmake collaborations, which typically involve both humans andsoftware as computational units.4.2.2 Crowdsourcing and Collaborative PlatformsOther examples of systems that consider people ascomputational units can be seen in practice, such as the gameswith a purpose (GWAP) . GWAP are systems in which a1www.programmableweb.com/2http://istrategylabs.com/3www.facebook.com/socialmachines4http://recaptcha.net/computational process transforms some of its tasks into anenjoyable game and delegates them to human game players. In, Thaler et al. evaluate such human-computation techniquesand argue that:“Human computation lets organizations outsourcetasks traditionally performed by specific individuals or expertsteams to an undefined group of remote workers over theinternet.” This is the case of microtask (another prominent human-computation technique) which is the basis of somecrowdsoursing and collaborative Web-based platforms such asAmazon Mechanical Turk5. According to Shadbolt ,crowdsourcing and collaborative Web-based platforms can beseen, in a general way, as knowledge acquisition systems in theage of Social Machines.4.2.3 Knowledge Acquisition SystemsIn Shadbolt’s review of Knowledge Acquiring Systems , heconcludes that:“These social machines are knowledge acquisition systemsat scale and machines that are socially contextualized.”Therefore wikis, which also are knowledge acquisition systems,can be considered Social Machines that make use of humancomputation, through the distributed co-creation of content.According to , other examples of distributed humancomputation can be found in some anti-spam mechanisms (e.g.Vipul’s Razor6) and systems with the aim of eliminating opticalcharacter recognition errors, such as Proofreader7used in theProject Gutenberg8.Furthermore, in terms of complexity, Shadbolt suggests that theresult of combining different social computation approaches(e.g., crowd sourcing, co-creation and social network) mightcreate real Social Machines with relatively unsophisticatedsoftware (i.e., comparatively lower compute complexity), butwith a stronger social engagement (i.e., higher socialcomplexity). Relying on this idea, he highlights Ushahidi9, anopen crowdsourcing platform for mapping crisis situations, asan example of a more sophisticated Social Machine, in terms ofsocial complexity. In fact, Ushahidi is a Social Machine thatcombines social networking, crowdsourcing and co-creation tocreate a unique open source platform on the web for changingthe way information flows in the world.4.3 Vision of Software as Sociable EntitiesThis vision is focused on works that try to weave socialelements into software in order to enable their “socialization”,mainly in terms of having “social” relationships with othersoftware and interacting with each other. As a preliminaryresult, it is important to highlight that we are only consideringthe Web context. Other topics such as affective intelligentSocial Machines , which refer to machines that speak ourlanguage and perceive our emotions, were not considered here.5https://www.mturk.com/6http://sourceforge.net/projects/razor7http://www.pgdp.net/c/8http://www.gutenberg.net/9http://www.ushahidi.com/
4.3.1 Agent-based Web ServicesAgent-based semantic Web Services  is a research effort inthis vision, since it represents an approach in which semanticweb technologies are used to improve the meaning of WebServices’ descriptions and, consequently, to facilitate theinteractions of loosely-coupled Web Services (at least in termsof discovery, reuse and composition ). Some ideas regardingthe use of a social unit to facilitate and improve the discovery ofWeb Services in an open environment like the Internet can befound in the research efforts of Benatallah et al. . In thatwork it is suggested to gather similar Web Services (WS) intogroups known as communities.4.3.2 Communities of Web ServicesIn , motivated by the idea of communities, Zakaria Maamaret al. present the concepts and operations to specify and managecommunities of Web Services. Hence, the involved WebServices interact with each other, in communities, to decide whowill be responsible for treating a specific request. Under thisSocial Machines’ perspective, these WSs represent services associable entities that are related in communities and interactwith each other. Agent-based Web Services and the concept ofcommunities formed the basis for the definition of reputationand trust models (e.g.,  and ) that drive the discoveryand composition processes of Web Services. However, recently,the metaphor of “social networks” has been considered as analternative to the use of communities of Web Services. 4.3.3 Social Network (SN) of Web ServicesIn order to support the process of discovery and composition,some works (e.g., , , , ) suggest the use ofhistorical records of Web Services interactions, in a SOAcomposition environment, as basis for extracting SocialNetworks of Web Services. Different types of SNs (having WebServices as nodes) are captured, and the basic idea is to make aservice recognize the relationships it participates in, and makerecommendations about relevant peers. A services peers includethose that it can collaborate with, those that could substitute forit in case of failure, and those that it competes against (in thecase of a selective environment). These approaches represent animportant aspect for this vision of Social Machines. Once, suchapproaches turn Web Services into nodes of different socialnetworks (e.g., similarity-based SN, collaboration-based SN)and make them aware of their relationships with others, in thiscase, to support the process of discovery, composition and othercollaborative processes.4.3.4 Relationship-aware SystemsSystems that are aware about their relationship with others isanother aspect that is considered in this vision. In  and ,the idea of Social Machine as a unifying mental model forunderstanding, describing and designing each and every entityconnected to the Web points relationship as a fundamentalelement of such model. In fact, turning software into services onthe Web means allowing it to interact with a huge number ofother independently owned (and sometimes unknown)applications and services, and possibly establishing a plethora of“social” relationships with them. In this sense, a system can beviewed as a sociable entity whose interactions with each otherare determined by their “social” relationships, just like people.In a more general sense, it inspires the idea of what we callRelationship-aware Systems, which are an option for describingpossibly related and interacting Social Machines that make useof notions from computing, communication (in the form ofrelationships and interactions) and control.5. CONCLUSIONIn this paper, we characterized the Social Machine area througha mapping study on a set of existing work. We outlined ouradopted research methodology, showed the obtained results andmade an initial discussion about the outcomes.From our preliminary mapping, it clearly appears that the SocialMachine paradigm relies on social computing and shall be theresult of the convergence of the three main visions: i) SocialSoftware (as its foundations), ii) People as Computational Unitsand iii) Software as Sociable Entities.The science, technology and implementations of SocialMachines are in a very early stage; the purpose of this work is tocontribute to the process of providing a more common andcoherent conceptual basis to the understanding of Social Web-based Systems from a very broad point of view. Furthermore,we have set the scenario to discuss Social Machine as a properresearch area, including avenues of scientific inquiry andpossible, different views of research topics. Future workincludes extending this study to tackle an even morecomprehensive set of references and the generalization of theresults to include other aspects of the research area.6. ACKNOWLEDGMENTSThe authors would like to thank Geoffrey D. Sanders forreviewing the manuscript and offering valuable suggestions. Wealso thank the anonymous referees for their helpful comments,and all colleagues from SERPRO (serpro.gov.br) and ASSERTLab (assertlab.com) for helping to improve this work, inparticular Prof. Dr. Vinícius Garcia (CIn-UFPE).7. REFERENCES I. Jacobs, J. Jaffe, and P. Le Hegaret, “How the Open WebPlatform Is Transforming Industry,” IEEE Internet Computing,vol. 16, no. 6, pp. 82–86, Nov. 2012. E. M. Maximilien, A. Ranabahu, and K. Gomadam, “AnOnline Platform for Web APIs and Service Mashups,” IEEEInternet Computing, vol. 12, no. 5, pp. 32–43, Sep. 2008. S. Yu and C. J. Woodard, “Innovation in the programmableweb: Characterizing the mashup ecosystem,” in Service-Oriented Computing ICSOC, 2009, vol. 5472, pp. 136–147. “Social Machines - computing means connecting,” MITTechnology Review, August, pp. 1–18, 2005. J. Hendler, “From the Semantic Web to social machines: Aresearch challenge for AI on the World Wide Web,” ArtificialIntelligence, vol. 174, no. 2, pp. 156–161, Feb. 2010. S. R. L. Meira, V. A. A. Buregio, L. M. Nascimento, E. G.M. de Figueiredo, M. Neto, B. P. Encarnação, and V. Garcia,“The Emerging Web of Social Machines,” CoRR, vol.abs/1010.3, Oct. 2010. M.-C. Yuen, L.-J. Chen, and I. King, “A Survey of HumanComputation Systems,” 2009 International Conference onComputational Science and Engineering, pp. 723–728, 2009. S. Thaler, E. Simperl, and S. Wölger, “An Experiment inComparing Human- Computation Techniques,” Ieee InternetComputing, 2012.
 N. Shadbolt, “Knowledge acquisition and the rise of socialmachines,” International Journal of Human-Computer Studies,vol. 71, no. 2, pp. 200–205, Feb. 2013. D. Budgen, M. Turner, P. Brereton, and B. Kitchenham,“Using Mapping Studies in Software Engineering,” vol. 2, 2007. K. Petersen, R. Feldt, S. Mujtaba, and M. Mattsson,“Systematic Mapping Studies in Software Engineering,” pp. 1–10, 2007. T. Mikkonen and A. Taivalsaari, “The MashwareChallenge : Bridging the Gap Between Web Development andSoftware Engineering,” in Proceedings of the FSE/SDPworkshop on Future of software engineering research - FoSER’10, 2010, pp. 4–8. L. Atzori, A. Iera, and G. Morabito, “The Internet ofThings: A survey,” Computer Networks, vol. 54, no. 15, pp.2787–2805, Oct. 2010. M. N. Ko, G. P. Cheek, M. Shehab, and R. Sandhu,“Social-Networks Connect Services,” Computer, vol. 43, no. 8,pp. 37–43, Aug. 2010. P. Anderson, N. Kourtellis, J. Finnis, and A. Iamnitchi,“On managing social data for enabling socially-awareapplications and services,” Proceedings of the 3rd Workshop onSocial Network Systems - SNS ’10, pp. 1–6, 2010. A. Iamnitchi, J. Blackburn, and N. Kourtellis, “TheSocial Hourglass: An Infrastructure for Socially AwareApplications and Services,” IEEE Internet Computing, vol. 16,no. 3, pp. 13–23, May 2012. M. B. Luis von Ahn, L. Von Ahn, M. Blum, N. Hopper,and J. Langford, “CAPTCHA: Using Hard AI Problems forSecurity,” Advances in Cryptology—EUROCRYPT 2003, vol.2656, pp. 646–646, May 2003. L. von Ahn, B. Maurer, C. McMillen, D. Abraham, andM. Blum, “reCAPTCHA: human-based character recognitionvia Web security measures.,” Science (New York, N.Y.), vol.321, no. 5895, pp. 1465–8, Sep. 2008. B. N. Da Silva, A. Cristina, and B. Garcia, “KA-CAPTCHA: an opportunity for knowledge acquisition on theweb,” pp. 1322–1327, Jul. 2007. A. Agrawal et al., “Web services human task (WS-HumanTask), version 1.0.” 2007. A. Agrawal et al., “WS-BPEL Extension for People(BPEL4People), Version 1.0.” 2007. F. Skopik, D. Schall, H. Psaier, M. Treiber, and S.Dustdar, “Towards Social Crowd Environments Using Service-Oriented Architectures,” it - Information Technology, vol. 53,no. 3, pp. 108–116, May 2011. S. Dustdar and K. Bhattacharya, “The Social ComputeUnit,” IEEE Internet Computing, vol. 15, no. 3, pp. 64–69, May2011. D. Schall, H.-L. Truong, and S. Dustdar, “UnifyingHuman and Software Services in Web-Scale Collaborations,”IEEE Internet Computing, vol. 12, no. 3, pp. 62–68, May 2008. D. Schall, S. Dustdar, and M. B. Blake, “ProgrammingHuman and Software-Based Web Services,” Computer, vol. 43,no. 7, pp. 82–85, Jul. 2010. L. von Ahn and L. Dabbish, “Designing games with apurpose,” Communications of the ACM, vol. 51, no. 8, p. 57,Aug. 2008. B. R. Duffy, “Fundamental Issues in AffectiveIntelligent Social Machines,” The Open Artificial IntelligenceJournal, vol. 2, no. 1, pp. 21–34, Jun. 2008. N. Gibbins, S. Harris, and N. Shadbolt, “Agent-basedSemantic Web Services,” Web Semantics: Science, Services andAgents on the World Wide Web, vol. 1, no. 2, pp. 141–154, Feb.2004. H. Yahyaoui, “Toward an Agent-Based and Context-Oriented Approach for Web Services Composition,” KnowledgeCreation Diffusion Utilization, vol. 17, no. 5, pp. 686–697,2005. J. Bentahar, Z. Maamar, D. Benslimane, and P. Thiran,“An Argumentation Framework for Communities of WebServices,” IEEE Intelligent Systems, vol. 22, no. 6, pp. 75–83,Nov. 2007. Z. Maamar, M. Lahkim, D. Benslimane, P. Thiran, andS. Sattanathan, “WEB SERVICES COMMUNITIES - Concepts& Operations,” in WEBIST’2007, 2007. S. Elnaffar, Z. Maamar, H. Yahyaoui, J. Bentahar, andP. Thiran, “Reputation of Communities of Web Services -Preliminary Investigation,” in 22nd International Conference onAdvanced Information Networking and Applications -Workshops (aina workshops 2008), 2008, pp. 1603–1608. B. Khosravifar, J. Bentahar, A. Moazin, Z. Maamar, andP. Thiran, “Analyzing Communities vs. Single Agent-BasedWeb Services: Trust Perspectives,” 2010 IEEE InternationalConference on Services Computing, pp. 194–201, 2010. Z. Maamar, L. K. Wives, Y. Badr, S. Elnaffar, K.Boukadi, and N. Faci, “LinkedWS: A novel Web servicesdiscovery model based on the Metaphor of “social networks,”Simulation Modelling Practice and Theory, vol. 19, no. 1, pp.121–132, 2010. Z. Maamar, N. Faci, L. Wives, Y. Badr, P. Santos, andJ. Palazzo M. de Oliveira, “Using Social Networks for WebServices Discovery,” IEEE Internet Computing, vol. 15, no. 4,pp. 48–54, Jul. 2011. A. Maaradji, H. Hacid, and J. Daigremont, “Towards aSocial Network Based Approach for Services Composition,”IEEE International Conference on Communications, pp. 1–5,2010. Z. Maamar, H. Hacid, and M. N. Huhns, “Why WebServices Need Social Networks,” IEEE Internet Computing, vol.15, no. 2, pp. 90–94, Mar. 2011. S. R. L. Meira, V. A. A. Buregio, L. M. Nascimento, E.Figueiredo, M. Neto, B. Encarnacao, and V. C. Garcia, “TheEmerging Web of Social Machines,” in 2011 IEEE 35th AnnualComputer Software and Applications Conference, 2011, pp. 26–27. K. S. Brito, L. E. Abadie, P. F. Muniz, L. Marques, V.A. de A. Buregio, C. Vinicius, and S. Meira, “ImplementingWeb Applications as Social Machines Composition : a CaseStudy,” The 24th International Conference on SoftwareEngineering and Knowledge Engineering, vol. (SEKE2012),pp. 311–314, 2012.