[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ Skip to main content
Log in

Category-Theoretic Approach to Software Systems Design

  • Published:
Journal of Mathematical Sciences Aims and scope Submit manuscript

Abstract

Category theory is applied to the problem of representing heterogeneous software engineering technologies in a unified form suitable for their integration and coordination within the common software systems engineering cycle. Special attention is paid to modern technologies such as model-driven engineering and aspect-oriented programming. Universal category-theoretic semantic models of these technologies are constructed. A novel method of separation of concerns by explicating the aspectual structure of formal models of programs is proposed. We construct and analyze formal technologies (architecture schools) for designing technologies that comprise a mathematical basis for model-driven engineering.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
£29.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (United Kingdom)

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. J. Adámek, H. Herrlich, and G. Strecker, Abstract and Concrete Categories, Wiley and Sons, New York (1990).

    MATH  Google Scholar 

  2. N. Aizenbud-Reshef, B. Nolan, J. Rubin, and Y. Shaham-Gafni, “Model traceability,” IBM Systems J., 45, No. 3, 515–526 (2006).

    Article  Google Scholar 

  3. R. J. Allen and D. Garlan, “A formal basis for architectural connection,” ACM Trans. Software Engineering Methodology, 6, No. 3, 213–249 (1997).

    Article  Google Scholar 

  4. J. Brichau, R. Chitchyan, A. Rashid, and T. D’Hondt, “Aspect-oriented software development: an introduction,” in: Wiley Encyclopedia of Computer Science and Engineering, Vol. 1, Wiley and Sons, New York (2008), pp. 188–198.

  5. C. Brunette, J.-P. Talpin, A. Gamatié, and T. Gautier, “A metamodel for the design of polychronous systems,” J. Logic Algebraic Programming, 78, No. 4, 233–259 (2009).

    Article  MATH  Google Scholar 

  6. A. Carboni, G. Janelidze, G. M. Kelly, and R. Paré, “On localization and stabilization for factorization systems,” Appl. Categ. Structures, 5, 1–58 (1997).

    Article  MathSciNet  MATH  Google Scholar 

  7. Z. Diskin and T. S. E. Maibaum, “Category theory and model-driven engineering: from formal semantics to design patterns and beyond,” in: Proc. 7th Workshop ACCAT’2012, Electron. Proc. Theor. Comput. Sci., 93, 1–21 (2012).

  8. R. Douence, P. Fradet, and M. Südholt, “Trace-based aspects,” in: Aspect-Oriented Software Development, Addison-Wesley, Reading (2004), pp. 201–218.

  9. Eclipse Modeling Project, http://www.eclipse.org/modeling/, The Eclipse Foundation (2014).

  10. A. Egyed, P. Grünbacher, M. Heindl, and S. Biffl, “Value-based requirements traceability: lessons learned,” in: Design Requirements Engineering: A Ten-Year Perspective. Design Requirements Workshop, Cleveland, OH, USA, June 3–6, 2007, Revised and Invited Papers, Lect. Notes Business Inform. Processing, Vol. 14, Springer, Berlin (2009), pp. 240–257.

  11. J. L. Fiadeiro, A. Lopes, and M. Wermelinger, “A mathematical semantics for architectural connectors,” in: Generic Programming, Lect. Notes Comput. Sci., Vol. 2793, Springer, Berlin (2003), pp. 190–234.

  12. J. Goguen, “A categorical manifesto,” Math. Structures Comput. Sci., 1, No. 1, 49–67 (1991).

    Article  MathSciNet  MATH  Google Scholar 

  13. J. Goguen, “Categorical foundations for general systems theory,” in: Advances in Cybernetics and Systems Research, Transcripta Books, London (1973), pp. 121–130.

  14. O. Gotel and A. Finkelstein, “An analysis of the requirements traceability problem,” in: Proc. 1st Int. Conf. on Requirements Engineering. Colorado Springs, 1994, pp. 94–101.

  15. B. Graaf and A. van Deursen, “Visualisation of domain-specific modelling languages using UML,” Proc. 14th IEEE Int. Conf. on the Engineering of Computer-Based Systems ECBS’2007. Tucson, 2007, pp. 586–595.

  16. I. Groher and M. Völter, “Aspect-oriented model-driven software product line engineering,” in: Transactions on Aspect-Oriented Software Development VI, Lect. Notes Comput. Sci., Vol. 5560, Springer, Berlin (2009), pp. 111–152.

  17. R. Guitart and L. van den Bril, “Décompositions et lax-complétions,” Cahiers de Topologie et Géométrie Différentielle Catégoriques, 18, No. 4, 333–407 (1977).

    MATH  Google Scholar 

  18. S. Hanenberg and R. Unland, “Roles and aspects: similarities, differences, and synergetic potential,” in: Object-Oriented Information Systems. 8th Int. Conf., OOIS 2002 Montpellier, France, September 2–5, 2002. Proceedings, Lect. Notes Comput. Sci., Vol. 2425, Springer, Berlin (2002), pp. 507–520.

  19. ISO/IEC Standards 9126. Information Technology — Software Product Evaluation — Quality Characteristics and Guidelines for Their Use, ISO, Geneva (1991).

  20. F. Jouault, B. Vanhooff, H. Bruneliere, G. Doux, Y. Berbers, and J. Bezivin, “Inter-DSL coordination support by combining megamodeling and model weaving,” in: Proc. 2010 ACM Symp. on Applied Computing, Sierre (2010), pp. 2011–2018.

  21. A. Kannenberg and H. Saiedian, “Why software requirements traceability remains a challenge,” J. Defense Software Engineering, July/August 2009, 14–19.

  22. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin, “Aspect-oriented programming,” in: ECOOP ’97 — Object-Oriented Programming: 11th Europ. Conf., Jyväskylä, Finland, June 9–13, 1997, Proceedings, Vol. 11, Lect. Notes Comput. Sci., Vol. 1241, Springer, Berlin (1997), pp. 220–242.

  23. D. S. Kolovos, R. F. Paige, and F. A. C. Polack, “The grand challenge of scalability for model driven engineering,” in: Models in Software Engineering: Workshops and Symposia at MODELS 2008, Toulouse, France, September 28 — October 3, 2008. Reports and Revised Selected Papers, Lect. Notes Comput. Sci., Vol. 5421, Springer, Berlin (2009), pp. 48–53.

  24. S. P. Kovalyov, “Formal approach to aspect-oriented scenario modeling,” Sib. Zh. Industr. Mat., 13, No. 3, 30–42 (2010).

    Google Scholar 

  25. S. P. Kovalyov, “Modeling aspects by category theory,” in: Proc. 9th Workshop on Foundations of Aspect-Oriented Languages. Rennes, France, 2010, pp. 63–68.

  26. S. P. Kovalyov, “Diagrammatic description of software systems composition,” Vestn. Novosibirsk Gos. Univ. Ser.: Mat., Mekh., Informatics, 12, No. 3, 103–126 (2012).

    MathSciNet  Google Scholar 

  27. S. P. Kovalyov, “Increasing efficiency of large-scale information-control systems design processes,” Proc. XII Russian Workshop on Control Problems VSPU-2014 [In Russian], ICS RAS, Moscow (2014), pp. 9291–9300.

  28. A. Lopes and J. L. Fiadeiro, “Revisiting the categorical approach to systems,” in: Algebraic Methodology and Software Technology: 9th Int. Conf., AMAST 2002, Saint-Gilles-les-Bains, Reunion Island, France, September 9–13, 2002. Proceedings, Lect. Notes Comput. Sci., Vol. 2422, Springer, Berlin (2002), pp. 426–440.

  29. S. Mac Lane, Categories for the Working Mathematician, Springer, Berlin (1998).

    MATH  Google Scholar 

  30. M. Pinto, L. Fuentes, and J. M. Troya, “DAOP-ADL: an architecture description language for dynamic component and aspect-based development,” in: Generative Programming and Component Engineering: Second Int. Conf., GPCE 2003, Erfurt, Germany, September 22–25, 2003, Proceedings, Vol. 2, Lect. Notes Comput. Sci., Vol. 2830, Springer, Berlin (2003), pp. 118–137.

  31. V. R. Pratt, “Modeling concurrency with partial orders,” Int. J. Parallel Programming, 15, No. 1, 33–71 (1986).

    Article  MathSciNet  MATH  Google Scholar 

  32. A. Rutle, A. Rossini, Y. Lamo, and U. Wolter, “A formalisation of the copy-modify-merge approach to version control in MDE,” J. Logic and Algebraic Programming, 79, No. 7, 636–658 (2010).

    Article  MathSciNet  MATH  Google Scholar 

  33. D. C. Schmidt, “Model-driven engineering,” IEEE Computer, 39, No. 2, 25–32 (2006).

    Article  Google Scholar 

  34. I. Sommerville, Software Engineering, Addison-Wesley, Reading (2010).

    MATH  Google Scholar 

  35. Y. V. Srinivas and R. Jüllig, “SPECWARE: formal support for composing software,” in: Mathematics of Program Construction ’95, Lect. Notes Comput. Sci., Vol. 947, Springer, Berlin (1995), pp. 399–422.

  36. F. Steimann, “The paradoxical success of aspect-oriented programming” Proc. Int. Conf. OOPSLA’06. Portland, 2006, pp. 481–497.

  37. S. N. Vassilyev, “Knowledge formalization and control on the basis of positively constituted languages,” Inform. Technol. Vychisl. Sist., No. 1, 3–17 (2008).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to S. P. Kovalyov.

Additional information

Translated from Fundamentalnaya i Prikladnaya Matematika, Vol. 19, No. 3, pp. 111–170, 2014.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kovalyov, S.P. Category-Theoretic Approach to Software Systems Design. J Math Sci 214, 814–853 (2016). https://doi.org/10.1007/s10958-016-2814-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10958-016-2814-1

Keywords

Navigation