Skip to main content

Multi-dimensional Abstraction and Decomposition for Separation of Concerns

  • Conference paper
  • First Online:
Dependable Software Engineering. Theories, Tools, and Applications (SETTA 2023)

Abstract

Model-driven engineering (MDE) or model-driven architecture (MDA) holds significant appeal for the software industry. Its primary aim is to address software complexity by enabling automated model creation and transformation. Consequently, many software development firms are actively seeking integrated development platforms (IDP) to enhance automation within their software production processes. However, the adoption of MDE and the utilisation of IDPs remain low, with doubts surrounding their success. To tackle this issue, this paper uses the formal refinement of component and object systems (rCOS) as a framework to identify different types of requirements and their relationships, with the goal of supporting MDE. We emphasise the necessity for families of formal languages and transformations among them, as well as the indispensability of architecture modelling and refinement in MDE. Furthermore, to enhance the handling of changes during the development and operation of systems, there is a paramount need for formal methods that facilitate abstractions and decompositions, leading to a multi-dimensional separation of concerns.

Supported by the Chinese National NSF grant (No. 62032019) and the Southwest University Research Development grant (No. SWU116007).

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

Notes

  1. 1.

    We do not know such as an existing repository.

References

  1. Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)

    Book  Google Scholar 

  2. Abrial, J.R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)

    Book  Google Scholar 

  3. Andersen, E.P., Reenskaug, T.: System design by composing structures of interacting objects. In: Madsen, O.L. (ed.) ECOOP 1992. LNCS, vol. 615, pp. 133–152. Springer, Heidelberg (1992). https://doi.org/10.1007/BFb0053034

    Chapter  Google Scholar 

  4. Back, R.J.R., von Wright, J.: Trace refinement of action systems. In: Jonsson, B., Parrow, J. (eds.) CONCUR 1994. LNCS, vol. 836, pp. 367–384. Springer, Heidelberg (1994). https://doi.org/10.1007/978-3-540-48654-1_28

    Chapter  Google Scholar 

  5. Bell, M.: Service-Oriented Modeling: Service Analysis, Design, and Architecture. Wiley, Hoboken (2008)

    Google Scholar 

  6. Booch, G.: Object-Oriented Analysis and Design with Applications. Addison-Wesley, Boston (1994)

    Google Scholar 

  7. Brooks, F.P.: No silver bullet: essence and accidents of software engineering. IEEE Comput. 20(4), 10–19 (1987)

    Article  MathSciNet  Google Scholar 

  8. Brooks, F.P.: The mythical man-month: after 20 years. IEEE Softw. 12(5), 57–60 (1995)

    Article  Google Scholar 

  9. Chandy, K.M., Misra, J.: Parallel Program Design: A Foundation. Addison-Wesley, Reading (1988)

    Google Scholar 

  10. Chen, Z., et al.: Modelling with relational calculus of object and component systems - rCOS. In: Rausch, A., Reussner, R., Mirandola, R., Plášil, F. (eds.) The Common Component Modeling Example. LNCS, vol. 5153, pp. 116–145. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-85289-6_6

    Chapter  Google Scholar 

  11. 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)

    Article  MathSciNet  Google Scholar 

  12. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)

    Google Scholar 

  13. Dong, J.S., Woodcock, J. (eds.): Formal Methods and Software Engineering, 5th International Conference on Formal Engineering Methods, ICFEM 2003, Singapore, November 5–7, 2003, Proceedings. Lecture Notes in Computer Science, vol. 2885. Springer, Heidelberg (2003). https://doi.org/10.1007/b94115

    Book  Google Scholar 

  14. Gauthier, R., Pont, S.: Designing Systems Programs. Prentice-Hall, Englewood Cliffs (1970)

    Google Scholar 

  15. Goguen, A.J., Burstall, R.M.: Institutions: abstract model theory for specification and programming. J. ACM 39(1), 95–146 (1992)

    Article  MathSciNet  Google Scholar 

  16. Haan, J.D.: 8 reasons why model-driven approaches (will) fail, infoQ. https://www.infoq.com/articles/8-reasons-why-MDE-fails/

  17. He, J., Li, X., Liu, Z.: A theory of reactive components. Electr. Notes Theor. Comput. Sci. 160, 173–195 (2006)

    Article  Google Scholar 

  18. He, J., Liu, Z., Li, X.: rCOS: a refinement calculus of object systems. Theoret. Comput. Sci. 365(1–2), 109–142 (2006)

    MathSciNet  Google Scholar 

  19. Herold, S., et al.: 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, Heidelberg (2008)

    Google Scholar 

  20. Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)

    Article  Google Scholar 

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

    Article  Google Scholar 

  22. Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice-Hall, Upper Saddle River (1998)

    Google Scholar 

  23. Jones, C.B.: Systematic Software Development using VDM. Prentice Hall, Upper Saddle River (1990)

    Google Scholar 

  24. Kent, S.: Model driven engineering. In: Butler, M., Petre, L., Sere, K. (eds.) IFM 2002. LNCS, vol. 2335, pp. 286–298. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-47884-1_16

    Chapter  Google Scholar 

  25. Lamport, L.: The temporal logic of actions. ACM Trans. Program. Lang. Syst. 16(3), 872–923 (1994)

    Article  Google Scholar 

  26. Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley, Boston (2002)

    Google Scholar 

  27. 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 

  28. Leavens, G.T., Baker, A.L.: Enhancing the pre- and postcondition technique for more expressive specifications. In: Wing, J.M., Woodcock, J., Davies, J. (eds.) FM 1999. LNCS, vol. 1709, pp. 1087–1106. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48118-4_8

    Chapter  Google Scholar 

  29. Li, D., Li, X., Liu, J., Liu, Z.: Validation of requirements models by automatic prototyping. J. Innov. Syst. Softw. Eng. 4(3), 241–248 (2008)

    Article  MathSciNet  Google Scholar 

  30. 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.) FACS 2011. LNCS, vol. 7253, pp. 97–114. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-35743-5_7

    Chapter  Google Scholar 

  31. Liu, Z.: Linking formal methods in software development - a reflection on the development of rCOS. In: Bowen, J.P., Li, Q., Xu, Q. (eds.) Theories of Programming and Formal Methods. LNCS, vol. 14080, pp. 52–84. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-40436-8_3

    Chapter  Google Scholar 

  32. Liu, Z., Jifeng, H., Li, X., Chen, Y.: A relational model for formal object-oriented requirement analysis in UML. In: Dong, J.S., Woodcock, J. (eds.) ICFEM 2003. LNCS, vol. 2885, pp. 641–664. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-39893-6_36

    Chapter  Google Scholar 

  33. Liu, Z., Joseph, M.: Specification and verification of fault-tolerance, timing, and scheduling. ACM Trans. Program. Lang. Syst. 21(1), 46–89 (1999)

    Article  Google Scholar 

  34. Liu, Z., Mencl, V., Ravn, A.P., Yang, L.: Harnessing theories for tool support. In: Proceedings of the Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISoLA 2006), pp. 371–382. IEEE Computer Society (2006)

    Google Scholar 

  35. Liu, Z., Morisset, C., Stolz, V.: A component-based access control monitor. In: Margaria, T., Steffen, B. (eds.) ISoLA 2008. CCIS, vol. 17, pp. 339–353. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-88479-8_24

    Chapter  Google Scholar 

  36. Liu, Z., Wang, J.: Human-cyber-physical systems: concepts, challenges, and research opportunities. Frontiers Inf. Technol. Electron. Eng. 21(11), 1535–1553 (2020)

    Article  Google Scholar 

  37. Long, Q., Liu, Z., Li, X., He, J.: Consistent code generation from UML models. In: 16th Australian Software Engineering Conference (ASWEC 2005), 31 March–1 April 2005, Brisbane, Australia, pp. 23–30. IEEE Computer Society (2005). https://doi.org/10.1109/ASWEC.2005.17

  38. Milner, R.: Communication and Concurrency. Prentice-Hall Inc., Upper Saddle River (1989)

    Google Scholar 

  39. Milner, R.: A Calculus of Communicating Systems. Springer, Heidelberg (1980). https://doi.org/10.1007/3-540-10235-3

    Book  Google Scholar 

  40. Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  41. Parnas, D.L.: A technique for software module specification with examples. Commun. ACM 15, 330–336 (1972)

    Article  Google Scholar 

  42. Petri, C.A., Reisig, W.: Petri net. Scholarpedia 3(4) (2008)

    Google Scholar 

  43. Roscoe, A.W.: Theory and Practice of Concurrency. Prentice-Hall, Upper Saddle River (1997)

    Google Scholar 

  44. Smith, G.: The Object-Z Specification Language. Springer, Heidelberg (2000). https://doi.org/10.1007/978-1-4615-5265-9

    Book  Google Scholar 

  45. Spivey, J.M.: The Z Notation, A Reference Manual. International Series in Computer Science, 2nd edn. Prentice Hall, Upper Saddle River (1992)

    Google Scholar 

  46. Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)

    Google Scholar 

  47. Tarr, P., Ossher, H., Harrison, W., Sutton, S.M.: N degrees of separation: multi-dimensional separation of concerns. In: Proceedings of the 1999 International Conference on Software Engineering, pp. 107–119. IEEE (1999)

    Google Scholar 

  48. Wang, J., Zhan, N., Feng, X., Feng, Liu, Z.: Overview of formal methods (in Chinese). Ruan Jian Xue Bao/J. Softw. 30(1), 33–61 (2019)

    Google Scholar 

  49. Yang, Y., Li, X., Ke, W., Liu, Z.: Automated prototype generation from formal requirements model. IEEE Trans. Reliab. 69(2), 632–656 (2020)

    Article  Google Scholar 

  50. Zhao, L., Liu, X., Liu, Z., Qiu, Z.: Graph transformations for object-oriented refinement. Formal Aspects Comput. 21(1–2), 103–131 (2009)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Zhiming Liu , Jiadong Teng or Bo Liu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Liu, Z., Teng, J., Liu, B. (2024). Multi-dimensional Abstraction and Decomposition for Separation of Concerns. In: Hermanns, H., Sun, J., Bu, L. (eds) Dependable Software Engineering. Theories, Tools, and Applications. SETTA 2023. Lecture Notes in Computer Science, vol 14464. Springer, Singapore. https://doi.org/10.1007/978-981-99-8664-4_9

Download citation

  • DOI: https://doi.org/10.1007/978-981-99-8664-4_9

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-99-8663-7

  • Online ISBN: 978-981-99-8664-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics