Skip to main content

The Role of Parts in the System Behaviour

  • Conference paper
Software Engineering for Resilient Systems (SERENE 2014)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8785))

Included in the following conference series:

Abstract

In today’s world, we are surrounded by software-based systems that control so many critical activities. Every few years we experiment dramatic software failures and this asks for software that gives evidence of resilience and continuity. Moreover, we are observing an unavoidable shift from stand-alone systems to systems of systems, to ecosystems, to cyber-physical systems and in general to systems that are composed of various independent parts that collaborate and cooperate to realise the desired goal.

Our thesis is that the resilience of such systems should be constructed compositionally and incrementally out of the resilience of system parts. Understanding the role of parts in the system behaviour will (i) promote a “divide-and-conquer strategy” on the verification of systems, (ii) enable the verification of systems that continuously evolve during their life-time, (iii) allow the detection and isolation of faults, and (iv) facilitate the definition of suitable reaction strategies. In this paper we propose a methodology that integrates needs of flexibility and agility with needs of resilience. We instantiate the methodology in the domain of a swarm of autonomous quadrotors that cooperate in order to achieve a given goal.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 34.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Johnson, C.W.: What are emergent properties and how do they affect the engineering of complex systems? Reliability Engineering & System Safety 91(12), 1475–1481 (2006), Complexity in Design and Engineering

    Google Scholar 

  2. Inverardi, P., Autili, M., Di Ruscio, D., Pelliccione, P., Tivoli, M.: Producing software by integration: Challenges and research directions (keynote). In: Procs. of ESEC/FSE 2013, pp. 2–12. ACM (2013)

    Google Scholar 

  3. Alrajeh, D., Ray, O., Russo, A., Uchitel, S.: Using abduction and induction for operational requirements elaboration. Journal of Applied Logic 7(3), 275–288 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  4. Letier, E., van Lamsweerde, A.: Deriving operational software specifications from system goals. In: Procs. of SIGSOFT 2002/FSE-10, pp. 119–128. ACM (2002)

    Google Scholar 

  5. Autili, M., Cortellessa, V., Di Ruscio, D., Inverardi, P., Pelliccione, P., Tivoli, M.: Eagle: Engineering software in the ubiquitous globe by leveraging uncertainty. In: Procs. of ESEC/FSE 2011, pp. 488–491. ACM (2011)

    Google Scholar 

  6. Garlan, D.: Software engineering in an uncertain world. In: Procs. of the FSE/SDP Workshop on Future of Software Engineering Research, FoSER 2010, pp. 125–128. ACM (2010)

    Google Scholar 

  7. Ghezzi, C.: Evolution, adaptation, and the quest for incrementality. In: Calinescu, R., Garlan, D. (eds.) Monterey Workshop 2012. LNCS, vol. 7539, pp. 369–379. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  8. Gary, K., Enquobahrie, A., Ibanez, L., Cheng, P., Yaniv, Z., Cleary, K., Kokoori, S., Muffih, B., Heidenreich, J.: Agile methods for open source safety-critical software. Softw. Pract. Exper. 41(9), 945–962 (2011)

    Article  Google Scholar 

  9. Ge, X., Paige, R., McDermid, J.: An iterative approach for development of safety-critical software and safety arguments. In: Agile Conf. (AGILE), pp. 35–43 (August 2010)

    Google Scholar 

  10. Leveson, N.G.: Software safety: Why, what, and how. ACM Comput. Surv. 18(2), 125–163 (1986)

    Article  Google Scholar 

  11. Wolff, S.: Scrum goes formal: Agile methods for safety-critical systems. In: Software Engineering: Rigorous and Agile Approaches (FormSERA), pp. 23–29 (June 2012)

    Google Scholar 

  12. Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc. (2002)

    Google Scholar 

  13. van Lamsweerde, A.: Goal-oriented requirements enginering: A roundtrip from research to practice. In: Procs. of RE 2004, pp. 4–7. IEEE Comp. Soc. (2004)

    Google Scholar 

  14. Meyer, B.: Object-oriented Software Construction, 2nd edn. Prentice-Hall, Inc. (1997)

    Google Scholar 

  15. Cobleigh, J.M., Giannakopoulou, D., Păsăreanu, C.S.: Learning assumptions for compositional verification. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  16. van Lamsweerde, A.: Requirements engineering in the year 00: A research perspective. In: Proc. of the 22nd Int. Conf. on Software Engineering, ICSE 2000, pp. 5–19. ACM (2000)

    Google Scholar 

  17. Cobleigh, J.M., Giannakopoulou, D., Păsăreanu, C.S.: Learning assumptions for compositional verification. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  18. Autili, M., Di Ruscio, D., Di Salle, A., Inverardi, P., Tivoli, M.: A model-based synthesis process for choreography realizability enforcement. In: Cortellessa, V., Varró, D. (eds.) FASE 2013. LNCS, vol. 7793, pp. 37–52. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  19. Bucchiarone, A., Di Ruscio, D., Muccini, H., Pelliccione, P.: From Requirements to Java code: an Architecture-centric Approach for producing quality systems. In: Model-Driven Software Development: Integrating Quality Assurance (2008)

    Google Scholar 

  20. Rubira, C.M.F., de Lemos, R., Ferreira, G.R.M., Castor Filho, F.: Exception handling in the development of dependable component-based systems. Softw. Pract. Exper. 35(3), 195–236 (2005)

    Article  Google Scholar 

  21. Lee, P.A., Anderson, T.: Fault Tolerance: Principles and Practice, 2nd edn. Springer (1990)

    Google Scholar 

  22. Di Ruscio, D., Malavolta, I., Pelliccione, P.: Engineering a platform for mission planning of autonomous and resilient quadrotors. In: Gorbenko, A., Romanovsky, A., Kharchenko, V. (eds.) SERENE 2013. LNCS, vol. 8166, pp. 33–47. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  23. Di Ruscio, D., Malavolta, I., Pelliccione, P.: A family of domain-specific languages for specifying civilian missions of multi-robot systems. In: First Workshop on Model-Driven Robot Software Engineering - MORSE 2014 (2014)

    Google Scholar 

  24. Bianculli, D., Giannakopoulou, D., Păsăreanu, C.S.: Interface decomposition for service compositions. In: Procs. of ICSE 2011, pp. 501–510. ACM (2011)

    Google Scholar 

  25. Jones, C.: Development Methods for Computer Programs Including a Notion of Interference. PhD thesis. Oxford University Computing Laboratory, Programming Research Group (1981)

    Google Scholar 

  26. Pnueli, A.: Logics and models of concurrent systems, pp. 123–144. Springer (1985)

    Google Scholar 

  27. Giannakopoulou, D., Păsăreanu, C.S., Barringer, H.: Component verification with automatically generated assumptions. Automated Software Engg. 12(3), 297–320 (2005)

    Article  Google Scholar 

  28. Clematis, A., Dodero, G., Gianuzzi, V.: Designing fault tolerant software with a recovery meta program. In: Proceedings of the Ninth Annual International Phoenix Conference on Computers and Communications, pp. 864–865 (March 1990)

    Google Scholar 

  29. Florio, V.D.: A Fault-Tolerance Linguistic Structure for Distributed Applications. PhD thesis, Katholieke Universiteit Leuven, ESAT Department, ACCA Division, 3000 Leuven, Belgium (October 2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Di Ruscio, D., Malavolta, I., Pelliccione, P. (2014). The Role of Parts in the System Behaviour. In: Majzik, I., Vieira, M. (eds) Software Engineering for Resilient Systems. SERENE 2014. Lecture Notes in Computer Science, vol 8785. Springer, Cham. https://doi.org/10.1007/978-3-319-12241-0_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-12241-0_3

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-12240-3

  • Online ISBN: 978-3-319-12241-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics