=Paper=
{{Paper
|id=Vol-2514/paper18
|storemode=property
|title=Seamless design of information system architecture based on adaptive clustering method
|pdfUrl=https://ceur-ws.org/Vol-2514/paper18.pdf
|volume=Vol-2514
|authors=Grigory Tsiperman
}}
==Seamless design of information system architecture based on adaptive clustering method==
Seamless design of information system architecture based on adaptive clustering method Grigory Tsiperman Assistant professor National University of Science and Technology "MISIS" gntsip@gmail.com Abstract. The paper considers the concept of building the architecture of an information system that provides a seamless connection between architectural representations of various levels of abstraction. The concept is based on the application of the adaptive clustering method of information systems developed by the author. Seamless connection is understood as the presence of connections between elements of architectural models related to architectural representations of various levels of abstraction. Keywords: information system, architectural abstraction, design, architectural model, seamless link, technological gap, adaptive clustering method 1 Introduction This paper considers consider the issues of building an information system (IS) architecture in the context of enterprise architecture. The concept of IS architecture historically preceded the concept of enterprise architecture, which arose from the realization that the IS model must meet the requirements of the business and be able to flexibly adapt to its needs. Moreover, such compliance should not be fragmented, it should be based on a deep understanding of the business and its development prospects. IS should ensure the implementation of business requirements, have the ability to adapt to its changes. The idea of enterprise architecture is to create interconnected architectural models that combine the concepts of mission, goals, enterprise business strategy, business processes, information systems, etc. To implement the idea of enterprise architecture, several methodologies were proposed (see, for example, the reviews in [1] and [2]), none of which are without drawbacks and to this day is not a paradigm. What all the methodologies agree on is the need for the concept of the life cycle of an enterprise and, accordingly, IS. For the TOGAF [3], GERAM [4] and FEA [5] ICs, the identical stages of the life cycle and the types of IS architecture corresponding to these stages are determined: Business architecture IS architectures (data architecture and application architecture) Architecture of technology. This paper discusses the construction of IS architecture, so the IS model under consideration includes only the necessary aspects of the enterprise business process model. Moreover, the work does not concern the construction of a basic (as-is) model, confining itself to the issues of constructing a target (to-be) architecture of IS based on a target business model. One way or another, starting with Zakhman [6], the methodologies for creating IS architecture suggest a downward development, with the consistent construction of architectural models of an ever-increasing level of detail. The levels of detail correspond to certain stages of the IS life cycle: the concept is created by presenting the target business architecture, technical design involves the description of functional architecture, component architecture, data architecture, and determines the technology architecture of IS. The practice of designing IS architecture involves a heuristic transition between architectural models of various levels of abstraction: a more detailed architecture is constructed in such a way that the technical solutions match the models of the previous level as much as possible. In this case, the architect uses his creativity, experience and knowledge to build a detailed model, and then proves (or considers it obvious) that the resulting model satisfies the requirements arising from a more abstract architecture. In the heuristic approach, the relationship between architectural models of various levels of Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). 38 abstraction is inverse evidence-based. Many developers paid attention to this aspect of IS design (see [7], [8], [9]). Let us designate it as a technological gap between architectural models of various levels of abstraction. In fact, we are talking about verification and validation1 the architectural models that underlie the program code. Technological gaps in the absence of verification and validation processes can lead to costly errors. Unlike the heuristic transition between architectural models of various levels of abstraction, which creates technological gaps, this article considers a smooth transition in which such gaps do not arise. The technology under consideration relates to the development of functional IS architectures. It is based on the application of the adaptive clustering method (ACM, see [10], [11]), in which detailed architectural models are justified by high-level abstraction models, ensuring their seamless connection and the possibility of tracing between components of architectural models. 2 Formulation of the problem The architectural description of the system is a set of architectural representations corresponding to various points of view on the system. Consider Figure 1, representing a fragment of a conceptual model of architectural representation [12], supplemented by an architectural element that defines a seamless connection between architectural representations. The architectural representation corresponds to a certain point of view on architecture, and defines the architecture of IS with a degree of detail corresponding to the stakeholder. In Zakhman’s scheme, for example, the points of view correspond to the participants in the process of creating the system: a planner, analyst, architect, designer, programmer and operator. Considered in the indicated sequence, these points of view lead to associated architectural representations of an ever- increasing level of detail. An architectural representation includes one or more architectural models that reflect the relationship of the elements of the architecture description (hereinafter referred to as the elements). Elements correspond to abstracts determined by the type of model and the point of view on the architecture of IS. The main objective of this work is to identify among the elements of architectural models included in the architectural representation of the corresponding level of abstraction, an element (connecting element), the decomposition of which defines the elements of architectural models of the next level of abstraction. Figure 1 – Conceptual model of architectural representation The connecting element clearly defines the relationship between the elements of architectural models of various architectural representations. The essence of the technological gap between architectural concepts is that with a heuristic approach to design, the relationships between the elements of architectural models are not defined explicitly, so the validation and verification of architectural models is a rather complicated, painstaking task. 1 Validation is a confirmation (based on the presentation of objective evidence) that the requirements intended for a particular use or application are fulfilled, and verification is a confirmation that the specified requirements are fulfilled [15]. 39 By seamless connection, we mean the presence of explicit connections between the elements of architectural models of various architectural representations. In this case, the description of the IS architecture is an interconnected set of architectural representations, and for elements of architectural models, tracing2 becomes possible, which makes the process of model validation and verification trivial - you just need to make sure that the decomposition of the connecting elements is performed correctly. In this paper, based on the definition of connection elements, describe a seamless connection scheme of architectural representations of the target business architecture, functional architecture, component architectures, data architecture and deploying architecture IS. 3 Business Architecture Design At ACМ, it is business architecture that is the starting point for IS design. In the context of IS design, business architecture is understood to mean many models of automated business processes of an enterprise. In the context of this work, we consider the target business architecture, i.e. business process models taking into account the use of IS. The task is to determine the complete set of automated functions of the business process. 3.1 Business Architecture Concepts The architectural models of business architecture are built on three main elements (Figure 2), which are defined in the decomposition procedure: a business process, understood in the usual sense, as an action in which, based on one or more types of input objects [resources], a result valuable to the client is created; a business process can be represented by a set of actions determined on the basis of its decomposition; a business function is an action from a set of actions determined by the decomposition of a business process; a business operation is a business function that cannot be decomposed, the executor of which is a specific employee. Decomposition determines the explicit relationships between these architectural elements: a business process is decomposed into business functions, business functions, in turn, are decomposed into business functions and business operations. The process ends when all business functions are decomposed into business operations. A business operation is a place where a user interacts with an IS, and accordingly, explicitly or implicitly, includes automated functions that support it. 3.2 Operational Service The business architecture defines the functional requirements of the user for IS. Description of business operations allows you to define functions that should be automated. The set of these functions, defined for a business operation, constitutes the content of the business operation service (hereinafter referred to as the operational service). Operational services are formed for each business operation and include automated functions descriptions. They are architectural elements of an abstract nature that do not imply any implementation. An operational service is a connecting element that defines a seamless relationship between business architecture and functional architecture. Figure 2 demonstrates this relationship: the operational service is decomposed into system dialogs, which are the main element of the functional architecture that provides access to IS functions. Automated functions of a business operation are implemented in dialogs. In addition, the operational service is the boundary between the business architecture and the system architecture. It formalizes the requirements for automating business operations and serves as the basis for the formation of software requirements specifications. 4 Functional Architecture Functional architecture is understood as an architectural representation, including architectural models of the structure and composition of the functional components of IS, providing access to the "internal" functions of IS that implement automated functions. In other words, the functional architecture models the interaction of IS with users, as well as with other external agents. The functional architecture forms the appearance of the IS based on the presentation of the compositions of the dialogs of the system, defines the requirements for dialogs and specifies interfaces with external systems. A dialogue is any act of agent interaction that causes a change in the state of the IS by launching the corresponding software components [9]. Thus, dialogue is understood in a broad sense - this is not only the interaction of the user with the computer, but also the exchange of messages between any IS objects, as well as external agents. The structure of the dialogue description (Figure 2) includes the following architectural elements: 2 The relationship between the elements of architectural models different levels of abstraction. 40 The function of the presentation level of the IS (view function) is the IS function implemented in the dialogue, providing access to the "internal" IS functions. In other words, through the view functions, the user interacts with the IS. The source resource and the Target product are information objects, respectively, received at the input of the dialogue upon its initiation and formed as a result of the dialogue at the exit from it. Dialog form - representing a dialog for the user, if the user is supposed to be an agent. The view functions defined in the dialog have the following classification: implementation of dialogue preconditions upon initiation; input / output of data field values; processing of dialogue control elements that change the state of the IS; reaction to errors and contingencies during the dialogue; implementation of postconditions at the end of the dialogue. Functional architecture defines the next level of architectural representation - component architecture. A connecting element that defines seamless connections between functional architecture and component architecture are view functions that are decomposed into software modules. A detailed discussion of component architecture is provided in the next section. Figure 2 – Connection between business architecture and functional architecture 5 Component Architecture The view functions resulting from the design of dialogs do not take into account the component architecture of the system. These functions concern only the presentation level of the IS. Representation of the IS architecture in the form of interacting functional components (subsystems and external systems) makes it possible to find out how the view functions implement, to determine the internal functions of the application logic and data management. The component architecture establishes the composition and interaction of the functional components of the IS, determines the software modules and their distribution according to the functional components, details the functional requirements for the IS. The main elements of the component architecture model are (Figure 3): functional components (subsystems and external systems), determined by the choice of an architectural template (or a composition of architectural templates) and the external environment of the system; software modules, which are the structural parts of the functional components of the IS and are determined by the decomposition of the view function. The design of component architecture begins with the definition of the component structure of the IS and of which represent the system as the set functional components (subsystems and external systems). The modular composition of the functional components of the system is determined by the decomposition of the connecting elements of the functional 41 architecture - the view functions of IS, performed on the selected component structure. The decomposition of the view function may include previously defined modules for reuse, i.e. there is a many-to-many relationship between view functions and system modules. In ACM, to determine the modular composition of IS, Sequence Diagrams are used, which are generated for the view functions of each dialogue described at the level of functional architecture. Functional components are used as lifelines in diagrams. Thus, design allows you to define a complete set of software modules for all functional components. 6 Definition of class methods ACM offers a technology for developing a data architecture (see [13] and [14]), but an exposition of this technology is beyond the scope of this work. We proceed from the fact that the data architecture in one way or another is developed at the level of the ER model and includes all the necessary attributes, and the entities are distributed among the elements of the component model. The task is to determine the data architecture classes methods based on the generated modular structure: for each module of the component model, the order of its implementation within the framework of the object-oriented IS model is determined. Thus, the connecting element that determines the seamless transition from component architecture to data architecture are the software modules of the component model. Class methods are determined by the decomposition of each module on the presented data architecture (Figure 3). As with the component model, there is a many-to-many relationship between modules and class methods, corresponding to the reuse of methods to implement modules. Class methods are also defined using Sequence Diagrams in which the lifelines correspond to the classes of the data model. Figure 3 – Functional architecture, component architecture, data architecture and their relationship 7 Technological Architecture Technological architecture is a model representing the technical infrastructure of IS, including solutions in the field of computing and telecommunications infrastructure. Technological architecture, in the context of this work, represents the distribution of elements of component architecture (deployment) over various hardware and determines the necessary interfaces between objects of technical architecture. The choice of architectural solutions for technological architecture is limited by system requirements, quality attributes, and requirements for external interfaces. In terms of level of abstraction, technological architecture is superior to component architecture. Figure 4 shows that the connecting element between these architectures is the element of the technological architecture corresponding to the hardware. Connection reflect the location of functional components on the IS hardware. Architectural representations of technological architecture are typically performed using Deployment Diagrams. The description of the deployment diagram objects may include either requirements for the characteristics of the hardware- software tool, or an indication of a specific device model. 42 Figure 4 – The relationship of component architecture and technical architecture 8 Conclusion The method considered in this work provides a seamless transition from business architecture through the decomposition of the operational services to the functional architecture of the IS, which defines the dialogs of the system and the view functions. The decomposition of the view functions defines the software modules of the component architecture and, finally, the modules are decomposed into classes methods of the data architecture. In other words, each architectural representation is derived from the architecture of the previous level of abstraction. With this approach, the completeness of the functional implementation of the IS is ensured, since the decomposition of the business process allows you to accurately formulate the user requirements for the automated functions. Further design of functional components at various levels of the abstract description of IS is essentially a reasonable conclusion of the necessary and sufficient functionality of the IS, which avoids errors associated with technological gaps between architectural models, insufficient or excessive functionality. The advantages shown by the ACM in real-world design and maintenance of IS include ensuring transparency of the compliance of the design result with the requirements set by the customer by simplifying the validation and verification processes. The presence of tracing between the elements of architectural models allows for the rapid localization of necessary changes and improvements for the release of new versions of IS. The regulation of the development process, the relationship of the architectural description with artifacts, taking into account the possibility of generating design and operational documents based on architectural models [11], provides a significant reduction in the design time and making necessary changes to IS. In conclusion, I would like to outline topics that were not reflected in this work. Further research is required by the relationship between ACM and service-oriented architecture (SOA), namely the identification of services and the implementation of the component architecture of IC on the SOA template. In general, working with external information resources, whether it’s web services or library classes, requires study in the context of the ACM. Acknowledgments The author expresses sincere gratitude to the professor, Doctor Boris Pozin, who provided invaluable assistance in the preparation of this article. References [1] R. Sessions. A Comparison of the Top Four Enterprise-Architecture Methodologies, 2007. [Online]. Available: http://rogersessions.com/library/white-papers#the-it-complexity-crisis-danger-and-opportunity. [2] E. Shteingart and A. Burmistrov. Obzor i sravnitel'naya kharakteristika metodologiy razrabotki arkhitektury predpriyatiy (Review and comparative characteristics of methodologies for the development of enterprise architecture) [in Russian], St. Petersburg State Polytechnical University Journal. Economics, no. 3(245), pp. 111- 129, 2016. [3] The Open Group. The TOGAF Standard, version 9.2, 2019. [Online]. Available: https://www.opengroup.org/togaf. [4] GERAM: Generalised Enterprise Reference Architecture and Methodology: Version 1.6.3, 1999. [Online]. Available: URL: http://www.cit.gu.edu.au/~bernus/taskforce/geram/versions/geram1-6-3/v1.6.3.html. [5] FEA Consolidated Reference Model Document, Federal Enterprise Architecture Framework version 2, 2015. [Online]. Available: https://web.archive.org/web/20141030032759/http://www.whitehouse.gov/sites/default/files/omb/assets/egov_docs/f ea_v2.pdf. 43 [6] The Open Group (1999–2006). ADM and the Zachman Framework, Online, TOGAF 8.1.1, 25 Jan 2009. [Online]. Available: http://pubs.opengroup.org/architecture/togaf8-doc/arch/chap39.html. [7] Olaf Zimmermann, Pal Krogdahl and Clive Gee. Elements of Service-Oriented Analysis and Design, 2004. [Online]. Available: http://www.ibm.com/developerworks/webservices/library/ws-soad1/. [8] N. M. Josuttis. SOA in Practice, Sebastopol, CA: O'Reilly, 2007. [9] I. Graham. Object-Oriented Methods. Principles and Practice. Third Edition, Boston: Addison-Wesley, 2001. [10] G. Tsiperman. Primeneniye metoda adaptivnoy klasterizatsii dlya proyektirovaniya slozhnykh informatsionnykh sistem (The use of adaptive clustering method for the design of complex information systems) [in Russian], in Proceedings of the 3rd International Scientific and Practical Conference Actual Problems of System and Software Engineering (APSPI — 2013, Moscow), Moscow, 2013. [11] G. Tsiperman. Automation documenting the functionality of the information system using the method of adaptive clustering [in Russian], Highly available systems, vol. 11, no. 3, pp. 70-80, 2015. [12] ISO/IEC/IEEE 42010:2011. Systems and software engineering — Architecture description. [13] G. Tsiperman. Razvitiye metoda adaptivnoy klasterizatsii putem formirovaniya kontseptual'noy modeli obyekta informatizatsii (Evolution of the method of adaptive clustering by forming an informatization object conceptual model) [in Russian], in Proceedings of the 5th international scientific-practical conference Actual problems of system and software engineering (APSSE-2015), Aachen, 2017. [14] G. Tsiperman. Training method for development of data model for information systems, in Proceedings of the XXII International Scientific Conference Enterprise Engineering and Knowledge Management, Moscow, 2019. [15] ISO/IEC 12207:2008. Systems and software engineering — Software life cycle processes. 44