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.
Similar content being viewed by others
References
J. Adámek, H. Herrlich, and G. Strecker, Abstract and Concrete Categories, Wiley and Sons, New York (1990).
N. Aizenbud-Reshef, B. Nolan, J. Rubin, and Y. Shaham-Gafni, “Model traceability,” IBM Systems J., 45, No. 3, 515–526 (2006).
R. J. Allen and D. Garlan, “A formal basis for architectural connection,” ACM Trans. Software Engineering Methodology, 6, No. 3, 213–249 (1997).
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.
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).
A. Carboni, G. Janelidze, G. M. Kelly, and R. Paré, “On localization and stabilization for factorization systems,” Appl. Categ. Structures, 5, 1–58 (1997).
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).
R. Douence, P. Fradet, and M. Südholt, “Trace-based aspects,” in: Aspect-Oriented Software Development, Addison-Wesley, Reading (2004), pp. 201–218.
Eclipse Modeling Project, http://www.eclipse.org/modeling/, The Eclipse Foundation (2014).
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.
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.
J. Goguen, “A categorical manifesto,” Math. Structures Comput. Sci., 1, No. 1, 49–67 (1991).
J. Goguen, “Categorical foundations for general systems theory,” in: Advances in Cybernetics and Systems Research, Transcripta Books, London (1973), pp. 121–130.
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.
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.
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.
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).
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.
ISO/IEC Standards 9126. Information Technology — Software Product Evaluation — Quality Characteristics and Guidelines for Their Use, ISO, Geneva (1991).
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.
A. Kannenberg and H. Saiedian, “Why software requirements traceability remains a challenge,” J. Defense Software Engineering, July/August 2009, 14–19.
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.
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.
S. P. Kovalyov, “Formal approach to aspect-oriented scenario modeling,” Sib. Zh. Industr. Mat., 13, No. 3, 30–42 (2010).
S. P. Kovalyov, “Modeling aspects by category theory,” in: Proc. 9th Workshop on Foundations of Aspect-Oriented Languages. Rennes, France, 2010, pp. 63–68.
S. P. Kovalyov, “Diagrammatic description of software systems composition,” Vestn. Novosibirsk Gos. Univ. Ser.: Mat., Mekh., Informatics, 12, No. 3, 103–126 (2012).
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.
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.
S. Mac Lane, Categories for the Working Mathematician, Springer, Berlin (1998).
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.
V. R. Pratt, “Modeling concurrency with partial orders,” Int. J. Parallel Programming, 15, No. 1, 33–71 (1986).
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).
D. C. Schmidt, “Model-driven engineering,” IEEE Computer, 39, No. 2, 25–32 (2006).
I. Sommerville, Software Engineering, Addison-Wesley, Reading (2010).
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.
F. Steimann, “The paradoxical success of aspect-oriented programming” Proc. Int. Conf. OOPSLA’06. Portland, 2006, pp. 481–497.
S. N. Vassilyev, “Knowledge formalization and control on the basis of positively constituted languages,” Inform. Technol. Vychisl. Sist., No. 1, 3–17 (2008).
Author information
Authors and Affiliations
Corresponding author
Additional information
Translated from Fundamentalnaya i Prikladnaya Matematika, Vol. 19, No. 3, pp. 111–170, 2014.
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10958-016-2814-1