Skip to main content

The Future of Software: Adaptation and Dependability

  • Chapter
Software Engineering (ISSSE 2007, ISSSE 2008, ISSSE 2006)

Abstract

Software in the near ubiquitous future (Softure) will need to cope with variability, as software systems get deployed on an increasingly large diversity of computing platforms and operates in different execution environments. Heterogeneity of the underlying communication and computing infrastructure, mobility inducing changes to the execution environments and therefore changes to the availability of resources and continuously evolving requirements require software systems to be adaptable according to the context changes. Softure should also be reliable and meet the users performance requirements and needs. Moreover, due to its pervasiveness and in order to make adaptation effective and successful, adaptation must be considered in conjunction with dependability, i.e., no matter what adaptation is performed, the system must continue to guarantee a certain degree of Quality of Service (QoS). Hence, Softure must also be dependable, which is made more complex given the highly dynamic nature of service provision. Supporting the development and execution of Softure systems raises numerous challenges that involve languages, methods and tools for the systems thorough design and validation in order to ensure dependability of the self-adaptive systems that are targeted. However these challenges, taken in isolation are not new in the software domain. In this paper we will discuss some of these challenges and possible solutions making reference to the approach undertaken in the IST PLASTIC project for a specific instance of Softure focused on software for Beyond 3G (B3G) networks.

