Abstract
This paper uses a case study to evaluate empirically three formalisms of different kinds for their suitability for the modelling and analysis of dynamic reconfiguration of dependable systems. The requirements on an ideal formalism for dynamic software reconfiguration are defined. The reconfiguration of an office workflow for order processing is described, and the requirements on the reconfiguration of the workflow are defined. The workflow is modelled using the Vienna Development Method (VDM), conditional partial order graphs (CPOGs), and the basic Calculus of Communicating Systems for dynamic process reconfiguration (basic CCSdp), and verification of the reconfiguration requirements is attempted using the models. The formalisms are evaluated according to their ability to model the reconfiguration of the workflow, to verify the requirements on the workflow’s reconfiguration, and to meet the requirements on an ideal formalism.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Andova S, Groenewegen LPJ, de Vink EP (2014) Dynamic adaptation with distributed control in Paradigm. Sci Comput Program 94: 333–361
Agerholm S, Lecoeur, P-J, Reichert E (1998) Formal specification and validation at work: a case study using VDM-SL. In: Proceedings of the second workshop on formal methods in software practice, FMSP ’98, pp 78–84, New York, NY, USA, ACM
Aguirre N, Maibaum T (2002) A temporal logic approach to the specification of reconfigurable component-based systems. In: Proceedings of the 17th IEEE international conference on automated software engineering, pp 271–274
Ardagna D, Pernici B (2007) Adaptive service composition in flexible processes. IEEE Trans Softw Eng 33(6): 369–384
Almeida JPA, Wegdam M, van Sinderen M, Nieuwenhuis L (2001) Transparent dynamic reconfiguration for CORBA. In: Proceedings of the 3rd international symposium on distributed objects and applications, pp 197–207
Berry G, Boudol G (1992) The chemical abstract machine. Theor Comput Sci 96(1): 217–248
Boreale M, Bruni R, Caires L, De Nicola R, Lanese I., Loreti M, Martins F, Montanari U, Ravara A, Sangiorgi D, Vasconcelos V, Zavattaro G (2006) SCC: a service centered calculus. In: Proceedings of the 3rd international workshop on web services and formal methods (WS-FM), pp 38–57
Bradbury JS, Cordy JR, Dingel J, Wermelinger M (2004) A survey of self-management in dynamic software architecture specifications. In: Proceedings of the 1st ACM SIGSOFT workshop on self-managed systems, pp 28–33
Bloom T, Day M (1993) Reconfiguration and module replacement in Argus: theory and practice. Softw Eng J (Special Issue) 8(2): 102–108
Bicarregui J, Fitzgerald J, Lindsay P, Moore R, Ritchie B (1994) Proof in VDM: a practitioner’s guide. FACIT. Springer-Verlag. ISBN 3-540-19813-X
Bhattacharyya A (2013) Formal modelling and analysis of dynamic reconfiguration of dependable systems. PhD thesis, Newcastle University School of Computing Science. http://hdl.handle.net/10443/1851.
Butler M, Hoare T, Ferreira C (2005) A trace semantics for long-running transactions. In: Proceedings of the symposium on the occasion of 25 years of CSP, pp 133–150
Bergstra JA, Klop JW (1984) Process algebra for synchronous communication. Inf Control 60: 109–137
Bocchi L, Laneve C, Zavattaro G (2003) A calculus for long-running transactions. In: Proceedings of the 6th IFIP WG 6.1 international conference on formal methods for open object-based distributed systems (FMOODS), pp 124–138
Banâtre JP, Le Métayer D (1990) The GAMMA model and its discipline of programming. Sci Comput Program 15(1): 55–77
Boudol G (1992) Asynchrony and the π-calculus. Technical report 1702. Institut National de Recherche en Informatique et en Automatique
Bravetti M (2002) Specification and analysis of stochastic real-time systems. PhD thesis, University of Bologna
Bradfield J, Stirling C (2007) Handbook of modal logic, chapter Modal mu-calculi. Elsevier Science Inc, New York, NY, pp 721–756
Christensen S, Hirshfeld Y, Moller F (1994) Decidable subsets of CCS. Comput J 37(4): 233–242
Coyle L, Hinchey M, Nuseibeh B, Fiadeiro JL (2010) Guest Editors’ introduction: evolving critical systems. IEEE Comput 43(5): 28–33
Classen A, Heymans P, Schobbens P-Y, Legay A, Raskin J-F (2010) Model checking lots of systems: efficient verification of temporal properties in software product lines. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering, ACM, vol 1, pp 335–344
Coleman JW, Jones CB (2007) A structural proof of the soundness of rely/guarantee rules. J Log Comput 17: 807–841
Cho SM, Kim HH, Cha SD, Bae DH (2001) Specification and validation of dynamic systems using temporal logic. IEE Proc Softw 148(4): 135–140
Ellis C, Keddara K, Rozenberg G (1995) Dynamic change within workflow systems. In: Proceedings of the conference on organizational computing systems, ACM, pp 10–21
Ehrig H, Pfender M, Schneider HJ (1973) Graph-grammars: an algebraic approach. In: IEEE conference record of the 14th annual symposium on switching and automata theory, pp 167–180
Eén N, Sörensson N (2004) An extensible SAT-solver. Theory and applications of satisfiability testing, pp 333–336
Endler M, Wei J (1992) Programming generic dynamic reconfigurations for distributed applications. In: Proceedings of the international workshop on configurable distributed systems, IET, pp 68–79
Fantechi A, Gnesi S, Lapadula A, Mazzanti F, Pugliese R, Tiezzi F (2012) A logical verification methodology for service-oriented computing. ACM Trans Softw Eng Methodol 21(3): 16–11646
Filieri A, Hoffmann H, Maggio M (2015) Automated multi-objective control for self-adaptive software design. In: Proceedings of the 10th joint meeting on foundations of software engineering, pp 13–24
Fitzgerald J, Larsen PG (2009) Modelling systems—practical tools and techniques in software development, 2nd edn. Cambridge University Press, The Edinburgh Building, Cambridge CB2 2RU, UK. ISBN 0-521-62348-0.
Fitzgerald J, Larsen PG, Mukherjee P, Plat N, Verhoef M (2005) Validated designs for object-oriented systems. Springer, New York
Fitzgerald J, Larsen PG, Sahara S (2008) VDMTools: advances in support for formal modeling in VDM. ACM Sigplan Not 43(2): 3–11
Fărcaş E (2006) Scheduling multi-mode real-time distributed components. PhD thesis, University of Salzburg Department of Computer Sciences
Fischmeister S, Winkler K (2005) Non-blocking deterministic replacement of functionality, timing, and data-flow for hard real-time systems at runtime. In: Proceedings of the 17th Euromicro conference on real-time systems, pp 106–114. IEEE Computer Society
Guidi C, Lucchi R, Gorrieri R, Busi N, Zavattaro G (2006) SOCK: a calculus for service oriented computing. In: Proceedings of the 4th international conference on service-oriented computing (ICSOC), pp 327–338
Hilario M, Nguyen P, Do H, Woznica A, Kalousis A (2011) Ontology-based meta-mining of knowledge discovery workflows. In: Jankowski N, Duch W, Gra̧bczewski K (eds) Meta-learning in computational intelligence, volume 358 of Studies in computational intelligence. Springer, pp 273–315
Honda K, Tokoro M (1991) An object calculus for asynchronous communication. In: Proceedings of the 5th European conference on object-oriented programming (ECOOP), pp 133–147
Hudak P (1996) Building domain-specific embedded languages. ACM Comput Surv 28(4): 196
Andrews DJ (1996) Information technology—programming languages, their environments and system software interfaces—Vienna Development Method—specification language—part 1: base language
Inverardi P, Wolf AL (1995) Formal specification and analysis of software architectures using the chemical abstract machine model. IEEE Trans Softw Eng 21(4): 373–386
Jones CB (1981) Development methods for computer programs including a notion of interference. PhD thesis, Oxford University
Jones CB (1990) Systematic software development using VDM, 2nd edn. Prentice-Hall, Inc., Upper Saddle River, NJ
Jones CB (2003) The early search for tractable ways of reasonning about programs. IEEE Ann Hist Comput 25(2): 26–49
Kaplan SM, Goering SK, Campbell RH (1989) Specifying concurrent systems with Δ-grammars. In: Proceedings of the 5th international workshop on software specification and design, pp 20–27
Kaplan SM, Kaiser GE (1988) Garp: graph abstractions for concurrent programming. In: Proceedings of the 2nd European symposium on programming, pp 191–205
Kramer J, Magee J (1990) The evolving philosophers problem: dynamic change management. IEEE Trans Softw Eng 16(11): 1293–1306
Krause C, Maraikar Z, Lazovik A, Arbab F (2011) Modeling dynamic reconfigurations in Reo using high-level replacement systems. Sci Comput Program 76: 23–36
Karsai G, Massacci F, Osterweil LJ, Schieferdecker I (2010) Evolving embedded systems. IEEE Comput 43(5): 34–40
Kobayashi N (2006) A new type system for deadlock-free processes. In: Proceedings of the 17th international conference on concurrency theory (CONCUR), pp 233–247. Springer-Verlag
Larsen PG (2001) Ten years of historical development: “Bootstrapping” VDMTools. J Univers Comput Sci 7(8): 692–709
Larsen PG, Battle N, Ferreira M, Fitzgerald J, Lausdahl K, Verhoef M (2010) The overture initiative-integrating tools for VDM. SIGSOFT Softw Eng Notes 35(1): 1–6
Lausdahl K, Coleman JW, Larsen PG (2013) Semantics of the VDM real-time dialect. Technical report ECE-TR-13, Aarhus University
Lee C-Y (1959) Representation of switching circuits by binary-decision programs. Bell Syst Tech J 38(4): 985–999
Larsen PG, Fitzgerald J, Wolff S (2009) Methods for the development of distributed real-time embedded systems using VDM. Int J Softw Inform 3(2–3): 305–341
Larsen PG, Lausdahl K, Battle N (2010) Combinatorial testing for VDM. In: Proceedings of the 8th IEEE international conference on software engineering and formal methods, SEFM ’10, pp 278–285, Washington, DC, USA, September 2010. IEEE Computer Society. ISBN 978-0-7695-4153-2.
Lucchi R, Mazzara M (2007) A pi-calculus based semantics for WS-BPEL. J Log Algebr Program 70(1): 96–118
Lin H-H, Omori Y, Kusakabe S, Araki K (2016) Towards verifying VDM using SPIN. In: Proceedings of the 4th international workshop on formal techniques for safety-critical systems, volume 596 of Communications in computer and information science, pp 241–256. Springer
Larsen PG, Pawłowski W (1995) The formal semantics of ISO VDM-SL. Comput Stand Interfaces 17(5–6): 585–602
Mazzara M, Abouzaid F, Dragoni N, Bhattacharyya A (2012) Toward design, modelling and analysis of dynamic workflow reconfiguration—a process algebra perspective. In: Proceedings of the 8th international workshop on web services and formal method (WS-FM), volume 7176 of Lecture notes in computer science, pp 64–78. Springer-Verlag
The Maude System (2015) http://maude.cs.uiuc.edu. Accessed 4 Aug 2016.
Mazzara M (2006) Towards abstractions for web services composition. PhD thesis, University of Bologna Department of Computer Science
Mazzara M (2014) LTL-based verification of reconfigurable workflows. Appl Math Sci 8(172): 8581–8600
McMillan KL (1993) Using unfoldings to avoid the state explosion problem in the verification of asynchronous circuits. In: von Bochmann G, Probst D (eds) Computer aided verification. Springer, pp 164–177
Le Metayer D (1996) Software architecture styles as graph grammars. In: Proceedings of the 4th symposium on the foundations of software engineering, pp 15–23
Milner R (1989) Communication and concurrency. Prentice-Hall, Inc., Upper Saddle River, NJ
Milner R (1999) Communicating and mobile systems: the π-calculus. Cambridge University Press, Cambridge
Mokhov A, Khomenko V (2014) Algebra of parameterised graphs. ACM Trans Embed Comput 13(4s): 1–22
Meyer R, Khomenko V, Strazny T (2009) A practical approach to verification of mobile systems using net unfoldings. Fundam Inform 94(3–4): 439–471
Mens T, Magee J, Rumpe B (2010) Evolving software architecture descriptions of critical systems. IEEE Comput 43(5): 42–48
Mokhov A (2009) Conditional partial order graphs. PhD thesis, Newcastle University
Montgomery J (2004) A model for updating real-time applications. Real-Time Syst 27(2): 169–189
Milner R, Parrow J, Walker D (1992) A calculus of mobile processes, parts I and II. Inf Comput 100(1): 1–77
Mokhov A, Rykunov M, Sokolov D, Yakovlev A (2014) Design of processors with reconfigurable microarchitecture. J Low Power Electron Appl 4(1): 26–43
Mokhov A, Sokolov D, Yakovlev A (2012) Adapting asynchronous circuits to operating conditions by logic parametrisation. In: IEEE international symposium on asynchronous circuits and systems (ASYNC), IEEE, pp 17–24
Medvidovic N, Taylor RN (2000) A classification and comparison framework for software architecture description languages. IEEE Trans Softw Eng 26(1): 70–93
Mokhov A, Yakovlev A (2008) Verification of conditional partial order graphs. In: International conference on application of concurrency to system design (ACSD), IEEE, pp 128–137
Mokhov A, Yakovlev A (2010) Conditional partial order graphs: model, synthesis and application. IEEE Trans Comput 59(11): 1480–1493
Nielsen M, Plotkin GD, Winskel G (1981) Petri nets, event structures and domains, part I. Theor Comput Sci 13: 85–108
Oreizy P (1998) Issues in modeling and analyzing dynamic software architectures. In: Proceedings of the international workshop on the role of software architecture in testing and analysis, pp 54–57
Patikirikorala T, Colman A, Han J, Wang L (2012) A systematic survey on the design of self-adaptive software systems using control engineering approaches. In: Proceedings of the 7th international symposium on software engineering for adaptive and self-managing systems, pp 33–42
Pedro PSM (1999) Schedulability of mode changes in flexible real-time distributed systems. PhD thesis, University of York Department of Computer Science
Pnueli A (1977) The temporal logic of programs. In: Proceedings of the 18th IEEE annual symposium on foundations of computer science, pp 46–57
Pierce BC, Turner DN (2000) Pict: a programming language based on the pi-calculus. In: Plotkin G, Stirling C, Tofte M (eds) Proof, language and interaction: essays in honour of Robin Milner. MIT Press, Cambridge, MA, pp 455–494
Pugliese R, Tiezzi F (2012) A calculus for orchestration of web services. J Appl Log 10: 2–31
Parrow J, Victor B (1998) The fusion calculus: expressiveness and symmetry in mobile processes. In: Proceedings of the 13th annual IEEE symposium on logic in computer science, pp 176–185
Rensink A (2003) The GROOVE simulator: a tool for state space generation. In: Pfaltz JL, Nagl M, Böhlen B (eds) Applications of graph transformations with industrial relevance. Springer, pp 479–485
Rounds WC, Song H (2003) The Φ-calculus: a language for distributed control of reconfigurable embedded systems. In: Proceedings of the 6th international workshop on hybrid systems: computation and control, pp 435–449
Sangiorgi D (1993) Expressing mobility in process algebras: first-order and higher-order paradigms. PhD thesis, University of Edinburgh Department of Computer Science
SEN3. The Reo Project (2008). http://reo.project.cwi.nl/reo/wiki. Accessed 4 Aug 2016
Sha L, Rajkumar R, Lehoczky J, Ramamritham K (1989) Mode change protocols for priority-driven preemptive scheduling. J Real-Time Syst 1(3): 243–264
Stewart DB, Volpe RA, Khosla PK (1997) Design of dynamically reconfigurable real-time software using port-based objects. IEEE Trans Softw Eng 23(12): 759–776
Sangiorgi D, Walker D (2001) The π-calculus: a theory of mobile processes. Cambridge University Press, Cambridge
Taentzer G (2003) AGG: a graph transformation environment for modeling and validation of software. In: Pfaltz JL, Nagl M, Böhlen B (eds) Applications of graph transformations with industrial relevance. Springer, pp 446–453
Tindell K, Burns A, Wellings A (1992) Mode changes in priority pre-emptively scheduled systems. In: Proceedings of the IEEE real-time systems symposium, pp100–109
Thomsen B (1990) Calculi for higher order communicating systems. PhD thesis, University of London Imperial College of Science, Technology and Medicine Department of Computing
Verhoef M, Larsen PG, Hooman J (2006) Modeling and validating distributed embedded real-time systems with VDM++. In: Misra J, Nipkow T, Sekerinski E (eds) FM 2006: formal methods. Lecture notes in computer science, vol. 4085. Springer, Berlin, pp 147–162
Victor B, Moller F (1994) The mobility workbench—a tool for the π-calculus. In: Proceedings of the 6th international conference on computer aided verification, pp 428–440. Springer-Verlag
Wermelinger MA (1999) Specification of software architecture reconfiguration. PhD thesis, University of Lisbon Department of Informatics
Weyns D, Iftikhar MU, de la Iglesia DG, Ahmad T (2012) A survey of formal methods in self-adaptive systems. In: Proceedings of the 5th international C* conference on computer science and software engineering, pp 67–79
Wermelinger M, Lopes A, Fiadeiro JL (2001) A graph based architectural (re)configuration language. ACM SIGSOFT Softw Eng Notes 26(5): 21–32
Yu T, Lin KJ (2005) Adaptive algorithms for finding replacement services in autonomic distributed business processes. In: Proceedings of the 7th international symposium on autonomous decentralized systems, IEEE, pp 427–434
Author information
Authors and Affiliations
Corresponding author
Additional information
Jose N. Oliveira
Electronic Supplementary Material
The Below is the Electronic Supplementary Material.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Bhattacharyya, A., Mokhov, A. & Pierce, K. An empirical comparison of formalisms for modelling and analysis of dynamic reconfiguration of dependable systems. Form Asp Comp 29, 251–307 (2017). https://doi.org/10.1007/s00165-016-0405-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-016-0405-z