Abstract
A socio-technical system (STS) consists of an interplay of humans, organizations, and technical systems. STSs are heterogeneous, dynamic, unpredictable, and weakly controllable. Their operational environment changes unexpectedly, actors join and leave the system at will, actors fail to meet their objectives and under-perform, and dependencies on other actors are violated. To deal with such situations, we propose an architecture for STSs that makes an STS self-reconfigurable, i.e., capable of switching autonomously from one configuration to a better one. Our architecture performs a Monitor-Diagnose-Reconcile-Compensate cycle: it monitors actor behaviors and context changes, diagnoses failures and under-performance by checking whether monitored behavior is compliant with actors goals, finds a possible way to address the problem, and enacts compensation actions to reconcile actual and desired behavior. Compensation actions take into account the autonomy of participants in an STS, which cannot be controlled. Our architecture is requirements driven: we use extended Tropos goal models to diagnose failures as well as to identify alternative strategies to meet requirements. After presenting our conceptual architecture and the algorithms, it is founded upon; we describe a prototype implementation applied to a case study concerning smart-homes. We also provide experimental results that suggest that our architecture scales well as the size of the STS grows.
Similar content being viewed by others
Notes
Serenity: system engineering for security and dependability, http://www.serenity-project.org.
a standard bus that allows devices in smart-homes to communicate: http://www.knx.org/.
A context is a partial state of the world that is relevant to an actor’s current intentions and status [2].
Singh [43] explains the distinction between psychological and social commitments.
References
Ali R, Dalpiaz F, Giorgini P (2008) Location-based software modeling and analysis: tropos-based approach. In: Li Q, Spaccapietra S, Yu E, Olivé A (eds) Proceedings of the 27th international conference on conceptual modeling (ER 2008), LNCS, vol. 5231. Springer, Heidelberg, pp 169–182
Ali R, Dalpiaz F, Giorgini P (2010) A goal-based framework for contextual requirements modeling and analysis. Requir Eng 15(4):439–458. doi:10.1007/s00766-010-0110-z
Baresi L, Pasquale L (2010) Live goals for adaptive service compositions. In: Proceedings of the 2010 ICSE won software engineering for adaptive and self-managing systems (SEAMS 2010), pp 114–123. http://doi.acm.org/10.1145/1808984.1808997
Baresi L, Pasquale L, Spoletini P (2010) Fuzzy goals for requirements-driven adaptation. In: Proceedings of the 18th international IEEE requirements engineering conference (RE 2010)
Bencomo N, Whittle J, Sawyer P, Finkelstein A, Letier E (2010) Requirements reflection: requirements as runtime entities. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering (ICSE 2010), ACM, pp 199–202
Bordini RH, Wooldridge M, Hübner JF (2007) Programming multi-agent systems in AgentSpeak using Jason. Wiley, NY
Bratman ME (1987) Intention, plans, and practical reason. Harvard University Press, Cambridge, Massachusetts
Bresciani P, Perini A, Giorgini P, Giunchiglia F, Mylopoulos J (2004) Tropos: an agent-oriented software development methodology. Auton Agent Multi Agent Syst 8(3):203–236
Bryl V, Giorgini P (2006) Self-configuring socio-technical systems: redesign at runtime. Int Trans Syst Sci and Appl 2(1):31–40
Calimeri F, Cozza S, Ianni G, Leone N (2008) Computable functions in ASP: theory and implementation. In: Proceedings of the 24th international conference on logic programming (ICLP 2008), LNCS, vol 5366. Springer, pp 407–424
Campadello S, Compagna L, Gidoin D, Holtmanns S, Meduri V, Pazzaglia JCR, Seguran M, Thomas R (2006) Serenity deliverable A7.D1.1: scenario selection and definition
Cetina C, Giner P, Fons J, Pelechano V (2009) Autonomic computing through reuse of variability models at runtime: the case of smart homes. IEEE Comp 42(10):37–43
Chess DM, Segal A, Whalley I, White SR (2004) Unity: experiences with a prototype autonomic computing system. In: Proceedings of the 1st IEEE international conference on autonomic computing (ICAC 2004). IEEE Computer Society, pp 140–147
Clark J et al (1999) XSL Transformations (XSLT) Version 1.0. W3C Recommendation
Cohen PR, Levesque HJ (1990) Intention is choice with commitment. Artif Intell 42(2-3):213–261
Dalpiaz F, Giorgini P, Mylopoulos J (2009) Software self-reconfiguration: a BDI-based approach. In: Proceedings of the 8th international conference on autonomous agents and multiagent systems (AAMAS 2009). IFAAMAS, pp 1159–1160
Damus CW (2007) Implementing model integrity in EMF with MDT OCL. Eclipse corner articles, online at: http://www.eclipse.org/articles/article.php?file=Article-EMF-Codegen-with-OCL/index.html
Dardenne A, van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Compu Program 20(1-2):3–50
Decker KS, Lesser VR (1995) Designing a family of coordination algorithms. In: Proceedings of the 1st international conference on multi-agent systems (ICMAS 1995), pp 73–80
Emery FE (1959) Characteristics of socio-technical systems technical report 527. Tavistock Institute, London
Feather MS, Fickas S, van Lamsweerde A, Ponsard C (1998) Reconciling system requirements and runtime behavior. In: Proceedings of the 9th international workshop on software specification and design (IWSSD’98). IEEE Computer Society Washington, DC, USA, pp 50–59
Floch J, Hallsteinsen S, Stav E, Eliassen F, Lund K, Gjorven E (2006) Using architecture models for runtime adaptability. IEEE Softw 23(2):62–70. http://dx.doi.org/10.1109/MS.2006.61
Garcia-Molina H, Salem K (1987) Sagas. In: Proceedings of the 1987 SIGMOD annual conference, pp 249–259
Garlan D, Cheng SW, Huang AC, Schmerl B, Steenkiste P (2004) Rainbow: architecture-based self-adaptation with reusable infrastructure. IEEE Comput 37(10):46–54. doi:10.1109/MC.2004.175
Hevner AR, March ST, Park J, Ram S (2004) Design science in information systems research. MIS Q 28(1):75–105
Horn P (2001) Autonomic computing: IBM’s perspective on the state of information technology. Talk given at IBM TJ Watson Labs, NY
Hui B, Liaskos S, Mylopoulos J (2003) Requirements analysis for customizable software goals-skills-preferences framework. In: Proceedings of the 11th IEEE international conference on requirements engineering (RE’03). IEEE Computer Society, pp 117–126
Jureta IJ, Mylopoulos J, Faulkner S (2008) Revisiting the core ontology and problem in requirements engineering. In: Proceedings of the 16th IEEE international conference on requirements engineering (RE 2008), pp 71–80
Kramer J, Magee J (2007) Self-managed systems: an architectural challenge. In: Proceedings of the 29th international conference on software engineering (ICSE 2007). IEEE Computer Society, pp 259–268
Myers KL (1999) CPEF: a continuous planning and execution framework. AI Mag 20(4):63–69
Object Management Group (2008) Software & systems process engineering metamodel specification (SPEM) Version 2.0. Tech. rep
Oreizy P, Gorlick MM, Taylor RN, Heimbigner D, Johnson G, Medvidovic N, Quilici A, Rosenblum DS, Wolf AL (1999) An architecture-based approach to self-adaptive software. IEEE Intell Syst 14(3):54–62
Oreizy P, Medvidovic N, Taylor RN (1998) Architecture-based runtime software evolution. In: Proceedings of the 20th international conference on software engineering (ICSE 1998), pp 177–186
Penserini L, Perini A, Susi A, Mylopoulos J (2007) High variability design for software agents: extending tropos. ACM transactions on autonomous and adaptive systems 2(4):16. doi:http://doi.acm.org/10.1145/1293731.1293736
Preece J, Rogers Y, Sharp H (2002) Interaction design: beyond human-computer interaction. Wiley, NY
Rao AS, Georgeff MP (1991) Modeling rational agents within a BDI-architecture. In: Proceedings of the 2nd international conference on principles of knowledge representation and reasoning (KR’91). Morgan Kaufmann publishers Inc., San Mateo, CA, USA, pp 473–484
Rao AS, Georgeff MP (1995) BDI agents: from theory to practice. In: Proceedings of the 1st international conference on multi-agent systems (ICMAS-95), San Fransisco, USA, pp 312–319
Robinson WN (2006) A requirements monitoring framework for enterprise systems. Requir Eng 11(1):17–41
Sardina S, Padgham L (2007) Goals in the context of BDI plan failure and planning. In: Proceedings of the 6th international joint conference on autonomous agents and multiagent systems (AAMAS 2007), pp 16–23
Singh MP (1991) Social and psychological commitments in multiagent systems. In: AAAI fall symposium on knowledge and action at social and organizational levels, pp 104–106
Singh MP (1999) An ontology for commitments in multiagent systems: toward a unification of normative concepts. Artif Intell Law 7(1):97–113
Sykes D, Heaven W, Magee J, Kramer J (2008) From goals to components: a combined approach to self-management. In: Proceedings of the 2008 ICSE Workshop on software engineering for adaptive and self-managing systems (SEAMS 2008), pp 1–8
van der Krogt R, de Weerdt M (2005) Plan repair as an extension of planning. In: Proceedings of the 2005 international conference on automated planning & scheduling (ICAPS 2005), pp 161–170
van der Krogt R, de Weerdt M, Witteveen C (2003) A resource based framework for planning and replanning. Web Intell Agent Syst 1(3):173–186
van Lamsweerde A, Letier E (2000) Handling obstacles in goal-oriented requirements engineering. IEEE Trans Softw Eng 26(10):978–1005
Wang Y, McIlraith S, Yu Y, Mylopoulos J (2007) An automated approach to monitoring and diagnosing requirements. In: Proceedings of the 22nd IEEE/ACM international conference on automated s engineering (ASE’07). ACM New York, NY, USA, pp 293–302
Wang Y, Mylopoulos J (2009) Self-repair through reconfiguration: a requirements engineering approach. In: Proceedings of the 24th IEEE/ACM international conference on automated software engineering (ASE’09). IEEE Computer Society, pp 257–268
Whittle J, Sawyer P, Bencomo N, Cheng B, Bruel JM (2010) RELAX: a language to address uncertainty in self-adaptive systems requirement. Requir Eng 15(2):177–196
Yu ESK (1996) Modeling strategic relationships for process reengineering. PhD thesis, University of Toronto, Toronto, ON, Canada
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Dalpiaz, F., Giorgini, P. & Mylopoulos, J. Adaptive socio-technical systems: a requirements-based approach. Requirements Eng 18, 1–24 (2013). https://doi.org/10.1007/s00766-011-0132-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-011-0132-1