Advertisement

Towards Interface-Driven Design of Evolving Component-Based Architectures

  • Xin Chen
  • Zhiming LiuEmail author
Chapter
Part of the NASA Monographs in Systems and Software Engineering book series (NASA)

Abstract

The sustainable development of most economies and the quality of life of their citizens largely depend on the development and application of evolutionary digital ecosystems. The characteristic features of these systems are reflected in the so called Internet of Things (IoT), Smart Cities and Cyber-Physical Systems (CPS). Compared to the challenges in ICT applications that the ProCoS project used to face 25 years ago, we today deal with systems with the complexity of ever evolving architectures of networked digital components, physical components, together with sensors and devices controlled and coordinated by software. The architectural components, also called subsystems, are designed with different technologies, run on different platforms and interact through different communication technologies. However, the ProCoS project goal remains valid and the critical requirements of applications of these systems should not be compromised, and thus critical components need to be “provably correct”. This chapter is in a form of a summary and position paper to discuss how software design for complex evolving systems can be supported by an extension of interface-driven rCOS method that we have recently been developing. We show the need for an interface theory to underpin development of techniques and tools. We demonstrate the need of multi-modelling notations for the description of multi-viewpoints of designs to help mastering system complexity, and their theoretical foundation in the nature of Unifying Theories of Programming proposed by Sir Professor Tony Hoare and Professor He Jifeng, as part of the outcome of the ProCoS project.

Keywords

Component-based architecture Interface contract Object-oriented design Correct by design Verification UTP 

Notes

Acknowledgements

We acknowledge the contribution to the development of the rCOS method from Zhenbang Chen, Ruzheng Dong, He Jifeng, Wei Ke, Dan Li, Xiaoshan Li, Jing Liu, Charles Morisset, Anders Ravn, Volker Stolz, Shuling Wang, Jing Yang, Liang Zhao, and Naijun Zhan. We also thank Jonathan Bowen, Xiaohong Chen, Sabita Maharjan, Esther Palomar and Yan Zhang for the collaboration on Component-Based Modelling for Sustainable and Scalable Smart Meter Networks [30].

