Acta Univ. Agric. Silvic. Mendelianae Brun. 2013, 61, 2515-2522
Published online 2013-12-24

Applying of component system development in object methodology

Milan Mišovič, Oldřich Faldík

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.


16 live references