Software Engineering Foundations for Sociotechnical Systems
Total Page:16
File Type:pdf, Size:1020Kb
From Social Machines to Social Protocols: Software Engineering Foundations for Sociotechnical Systems Amit K. Chopra Munindar P. Singh School of Computing and Communications Department of Computer Science Lancaster University North Carolina State University Lancaster, LA1 4WA, UK Raleigh, NC 27695-8206, USA [email protected] [email protected] ABSTRACT processes that underlie an open society via administrative The overarching vision of social machines is to facilitate so- assistance from computers [2, pp. 172{175]. cial processes by having computers provide administrative In the recent literature, the distinguishing features of a so- support. We conceive of a social machine as a sociotech- cial machine are a large numbers of users, social interaction nical system (STS): a software-supported system in which among them, and how the data generated by their interac- autonomous principals such as humans and organizations tions helps solve the problem at hand. A typical social ma- interact to exchange information and services. Existing ap- chine comprises Twitter and its users and serves purposes proaches for social machines emphasize the technical aspects such as earthquake notification and prediction [33], traffic and inadequately support the meanings of social processes, routing [27], and journalism [21]. leaving them informally realized in human interactions. We We define a sociotechnical system (STS) as a system of posit that a fundamental rethinking is needed to incorporate principals|social entities such as people|interacting with accountability, essential for addressing the openness of the each other with support from technical components for com- Web and the autonomy of its principals. puting and communication. A social machine is thus an We introduce Interaction-Oriented Software Engineering STS. A crucial limitation of current approaches lies in the (IOSE) as a paradigm expressly suited to capturing the so- fact that they leave the social and technical components, in cial basis of STSs. Motivated by promoting openness and effect, disconnected from each other. Specifically, the techni- autonomy, IOSE focuses not on implementation but on so- cal component is an implementation of some generic \lowest- cial protocols, specifying how social relationships, character- common denominator" functionality such as text messaging izing the accountability of the concerned parties, progress as or photo sharing. And, the social component is epiphenome- they interact. Motivated by providing computational sup- nal: left purely to what the users make of their interactions. port, IOSE adopts the accountability representation to cap- Not surprisingly, such lack of structure interferes with inter- ture the meaning of a social machine's states and transitions. operability and thus subverts the vision of social machines We demonstrate IOSE via examples drawn from health- interacting with one another to support complex social pro- care. We reinterpret the classical software engineering (SE) cesses. Just as metadata and semantics are invaluable in principles for the STS setting and show how IOSE is better linking data and services so too are they essential for sup- suited than traditional software engineering for supporting porting social processes. social processes. The contribution of this paper is a new To construct the big picture and formulate an effective so- paradigm for STSs, evaluated via conceptual analysis. lution, it helps to understand recent research on cybersecu- rity. Whereas traditional research on cybersecurity has been concerned with securing technical resources, such as comput- ing and storage devices and communication networks, it has 1. INTRODUCTION become clear that the most insidious challenges of cyberse- We take as our point of departure the vision of a social curity arise at the human and social levels. To this end, it machine, conceived of in the early days of the Web [2], and is important to recognize that any use of computing can be which has been gaining prominence. The underlying idea is understood as a sociotechnical system. The social aspects that a social machine represents a collective of humans and of cybersecurity are integral concerns for social machines. computers (or algorithms) working collaboratively on some For example, we would want to ensure that a social machine problem [3,18,31]. In a nutshell, a social machine comprises does not (depending upon its purpose) produce disinforma- humans and computers; it seeks to flexibly support social tion, malicious advice, or improper resource allocations. In effect, what unites the concerns of social machines and the social aspects of cybersecurity is accommodating open- ness and autonomy. The problem in each case is of gover- nance of an STS [37]. The central idea that we develop is that of, first, placing interaction front and center and, sec- Copyright is held by the International World Wide Web Conference Com- ond, of modeling interaction in terms not of the technical mittee (IW3C2). IW3C2 reserves the right to provide a hyperlink to the but of the social elements of an STS. This idea brings us to author’s site if the Material is used in electronic media. WWW 2016, April 11–15, 2016, Montréal, Québec, Canada. the conception of accountability as a way of characterizing ACM 978-1-4503-4143-1/16/04. \good behavior"for each of the principals involved. Account- DOI: http://dx.doi.org/10.1145/2872427.2883018. ability here is directed from one principal to another and evaluate prominent methodologies vis `avis these princi- reflects the legitimate expectations the second principal has ples, showing where they fall short, thereby establishing of the first. Thus, accountability is a relationship between the novelty of IOSE. two principals who are notional peers and characterizes the • Benefits. We show that an explicit treatment of social social machine we are considering. protocols and accountability promotes properties such as In this spirit, we introduce an alternative paradigm called openness and innovation that motivate social machines. IOSE (pronounced ee-oh-zay, as in Italian) for Interaction- Oriented Software Engineering. IOSE is expressly suited to We demonstrate the concepts, principles, and benefits of capturing the social basis of STSs. To promote openness and IOSE via a public health scenario. autonomy, IOSE focuses not on implementation but on so- cial protocols, which specify how social relationships among Organization. This paper is organized as follows. Sec- the concerned principals progress through their interactions. tion 2 explains the limitations of traditional SE. Section 3 To sustain improved computational support, IOSE posits lays out the IOSE concepts and how systems are engineered that the meanings of social interactions be represented for- following IOSE. Section 4 introduces the fundamental prin- mally. These meanings on the one hand characterize the ciples of IOSE. Section 5 evaluates existing approaches vis social relationships of the principals and on the other hand `avis IOSE. Section 6 relates IOSE to extant and envisioned the state of the social machine being specified. Although social machines. Section 7 summarizes our contributions IOSE as a paradigm is not limited to particular social re- and Section 8 lays out an agenda of future research. lationships, for concreteness, our examples consider a few well-established types of social relationships, such as com- 2. CURRENT SOFTWARE ENGINEERING mitting to perform an action, dialectically committing to To avoid terminological confusion, we use the term SE- the truth of some assertion, prohibiting another from per- machine to refer to a software machine in the sense cur- forming an action such as divulging private information, and rently used in SE. The limitations of SE arise from the fact establishing an interpersonal relationship such as friendship. that it seeks to specify and deploy an SE-machine [48] that As we conceive of it, first, to specify a social machine is when implemented and installed, would satisfy stakeholder to specify its intended social protocol. A protocol in our requirements. As we explain below, an SE-machine unrea- vision specifies all and only the relevant social expectations sonably limits principal autonomy and imposes an arbitrary and the concomitant accountability of the principals partic- standard of correctness that is disconnected from the expec- ipating in a social machine. That is, any expectation that tations of the principals. makes a difference in a social machine must arise in the pro- tocol. No operational detail must feature in the protocol 2.1 SE-Machines unless it is part of some expectation. Second, to participate SE seeks to produce a specification of software conceptu- in the social machine is to enact that social protocol. In alized as an SE-machine that would be a component in the general, each social entity that participates in a social ma- system. For illustration, let us sketch van Lamsweerde's [43] chine may apply its own software implementation to assist influential account of SE. The system as is is the system with in its participation. The implementation would capture the limitations identified. SE seeks to engineer the system to be, policies by which its principal acts in a social machine. We whose objectives are to avoid those limitations. The idea is can judge the correctness of such a software implementation to come up with a set of services, constraints, and assump- with respect to the protocol in which it would participate. tions under which the stated objectives would be met|some An important consequence of adopting a protocol as a by the software to be as part of the system to be; some via specification is that whereas a protocol provides a standard responsibilities assigned to components in the environment, of correctness, it does not enforce compliant behavior. As namely, people, devices, and existing software. The software an autonomous party, a principal may violate a protocol. In to be is an SE-machine that maps inputs from its environ- general, well-designed social machines (protocols) would be ment to outputs or effects in the environment by monitoring resilient against certain kinds of violations.