Acta Univ. Agric. Silvic. Mendelianae Brun. 2013, 61(7), 2515-2522 | DOI: 10.11118/actaun201361072515
Applying of component system development in object methodology
- Department of Informatics, Mendel University in Brno, Zemědělská 1, 613 00 Brno, Czech Republic
In the last three decades, the concept and implementation of component-based architectures have been promoted in software systems creation. Increasingly complex demands are placed on the software component systems, in particular relating to the dynamic properties. The emergence of such requirements has been gradually enforced by the practice of development and implementation of these systems, especially for information systems software.
Just the information systems (robust IS) of different types require that target software meets their requirements. Among other things, we mean primarily the adaptive processes of different domains, high distributives due to the possibilities of the Internet 2.0, acceptance of high integrity of life domains (process, data and communications integrity), scalability, and flexible adaptation to process changes, a good context for external devices and transparent structure of the sub-process modules and architectural units.
Of course, the target software of required qualities and the type robust cannot be a monolith. As commonly known, development of design toward information systems software has clearly come to the need for the software composition of completely autonomous, but cooperating architectural units that communicate with each other using messages of prescribed formats.
Although for such units there were often used the so called subsystems and modules, see (Jac, Boo, Rumbo, 1998) and (Arlo, Neus, 2007), their abstraction being gradually enacted as the term component. In other words, the subsystems and modules are specific types of components.
In (Král, Žeml, 2000) and (Král, Žeml, 2003) there are considered two types of target software of information systems. The first type - there are SWC (Software Components), composed of permanently available components, which are thought as services - Confederate software. The second type - SWA (Software Alliance), called semi Confederate, formed during the run-time of the software system and referred to as software alliance.
In both of these mentioned publications there is delivered deep philosophy of relevant issues relating to SWC / SWA as creating copies of components (cloning), the establishment and destruction of components at software run-time (dynamic reconfiguration), cooperation of autonomous components, programmable management of components interface in depending on internal components functionality and customer requirements (functionality, security, versioning).
Nevertheless, even today we can meet numerous cases of SWC / SWA existence, with a highly developed architecture that is accepting vast majority of these requests. On the other hand, in the development practice of component-based systems with a dynamic architecture (i.e. architecture with dynamic reconfiguration), and finally with a mobile architecture (i.e. architecture with dynamic component mobility) confirms the inadequacy of the design methods contained in UML 2.0. It proves especially the dissertation thesis (Rych, Weis, 2008).
Software Engineering currently has two different approaches to systems SWC / SWA. The first approach is known as component-oriented software development CBD (Component based Development). According to (Szyper, 2002) that is a collection of CBD methodologies that are heavily focused on the setting up and software components re-usability within the architecture. Although CBD does not show high theoretical approach, nevertheless, it is classified under the general evolution of SDP (Software Development Process), see (Sommer, 2010) as one of its two dominant directions.
From a structural point of view, a software system consists of self-contained, interoperable architectural units - components based on well-defined interfaces. Classical procedural object-oriented methodologies significantly do not use the component meta-models, based on which the target component systems are formed, then. Component meta-models describe the syntax, semantics of components. They are a system of rules for components, connectors and configuration. Component meta-models for dynamic and mobile architectures also describe the concept of rules for configuration changes (rules for reconfiguration). As well-known meta-models are now considered: Wright for static architecture, SOFA and Darvin for dynamic architecture and SOFA 2.0 for mobile architecture, see (Rych, Weis, 2008).
The CBD approach verbally defines the basic terms as component (primitive / composite), interface, component system, configuration, reconfiguration, logical (structural) view, process view (behavioral), static component architecture, dynamic architecture, mobile architecture (fully dynamic architecture), see (IEEE Report, 2000) and (Crnk, Chaud, 2006).
The CBD approach also presents several ADL languages (Architecture Description Languages) which are able to describe software architecture. The known languages are integration ACME and UML (Unified Modeling Language), see (Garl, Mon, Wil, 2000) and (UNIFEM, 2005).
The second approach to SWC / SWA systems is formed on SOA, but this article does not deal with it consistently.
SOA is a philosophy of architecture. SOA is not a methodology for the comprehensive development of the target software. Nevertheless, SOA successfully filled the role of software design philosophy and on the other hand, also gave an important concept linking software components and their architectural units - business services. SOA understands any software as a Component System of a business service and solved life components in it. The physical implementation of components is given by a Web services platform. A certain lack of SOA is its weak link to the business processes that are a universally recognized platform for business activities and the source for the creation of enterprise services.
This paper deals with a specific activity in the CBD, i.e. the integration of the concept of component-based system into an advanced procedural, object-oriented methodology (Arlo, Neust, 2007), (Kan, Müller, 2005), (Krutch, 2003) for problem domains with double-layer process logic. There is indicated an integration method, based on a certain meta-model (Applying of the Component system Development in object Methodology) and leading to the component system formation. The mentioned meta-model is divided into partial workflows that are located in different stages of a classic object process-based methodology. Into account there are taken the consistency of the input and output artifacts in working practices of the meta-model and mentioned object methodology. This paper focuses on static component systems that are starting to explore dynamic and mobile component systems.
In addition, in the contribution the component system is understood as a specific system, for its system properties and basic terms notation being used a set and graph and system algebra.
Keywords: component, component system, interface, static, dynamic and mobile architecture, component meta-model, object methodology
Received: May 3, 2013; Published: December 24, 2013 Show citation
References
- ARLOW, J., NEUSTAD, I., 2007: UML 2 a unifikovaný proces vývoje aplikací. Brno: Computer Press. 566 p. ISBN 978-80-251-1503-9. [cit. 17. 02. 2013].
- BELL, M., 2008: Service-oriented Modeling (SOA) Service Analysis, Design, and Architecture. USA: John Wiley & Sons, 452. ISBN 978.0-470-14111-3.
- CRNKOVIC, I., CHAUDRON, M., LARSSON, S., 2006: Component-based development process and component lifecycle. In: International Conference on Software Engineering Advances, ICSEA'06. Tahiti, French Polynesia: Tahiti University, 12 p. IEEE.
Go to original source...
- CRNKOVIC, I., LARSON, M. P. H., 2002: Building Reliable Component-based Software Systems. Norwood: Artech House, Computing library, 589 p. ISBN 1580535585, 9781580535588. [cit. 17. 04. 2013].
- ČERNÁ, I.,VAŘEKOVÁ, P., ZIMMEROVÁ, B., 2006: Component interaction - automata modeling Language. Technical Report FIMU-RS-2006-08. Brno: Masaryk University Brno.
- GARLAN, D., MONROE, R.T., WILE, D., 2000: Architectural description of component-based systems. Foundations of Component - Based Systems chapter 3, pages 47-68. New York: Cambridge University Press, 22 p.
- JACOBSON, I., BOOCH, G., RUMBAUGH, J., 1998: The Unified Software Development Process. Amsterdam: Addison Wesley Longman, Inc. 463 p. ISBN 0-201-57169-2.
- KANISOVÁ, H., MULLER, M., 2007: UML srozumitelně. Brno: Computer Press. 176 p. ISBN 80-251-1083-4.
- KRÁL, J., ŽEMLIČKA, M., 2000: Autonomous components. In: SOFSEM 2000. Theory And Practice of Informatics, volume 1963 of Lecture Notes in Computer Science: 375-383. [cit. 19.04.2013].
Go to original source...
- KRÁL, J., ŽEMLIČKA, M., 2003: Software confederations and alliances. CEUR Workshop. In: CAiSE Short Paper Proceedings, 74: 229-232. [cit. 19. 03. 2013].
- KRUCHTEN, P., 2003: The Rational Unified Process, An introduction. USA: Pearson Education. 310 p. ISBN 0-321-19770-4.
- Recommended practice for architectural description of software intensive systems, 2000: Technical Report IEEE P1471-2000, The Architecture Working Group of the Software Engineering Committee, Standards Department, IEEE, Piscataway, New Jersey, USA. [cit. 18. 04. 2013].
- RYCHLÝ, M., WEISS, P., 2008: Modeling of Service-oriented Architecture: From Business process to Service realization. Third International conference on Evaluation of Novel Approaches to Software Engineering Proceedings. Poland: Institute for Systems and Technologies of information, Control and Communication. ISBN 978-989-8111-28-9. [cit. 17. 02. 2013].
- SOMMERVILLE, I., 2010: Software Engineering, 9th ed. London: Publisher PEARSON. 773 p. ISBN 10: 0-13-705346-0.
- SZYPERSKI, C., 2002: Component Software: Beyond Object-Oriented Programming. 2nd edition. New York: Addison Wesley Professional, 589 p. ISBN 0-321-75302-X.
- Unified modeling language specification, version 1.4.2. Document format l-05-04-01, 2005: The Object Management Group. [cit. 19. 03. 2013].
This is an open access article distributed under the terms of the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY NC ND 4.0), which permits non-comercial use, distribution, and reproduction in any medium, provided the original publication is properly cited. No use, distribution or reproduction is permitted which does not comply with these terms.