Skip to main content

Formal Rules for Reliable Component-Based Architecture Evolution

  • Conference paper
  • First Online:
Formal Aspects of Component Software (FACS 2014)

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

Included in the following conference series:

Abstract

Software architectures are the blueprint of software systems construction and evolution. During the overall software lifecycle, several changes of its architecture may be considered (e.g. including new software requirements, correcting bugs, enhancing software performance). To ensure a valid and reliable evolution, software architecture changes must be captured, verified and validated at an early stage of the software evolution process. In this paper, we address this issue by proposing a set of evolution rules for software architectures in a manner that preserves consistency and coherence between abstraction levels. The rules are specified in the B formal language and applied to a three-level Adl that covers the three steps of software development: specification, implementation and deployment. To validate our rules, the approach is tested on a running example of Home Automation Software.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

References

  1. Lientz, B.P., Swanson, E.B., Tompkins, G.E.: Characteristics of application software maintenance. Commun. ACM 21(6), 466–471 (1978)

    Article  Google Scholar 

  2. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  3. de Silva, L., Balasubramaniam, D.: Controlling software architecture erosion: a survey. J. Syst. Softw. 85(1), 132–151 (2012)

    Article  Google Scholar 

  4. Zhang, H.Y., Urtado, C., Vauttier, S.: Architecture-centric component-based development needs a three-level ADL. In: Babar, M.A., Gorton, I. (eds.) ECSA 2010. LNCS, vol. 6285, pp. 295–310. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  5. Zhang, H.Y., Zhang, L., Urtado, C., Vauttier, S., Huchard, M.: A three-level component model in component-based software development. In: Proceedings of the 11th GPCE, pp. 70–79. ACM, Dresden, September 2012

    Google Scholar 

  6. Abrial, J.R.: The B-book: Assigning Programs to Meanings. Cambridge University Press, New York (1996)

    Book  MATH  Google Scholar 

  7. Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE TSE 26(1), 70–93 (2000)

    Google Scholar 

  8. Medvidovic, N.: ADLs and dynamic architecture changes. In: Joint Proceedings of the Second International Software Architecture Workshop and International Workshop on Multiple Perspectives in Software Development on SIGSOFT 1996 Workshops, pp. 24–27. ACM, New York (1996)

    Google Scholar 

  9. Allen, R., Garlan, D.: A formal basis for architectural connection. ACM TOSEM 6(3), 213–249 (1997)

    Article  Google Scholar 

  10. Luckham, D.C., Kenney, J.J., Augustin, L.M., Vera, J., Bryan, D., Mann, W.: Specification and analysis of system architecture using rapide. IEEE TSE 21, 336–355 (1995)

    Google Scholar 

  11. Garlan, D., Monroe, R., Wile, D.: ACME: an architecture description interchange language. In: Proceedings of CASCON. IBM Press (1997)

    Google Scholar 

  12. Magee, J., Kramer, J.: Dynamic structure in software architectures. ACM SIGSOFT Softw. Eng. Notes 21(6), 3–14 (1996)

    Article  Google Scholar 

  13. Oquendo, F.: Pi-ADL: an architecture description language based on the higher-order typed pi-calculus for specifying dynamic and mobile software architectures. SIGSOFT Softw. Eng. Notes 29(3), 1–14 (2004)

    Article  Google Scholar 

  14. Shaw, M., Garlan, D.: Formulations and formalisms in software architecture. In: van Leeuwen, J. (ed.) Computer Science Today. LNCS, vol. 1000, pp. 307–323. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  15. Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  16. Joolia, A., Batista, T., Coulson, G., Gomes, A.T.A.: Mapping ADL specifications to an efficient and reconfigurable runtime component platform. In: Proceedings of the 5th WICSA, pp. 131–140. IEEE, Washington (2005)

    Google Scholar 

  17. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes. I. Inf. Comput. 100(1), 1–40 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  18. Mokni, A., Huchard, M., Urtado, C., Vauttier, S., Zhang, H.Y.: Towards automating the coherence verification of multi-level architecture descriptions. In: Proceedings of the 9th ICSEA, Nice, October 2014

    Google Scholar 

  19. Taylor, R., Medvidovic, N., Dashofy, E.: Software Architecture: Foundations, Theory, and Practice. Wiley, Chichester (2009)

    Google Scholar 

  20. Leuschel, M., Butler, M.: ProB: an automated analysis toolset for the B method. Int. J. Softw. Tools Technol. Transfer 10(2), 185–203 (2008)

    Article  Google Scholar 

  21. Barnes, J., Garlan, D., Schmerl, B.: Evolution styles: foundations and models for software architecture evolution. Softw. Syst. Model. 13(2), 649–678 (2014)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Abderrahman Mokni .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Mokni, A., Huchard, M., Urtado, C., Vauttier, S., Zhang, H.(. (2015). Formal Rules for Reliable Component-Based Architecture Evolution. In: Lanese, I., Madelaine, E. (eds) Formal Aspects of Component Software. FACS 2014. Lecture Notes in Computer Science(), vol 8997. Springer, Cham. https://doi.org/10.1007/978-3-319-15317-9_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-15317-9_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-15316-2

  • Online ISBN: 978-3-319-15317-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics