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.
Zhiming Liu—The work is funded by the project SWU 116007, and China NSF Grant 61672435.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In general, the guard can contain input parameters, and even the primed version \(y'\) of return parameters y in \(\overline{y}\), especially when advanced security assurance is required. We do not consider this general case as we have no semantics yet to handle them.
- 2.
In general, there can be more than one.
References
Booch, G.: Object-Oriented Analysis and Design with Applications. Addison-Wesley, Boston (1994)
Brooks, F.P.: No silver bullet: essence and accidents of software engineering. IEEE Comput. 20(4), 10–19 (1987)
Brooks, F.P.: The mythical man-month: after 20 years. IEEE Softw. 12(5), 57–60 (1995)
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
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)
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)
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). Feb
Darby, S.: Smart metering: what potential for householder engagement? Build. Res. Inf. 38(5), 442–457 (2010)
Dijkstra, E.W.: The humble programmer. Commun. ACM 15(10), 859–866 (1972). An ACM Turing Award lecture
Fischer, C.: Fault-tolerant programming by transformations. Ph.D. thesis, University of Warwick (1991)
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)
He, J., Li, X., Liu, Z.: A theory of reactive components. Electr. Notes Theor. Comput. Sci. 160, 173–195 (2006)
He, J., Liu, Z., Li, X.: rCOS: a refinement calculus of object systems. Theor. Comput. Sci. 365(1–2), 109–142 (2006)
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)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Upper Saddle River (1985)
Hoare, A., He, J.: Unifying Theories of Programming. Prentice Hall, New York (1988)
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)
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)
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)
Lee, E.: Cyber physical systems: design challenges. Technical Report No. UCB/EECS-2008-8, University of California, Berkeley (2008)
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
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)
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)
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
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
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)
Liu, Z., Joseph, M.: Specification and verification of fault-tolerance, timing, and scheduling. ACM Trans. Program. Lang. Syst. 21(1), 46–89 (1999)
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)
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
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)
Pronios, N.B.: Software verification & validation for complex systems, presentation at Technical Feasibility Studies Competition Information Event, Innovate UK
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
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)
Roscoe, A.W.: Theory and Practice of Concurrency. Prentice-Hall, Upper Saddle River (1997)
Shapiro, M.: Smart cities: quality of life, productivity, and the growth effects of human capital. Rev. Econ. Stat. 88, 324–335 (2006). May
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)
Zhao, L., Liu, X., Liu, Z., Qiu, Z.: Graph transformations for object-oriented refinement. Formal Aspects Comput. 21(1–2), 103–131 (2009). Feb
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)
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].
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Chen, X., Liu, Z. (2017). Towards Interface-Driven Design of Evolving Component-Based Architectures. In: Hinchey, M., Bowen, J., Olderog, ER. (eds) Provably Correct Systems. NASA Monographs in Systems and Software Engineering. Springer, Cham. https://doi.org/10.1007/978-3-319-48628-4_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-48628-4_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-48627-7
Online ISBN: 978-3-319-48628-4
eBook Packages: Computer ScienceComputer Science (R0)