This work is a revised and extended version of [6]. It has been partially supported by the IST project PLASTIC. We acknowledge all the members of the PLASTIC Consortium and of the SEALab at University of L’Aquila for joint efforts on all the research efforts reported in this paper.

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 49.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.95
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. Arnold, A.: Finite Transition Systems. International Series in Computer Science. Prentice Hall International, UK (1989)

    MATH  Google Scholar 

  2. Autili, M., Inverardi, P., Navarra, A., Tivoli, M.: Synthesis: A tool for automatically assembling correct and distributed component-based systems. In: 29th International Conference on Software Engineering (ICSE 2007), Minneapolis, MN, USA, pp. 784–787. IEEE Computer Society, Los Alamitos (2007), http://doi.ieeecomputersociety.org/10.1109/ICSE.2007.84

    Chapter  Google Scholar 

  3. Autili, M., Mostarda, L., Navarra, A., Tivoli, M.: Synthesis of decentralized and concurrent adaptors for correctly assembling distributed component-based systems. Journal of Systems and Software (2008), http://dx.doi.org/10.1016/j.jss.2008.04.006

  4. Finkel, A.: The minimal coverability graph for Petri nets. In: Proc. of the 12th APN. LNCS, vol. 674. Springer, Heidelberg (1993)

    Google Scholar 

  5. IFIP WG 10.4 on Dependable Computing and Fault Tolerance, http://www.dependability.org/wg10.4/

  6. Inverardi, P.: Software of the future is the future of Software? In: Montanari, U., Sannella, D., Bruni, R. (eds.) TGC 2006. LNCS, vol. 4661, pp. 69–85. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  7. Inverardi, P., Tivoli, M.: Deadlock-free software architectures for com/dcom applications. Elsevier Journal of Systems and Software - Special Issue on component-based software engineering 65(3), 173–183 (2003)

    Google Scholar 

  8. Inverardi, P., Tivoli, M.: Software Architecture for Correct Components Assembly. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 92–121. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  9. ITU Telecommunication Standardisation sector, ITU-T reccomendation Z.120. Message Sequence Charts. (MSC 1996). Geneva

    Google Scholar 

  10. Keller, R.: Formal verification of parallel programs. Communications of the ACM 19(7), 371–384 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  11. Milner, R.: Communication and Concurrency. Prentice Hall, New York (1989)

    MATH  Google Scholar 

  12. Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the IEEE 77(4) (1989)

    Google Scholar 

  13. PLASTIC IST Project, http://www.ist-plastic.org

  14. Ramadge, P., Wonham, W.: The control of discrete event systems. Proceedings of the IEEE 1(77) (1989)

    Google Scholar 

  15. Schilit, B., Adams, N., Want, R.: Context-aware computing applications. In: IEEE Workshop on Mobile Computing Systems and Applications, Santa Cruz, CA, US (1994)

    Google Scholar 

  16. Tivoli, M., Autili, M.: SYNTHESIS, a Tool for Synthesizing Correct and Protocol-Enhanced Adaptors. RSTI L Objet journal 12(1), 77–103 (2006)

    Article  Google Scholar 

  17. Tivoli, M., Fradet, P., Girault, A., Goessler, G.: Adaptor synthesis for real-time components. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 185–200. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  18. Tivoli, M., Inverardi, P.: Failure-free coordinators synthesis for component-based architectures. Science of Computer Programming 71(3), 181–212 (2008), http://dx.doi.org/10.1016/j.scico.2008.03.001

    Article  MathSciNet  MATH  Google Scholar 

  19. Uchitel, S., Kramer, J.: A workbench for synthesising behaviour models from scenarios. In: Proceeding of the 23rd IEEE International Conference on Software Engineering (ICSE 2001) (2001)

    Google Scholar 

  20. Uchitel, S., Kramer, J., Magee, J.: Detecting implied scenarios in message sequence chart specifications. In: ACM Proceedings of the joint 8th ESEC and 9th FSE. ACM press, New York (2001)

    Google Scholar 

  21. Inverardi, P., Mancinelli, F., Nesi, M.: A Declarative Framework for adaptable applications in heterogeneous environments. In: Proceedings of the 19th ACM Symposium on Applied Computing (2004)

    Google Scholar 

  22. Mancinelli, F., Inverardi, P.: Quantitative resource-oriented analysis of Java (adaptable) applications. In: ACM Proceedings Workshop on Software Performance (2007)

    Google Scholar 

  23. Necula, G.C.: Proof-Carrying Code. In: Jones, N.D. (ed.) Proceedings of the Symposium on Principles of Programming Languages, Paris, France, January 1997, pp. 106–119. ACM Press, New York (1997)

    Google Scholar 

  24. Le Métayer, D.: Describing Software Architecture Styles Using Graph Grammars. IEEE Transaction on software engineering 24(7) (1998)

    Google Scholar 

  25. Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting Software Architecture to Implementation. In: Proceedings of ICSE 2002 (May 2002)

    Google Scholar 

  26. Aldrich, J., Chambers, C., Notkin, D.: Architectural Reasoning in ArchJava. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374. Springer, Heidelberg (2002)

    Google Scholar 

  27. Hirsch, D., Inverardi, P., Montanari, U.: Graph grammars and constraint solving for software architecture styles. In: Proc. of the 3rd Int. Software Architecture Workshop (ISAW-3), pp. 69–72. ACM Press, New York (1998)

    Chapter  Google Scholar 

  28. Georgiadis, I., Magee, J., Kramer, J.: Self-organising software architectures for distributed systems. In: Proc. of the 1st Work. on Self-Healing Systems (WOSS 2002), pp. 33–38. ACM Press, New York (2002)

    Chapter  Google Scholar 

  29. Magee, J., Kramer, J.: Dynamic structure in software architectures. In: Proc. of the 4th ACM SIGSOFT Symp. On Foundations of Software Engineering (FSE-4), pp. 3–14. ACM Press, New York (1996)

    Chapter  Google Scholar 

  30. Taentzer, G., Goedicke, M., Meyer, T.: Dynamic change management by distributed graph transformation: Towards configurable distributed systems. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 179–193. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  31. Baresi, L., Heckel, R., Thöne, S., Varró, D.: Style-Based Refinement of Dynamic Software Architectures. In: WICSA 2004, pp. 155–166 (2004)

    Google Scholar 

  32. Allen, R., Garlan, D.: A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)

    Article  Google Scholar 

  33. Barthe, G.: Mobius, securing the next generation of java-based global computers. ERCIM News (2005)

    Google Scholar 

  34. Inverardi, P., Mostarda, L.: DESERT: a decentralized monitoring tool generator. In: IEEE Proceeding of ASE 2007, tool demo (2007)

    Google Scholar 

  35. Cortellessa, V., Di Marco, A., Inverardi, P., Mancinelli, F., Pelliccione, P.: A framework for integration of functional and non-functional analysis of software architectures. ENCS 116, 31–44 (2005)

    Google Scholar 

  36. PLASTIC IST Project, http://www.ist-plastic.org

  37. SeCSE Project, http://secse.eng.it

  38. Colombo, M., Di Nitto, E., Di Penta, M., Distante, D., Zuccalà, M.: Speaking a common language: A conceptual model for describing service-oriented systems. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 48–60. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  39. Jouault, F., Kurtev, I.: Transforming Models with ATL. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  40. ModelWare, IST European project 511731, http://www.modelware-ist.org

  41. Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modeling Framework. Addison-Wesley, Reading (2003)

    Google Scholar 

  42. Di Marco, A., Mascolo, C.: Performance Analysis and Prediction of Physically Mobile Systems. In: WOSP 2007 (2007)

    Google Scholar 

  43. Eclipse project. Model Development Tools UML2, http://www.eclipse.org/modeling/mdt/?project=uml2

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Inverardi, P., Tivoli, M. (2009). The Future of Software: Adaptation and Dependability. In: De Lucia, A., Ferrucci, F. (eds) Software Engineering. ISSSE ISSSE ISSSE 2007 2008 2006. Lecture Notes in Computer Science, vol 5413. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-95888-8_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-95888-8_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-95887-1

  • Online ISBN: 978-3-540-95888-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics