Abstract
Software architecture is concerned with identifying the essential components of a software system and the process of creating an abstract representation of the system. A representation encompasses software elements, their properties and relationships with other elements. Similar to the architecture of a physical building, it serves as a blueprint for both the system itself and the development process, delineating the tasks to be carried out by the development team. In e-business, a wide variety of such architectures can be found. These have evolved over time, and the emergence and subsequent developments of the Internet have been decisive factors in shaping applications and their associated software architectures. In the 1980s, the purpose of an application was to run on a single computer, but today, applications are increasingly interconnected and accessible from anywhere. Practitioners have realized that a sound architecture is critical for success in both design and development. In order to incorporate domain-specific semantics, knowledge graphs must become a key ingredient to architectural thinking and the codification of principles, methods, and practices has led to repeatable architectural design processes. However, despite these advancements, the field of software architecture remains relatively immature in its relation to knowledge graphs and how to leverage them for e-business – towards this goal, traditional architectural patterns such as MVCs will be revisited in this paper.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Garlan, D.: Software architecture: a roadmap. In: Proceedings of the Conference on The Future of Software Engineering, Limerick, Ireland, pp. 91–101. ACM Press (2000)
Greif, S.: A Study Plan to Cure JavaScript Fatigue (2017). Retrieved from Medium: https://medium.com/free-code-camp/a-study-plan-to-cure-javascript-fatigue-8ad3a54f2eb1. Accessed 1 Mar 2024
Koroushfar, E.: A study on the role of software architecture in the evolution and quality of software. In: IEEE/ACM 12th Working Conference on Mining Software Repositories, pp. 246–257. IEEE (2015)
Sauer, S., Engels, G.: MVC-based modeling support for embedded real-time systems: position statement. In: Workshop on Object-Oriented Modeling of Embedded Realtime Systems, OMER Workshop, pp. 11–14 (1999)
Sesboue, M., Delestre, N., Katowicz, J.-P., Khudiyev, A., Zanni-Merk, C.: An operational architecture for knowledge graph-based systems. In: 26th International Conference on Knowledge-Based and Intelligent Information & Engineering Systems (KES 2022), pp. 1667–1676. Procedia Computer Science, Rouen (2022)
Stoyko, T.: How to Make an App Both for Android and IOS (2023). https://incora.software/insights/make-app-both-iOS-Android. Accessed 1 Mar 2024
Bhatt, T.: 7 Steps of the Software Development Process: From Idea to Reality (2023). https://www.intelivita.com/blog/software-development-process/. Accessed 1 Mar 2024
Sabou, M., et al.: Exploring enterprise knowledge graphs: a use case in software engineering. In: Gangemi, A., et al. (eds.) The Semantic Web. LNCS, vol. 10843, pp. 560–575. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93417-4_36
Smajevic, M., Hacks, S., Bork, D.: Using knowledge graphs to detect enterprise architecture smells. In: 14th IFIP Working Conference on the Practice of Enterprise Modeling (PoEM), pp. 48–63. HAL Open Science, Riga (2021)
Wang, L., Sun, C., Zhang, C., Nie, W., Huang, K.: Application of knowledge graph in software engineering field: a systematic literature review. Inf. Softw. Technol. 164(C) (2023). https://dl.acm.org/doi/10.1016/j.infsof.2023.107327
De Boer, R.: Architecture knowledge graphs-a next step in architecture knowledge management. In: International Workshop New Trends in Software Architecture (SATrends 2024) (2024). https://www.researchgate.net/publication/378589025_Architecture_Knowledge_Graphs_-_a_Next_Step_in_Architecture_Knowledge_Management
Sahlab, N., Kamm, S., Müller, T., Jazdi, N.,Weyrich, M.: Knowledge graphs as enhancers of intelligent digital twins. In: 4th IEEE International Conference on Industrial Cyber-Physical Systems (ICPS), Victoria, BC, Canada, pp. 19–24 (2021)
Glaser, P.L., Ali, S.J., Sallinger, E., Bork, D.: Model-based construction of enterprise architecture knowledge graphs. In: Almeida, J.P.A., Karastoyanova, D., Guizzardi, G., Montali, M., Maggi, F.M., Fonseca, C.M. (eds.) EDOC 2022. LNCS, vol. 13585, pp. 57–73. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-17604-3_4
Althar, R., Samanta, D.: Application of machine intelligence-based knowledge graphs for software engineering. In: Advances in Systems Analysis, Software Engineering, and High Performance Computing, pp. 186–202 (2021)
Lin, Z., et al.: Intelligent development environment and software knowledge graph. J. Comput. Sci. Technol. 32(2), 242–249 (2017)
OMILAB Bee-Up tool. https://bee-up.omilab.org/activities/bee-up/. Accessed 01 Mar 2024
Ramzy, N., Durst, S., Schreiber, M., Auer, S., Chamanara, J., Ehm, H.: KnowGraph-MDM: a methodology for knowledge-graph-based master data management. In: IEEE 24th Conference on Business Informatics (CBI), pp. 9–16. IEEE, Amsterdam (2022)
Floruț, C., Buchmann, R.A.: Semantic Bridging between Conceptual Modeling Standards and Agile Software Projects Conceptualizations. Published on Association for Information Systems (2022). https://aisel.aisnet.org/isd2014/proceedings2022/managingdevops/7/
Lixandru, B., Buchmann, R.A., Ghiran, A.M.: Conceptualizing Node.js projects: a graph-oriented technology-specific modeling method. In: Silaghi, G.C., et al. (eds.) ISD 2022. LNISO, vol. 63, pp. 53–72. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-32418-5_4
Archimate Tool Database-Plugin. https://github.com/archi-contribs/database-plugin. Accessed 01 Mar 2024
NEO4J. https://neo4j.com/labs/neosemantics/4.0/export/. Accessed 01 Mar 2024
TOGAF based Enterprise Architecture Management. https://austria.omilab.org/psm/content/team/info?view=home. Accessed 01 Mar 2024
Bork, D., et al.: Requirements engineering for model-based enterprise architecture management with ArchiMate, In: 14th International Workshop on Enterprise & Organizational Modeling and Simulation (EOMAS 2018), Tallinn, Estonia, 11–12 June 2018, pp. 16–30 (2018)
Karagiannis, D., Buchmann, R.A.: A proposal for deploying hybrid knowledge bases: the ADOxx-to-GraphDB interoperability case. In: Proceedings of the HICSS 2018. Assoc. for Inf. Sys. (2018). https://aisel.aisnet.org/hicss-51/ks/ks_creation/4/
Graph DB. https://graphdb.ontotext.com/documentation/10.6/. Accessed 1 Mar 2024
Buchmann, R.A., Cinpoeru, M., Harkai, A., Karagiannis, D.: Model-aware software engineering - a knowledge-based approach to model-driven software engineering. In: Proceedings of ENASE 2018, pp. 233–240. Scitepress (2018)
Wieringa, R.J.: Design Science Research Methods. https://wwwhome.ewi.utwente.nl/~roelw/DSM90minutes.pdf. Accessed 1 Feb 2024
Bezerra, C., Freitas, F., Santana, F.: Evaluating ontologies with competency questions. In: 2013 IEEE/WIC/ACM International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT), vol. 3, pp. 284–285. IEEE (2013)
W3C, SPARQL 1.1 Query Language. https://www.w3.org/TR/sparql11-query/. Accessed 22 Feb 2024
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Ghiran, AM., Gal, SA. (2024). Software Architectures and the Use of Knowledge Graphs to Support Their Design. In: Řepa, V., Matulevičius, R., Laurenzi, E. (eds) Perspectives in Business Informatics Research. BIR 2024. Lecture Notes in Business Information Processing, vol 529. Springer, Cham. https://doi.org/10.1007/978-3-031-71333-0_12
Download citation
DOI: https://doi.org/10.1007/978-3-031-71333-0_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-71332-3
Online ISBN: 978-3-031-71333-0
eBook Packages: Computer ScienceComputer Science (R0)