We address the problem of engineering a sociotechnical system (STS) with respect to its stakeholders’ requirements. We motivate a two-tier STS conception composed of a technical tier that provides control mechanisms and describes what actions are allowed by the software components, and a social tier that characterizes the stakeholders’ expectations of each other in terms of norms. We adopt agents as computational entities, each representing a different stakeholder. Unlike previous approaches, our framework, DESEN, incorporates the social dimension into the formal verification process. Thus, DESEN supports agents potentially violating applicable norms—a consequence of their autonomy. In addition to requirements verification, DESEN supports refinement of STS specifications via design patterns to meet stated requirements. We evaluate DESEN at three levels. We illustrate how DESEN carries out refinement via the application of patterns on a hospital emergency scenario. We show via a human-subject study that a design process based on our patterns is helpful for participants who are inexperienced in conceptual modeling and norms. We provide an agent-based environment to simulate the hospital emergency scenario to compare STS specifications (including participant solutions from the human-subject study) with metrics indicating social welfare and norm compliance, and other domain dependent metrics.
|Number of pages||54|
|Journal||ACM Transactions on Software Engineering and Methodology|
|Publication status||Published - Dec 2019|