References

  1. 1.
    Booch, G.: Object-Oriented Analysis and Design with Applications. Addison-Wesley, Boston (1994)zbMATHGoogle Scholar
  2. 2.
    Brooks, F.P.: No silver bullet: essence and accidents of software engineering. IEEE Comput. 20(4), 10–19 (1987)CrossRefGoogle Scholar
  3. 3.
    Brooks, F.P.: The mythical man-month: after 20 years. IEEE Softw. 12(5), 57–60 (1995)CrossRefGoogle Scholar
  4. 4.
    Cavalcanti, A., Sampaio, A., Woodcock, J.: A refinement strategy for circus. Form. Asp. Comput. 15(2–3), 146–181 (2003). http://dx.doi.org/10.1007/s00165-003-0006-5
  5. 5.
    Chen, X., He, J., Liu, Z., Zhan, N.: A model of component-based programming. In: Arbab, F., Sirjani, M. (eds.) International Symposium on Fundamentals of Software Engineering. Lecture Notes in Computer Science, vol. 4767, pp. 191–206. Springer, Berlin (2007)CrossRefGoogle Scholar
  6. 6.
    Chen, Z., Hannousse, A.H., Hung, D.V., Knoll, I., Li, X., Liu, Y., Liu, Z., Nan, Q., Okika, J.C., Ravn, A.P., Stolz, V., Yang, L., Zhan, N.: Modelling with relational calculus of object and component systems–rCOS. In: Rausch, A., Reussner, R., Mirandola, R., Plasil, F. (eds.) The Common Component Modeling Example. Lecture Notes in Computer Science, chap. 3, vol. 5153, pp. 116–145. Springer, Berlin (2008)Google Scholar
  7. 7.
    Chen, Z., Liu, Z., Ravn, A.P., Stolz, V., Zhan, N.: Refinement and verification in component-based model driven design. Sci. Comput. Program. 74(4), 168–196 (2009). FebMathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Darby, S.: Smart metering: what potential for householder engagement? Build. Res. Inf. 38(5), 442–457 (2010)Google Scholar
  9. 9.
    Dijkstra, E.W.: The humble programmer. Commun. ACM 15(10), 859–866 (1972). An ACM Turing Award lectureGoogle Scholar
  10. 10.
    Fischer, C.: Fault-tolerant programming by transformations. Ph.D. thesis, University of Warwick (1991)Google Scholar
  11. 11.
    Gunes, V., Peter, S., Givargis, T., Vahid, F.: A survey on concepts, applications, and challenges in cyber-physical systems. Trans. Internet Inf. Syst. 8(12), 4242–4268 (2014)Google Scholar
  12. 12.
    He, J., Li, X., Liu, Z.: A theory of reactive components. Electr. Notes Theor. Comput. Sci. 160, 173–195 (2006)CrossRefGoogle Scholar
  13. 13.
    He, J., Liu, Z., Li, X.: rCOS: a refinement calculus of object systems. Theor. Comput. Sci. 365(1–2), 109–142 (2006)MathSciNetzbMATHGoogle Scholar
  14. 14.
    Herold, S., Klus, H., Welsch, Y., Deiters, C., Rausch, A., Reussner, R., Krogmann, K., Koziolek, H., Mirandola, R., Hummel, B., Meisinger, M., Pfaller, C.: The common component modeling example. In: Rausch, A., Reussner, R., Mirandola, R., Plášil, F. (eds.) The Common Component Modeling Example. Lecture Notes in Computer Science, chap. 1, vol. 5153, pp. 16–53. Springer, Berlin (2008)Google Scholar
  15. 15.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Upper Saddle River (1985)zbMATHGoogle Scholar
  16. 16.
    Hoare, A., He, J.: Unifying Theories of Programming. Prentice Hall, New York (1988)zbMATHGoogle Scholar
  17. 17.
    Kim, M., Viswanathan, M., Lee, I., Ben-Abdellah, H., Kannan, S., Sokolsky, O.: Formally specified monitoring of temporal properties. In: Proceedings of the European Conference on Real-Time Systems (1999)Google Scholar
  18. 18.
    Koubaa, A., Andersson, B.: A vision of cyber-physical internet. In: Proceedings of the Workshop of Real-Time Networks (RTN 2009), Satellite Workshop of ECRTS 2009 (2009)Google Scholar
  19. 19.
    Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, 2nd edn. Prentice-Hall, Upper Saddle River (2001)Google Scholar
  20. 20.
    Lee, E.: Cyber physical systems: design challenges. Technical Report No. UCB/EECS-2008-8, University of California, Berkeley (2008)Google Scholar
  21. 21.
    Li, D., Li, X., Liu, Z., Stolz, V.: Interactive transformations from object-oriented models to component-based models. In: Arbab, F., Ölveczky, P.C. (eds.) Formal Aspects of Component Software - 8th International Symposium, FACS 2011, Oslo, Norway, September 14–16, 2011, Revised Selected Papers. Lecture Notes in Computer Science, vol. 7253, pp. 97–114. Springer (2011). http://dx.doi.org/10.1007/978-3-642-35743-5_7
  22. 22.
    Li, D., Li, X., Liu, Z., Stolz, V.: Interactive transformations from object-oriented models to component-based models. In: Formal Aspects of Component Software - 8th International Symposium, FACS 2011, Oslo, Norway, September 14–16, 2011, Revised Selected Papers. Lecture Notes in Computer Science, vol. 7253, pp. 97–114. Springer (2011)Google Scholar
  23. 23.
    Li, D., Li, X., Liu, Z., Stolz, V.: Support formal component-based development with UML profile. In: 22nd Australian Conference on Software Engineering (ASWEC 2013), 4–7 June 2013, Melbourne, Victoria, Australia. pp. 191–200 (2013)Google Scholar
  24. 24.
    Li, D., Li, X., Liu, Z., Stolz, V.: Support formal component-based development with UML profile. In: 22nd Australian Conference on Software Engineering (ASWEC 2013), 4–7 June 2013, Melbourne, Victoria, Australia. pp. 191–200. IEEE Computer Society (2013). http://dx.doi.org/10.1109/ASWEC.2013.31
  25. 25.
    Li, D., Li, X., Liu, Z., Stolz, V.: Automated transformations from UML behavior models to contracts. SCI. CHINA Inf. Sci. 57(12), 1–17 (2014). http://dx.doi.org/10.1007/s11432-014-5159-8
  26. 26.
    Li, X., Lu, R., Liang, X., Shen, X., Chen, J., Lin, X.: Smart community: an internet of things application. Commun. Mag. 49(11), 68–75 (2011)Google Scholar
  27. 27.
    Liu, Z., Joseph, M.: Specification and verification of fault-tolerance, timing, and scheduling. ACM Trans. Program. Lang. Syst. 21(1), 46–89 (1999)CrossRefGoogle Scholar
  28. 28.
    Naur, P., Randell, B. (eds.): Software Engineering: Report of a Conference Sponsored by the NATO Science Committee, Garmisch, Germany, 7–11 Oct. 1968, Brussels, Scientific Affairs Division, NATO (1969)Google Scholar
  29. 29.
    Oliveira, M., Cavalcanti, A., Woodcock, J.: Formal development of industrial-scale systems in Circus. ISSE 1(2), 125–146 (2005). http://dx.doi.org/10.1007/s11334-005-0014-0
  30. 30.
    Palomar, E., Liu, Z., Bowen, J.P., Zhang, Y., Maharjan, S.: Component-based modelling for sustainable and scalable smart meter networks. In: Proceeding of IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks, WoWMoM 2014, Sydney, Australia, June 19, 2014. pp. 1–6 (2014)Google Scholar
  31. 31.
    Pronios, N.B.: Software verification & validation for complex systems, presentation at Technical Feasibility Studies Competition Information Event, Innovate UKGoogle Scholar
  32. 32.
    Quan, L., Qiu, Z., Liu, Z.: Formal use of design patterns and refactoring. In: Margaria, T., Steffen, B. (eds.) Leveraging Applications of Formal Methods, Verification and Validation, Third International Symposium, ISoLA 2008, Porto Sani, Greece, October 13–15, 2008. Proceedings. Communications in Computer and Information Science, vol. 17, pp. 323–338. Springer (2008). http://dx.doi.org/10.1007/978-3-540-88479-8_23
  33. 33.
    Randell, B., Buxton, J. (eds.): Software Engineering: Report of a Conference Sponsored by the NATO Science Committee, Rome, Italy, 27–31 Oct. 1969, Brussels, Scientific Affairs Division, NATO (1969)Google Scholar
  34. 34.
    Roscoe, A.W.: Theory and Practice of Concurrency. Prentice-Hall, Upper Saddle River (1997)Google Scholar
  35. 35.
    Shapiro, M.: Smart cities: quality of life, productivity, and the growth effects of human capital. Rev. Econ. Stat. 88, 324–335 (2006). MayCrossRefGoogle Scholar
  36. 36.
    Zhang, M., Liu, Z., Morisset, C., Ravn, A.P.: Design and verification of fault-tolerant components. In: Butler, M., Jones, C., Romanovsky, A., Troubitsyna, E. (eds.) Methods, Models and Tools for Fault Tolerance. Lecture Notes in Computer Science, vol. 5454, pp. 57–84. Springer, Berlin (2009)CrossRefGoogle Scholar
  37. 37.
    Zhao, L., Liu, X., Liu, Z., Qiu, Z.: Graph transformations for object-oriented refinement. Formal Aspects Comput. 21(1–2), 103–131 (2009). FebCrossRefzbMATHGoogle Scholar
  38. 38.
    Zhu, J., Pecen, R.: A novel automatic utility data collection system using ieee 802.15.4-compliant wireless mesh networks. In: Proceedings of IAJCIJME International Conference (2008)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.State Key Laboratory for Novel Software TechnologyNanjing UniversityNanjingChina
  2. 2.Centre for Software Research and InnovationSouthwest UniversityChongqingChina

Personalised recommendations