Component-Oriented Software Development with UML

Component-Oriented Software Development with UML

ICSEA 2011 : The Sixth International Conference on Software Engineering Advances Component-oriented Software Development with UML Nara Sueina Teixeira Ricardo Pereira e Silva Graduate Program in Computer Science Department of Informatics and Statistics - INE Federal University of Santa Catarina - UFSC Federal University of Santa Catarina - UFSC Florianópolis, Brasil Florianópolis, Brasil E-mail: [email protected] E-mail: [email protected] Abstract — This paper proposes to automate the process of Mouakher, Lanoix and Souquières [8] improved the structural and behavior analysis of component-oriented approach [6] by adding an interface protocol, described in software fully specified in UML. The structural specification PSM (Protocol State Machine), to the CI specification and uses component, class and deployment diagrams, and the proposing adapters when incompatible interfaces were behavior specification, state machine diagram. The produced identified. However, the analysis is also performed between structural analysis tool analyzes a connection between pairs of two connected interfaces, disregarding problems associated components at a time. The produced behavioral analysis tool considers the behavior of the system as a whole, leading to with the whole set of application components. In [6] and [8] behavioral specification of the application automatically from the notion of component port is not treated. the machine state of each connected component. It is Bracciali, Brogi and Channel [9] describe the interface of performed the convertion of the state machines of the components through IDLs (Interface Description Language) individual components and of the application to Petri nets in a and they use a subset of Lambda Calculus to represent the transparent manner to the user. The behavioral assessment is behavior of components. This low level solution becomes done by analyzing Petri net properties, considering the context difficult to be applied to describe complex systems. of the components. Analysis results are produced without The component compatibility analysis should be demand effort, allowing early location of design problems. performed based on the CI specification and must consider three distinct aspects: structural, behavioral, and functional. Keywords-Component-oriented development; structural compatibility analysis; behavioral compatibility analysis; UML; “The structural aspect concerns the static features of a Petri Nets. component and corresponds to the set of required and provided operation signatures of the CI. The behavioral I. INTRODUCTION aspect defines constraints in the invocation order of provided and required operations. The functional aspect describes For the component-based software development what the component does, not necessarily going into details approach, software construction consists in an of its implementation” [10]. interconnection of a collection of units: the components. “A The lack of a widely accepted standard for the component represents a modular part of a system that specification of CI makes the analysis of compatibility encapsulates its contents and whose manifestation is between components difficult and hence, their reuse. The replaceable within its environment” [1]. “A component second version of UML, called henceforth UML [1] provides interface (CI) is a collection of service access points, each mechanisms to deal with components, but does not establish one with a defined semantics” [2]. The latter establishes the a standard for complete specifications. services required and provided by a component, not In a previous publication [11] were proposed ways of considering implementation details. specifying component-oriented software and CI, in which the Some research efforts suggest the automation of specification is based on the object-oriented paradigm and component compatibility analysis evaluating their CIs. Dias uses only UML diagrams. For the CI structural specification and Vieira [3] use the Argus-I tool integrated to the SPIN component and class diagrams are used and for the CI tool [4] for the component compatibility analysis, in which behavioral specification is utilized the state machine specifications are produced in ADL (Architecture diagram. Thus, each component has its own state machine Description Language) and state machine diagram is (SM) representing its externally observable behavior – being converted to PROMELA [5]. The architectural analysis this observable behavior the sequence of required and considers the "super state model", but the authors do not provided operations performed during the component’s detail how it is generated. operation. The organization of components of an application Chouali and Souquières [6] use refinement in B to prove is described by using the deployment diagram. the compatibility between two interfaces, through the tool This paper proposes the automation of the component’s AtelierB [7]. The CI specification is converted to the formal compatibility analysis process from the component-based method B and consists of a data model associated with each software specification [11]. The approach used in this paper is implemented in the current version of the SEA component provided and the required interface. The environment [10] [12] [13], which uses UML. SEA is a interoperability does not cover behavioral aspects, therefore development environment in which the object-oriented it does not assess the feasibility of the component-based paradigm is used for production and use of reusable software application. Copyright (c) IARIA, 2011. ISBN: 978-1-61208-165-6 269 ICSEA 2011 : The Sixth International Conference on Software Engineering Advances artifacts. Some tools were built in this environment to a design specification without changing it and produce automate the analysis of structural and behavioral reports with the specification features. The tools SAT and compatibility. BAT are analyzers. The structural analysis tool (SAT) handles at each time, PECIFICATION OF OMPONENT ASED OFTWARE pairs of connected ports. The behavioral analysis tool (BAT) III. S C -B S considers not only the individual behavior of each A. Structural Specification component, but also the behavior of the system as a whole. It The structural specification concerns to all the operation involves the entire set of application’s interconnected signatures of the CI. “The CI refers to the portion of the components at the same time. In this work, the application component responsible for communicating with its external SM is automatically obtained from the union of the SMs of environment. Taking into account the nomenclature of UML, each connected component. the CI is composed by a port collection, each one associated For the behavioral analysis, the UML state machine to one or more UML interfaces” [11]. diagram is converted in Petri net (PN). This conversion is In this approach, producing the CI structural specification done automatically in a transparent way to the user, who requires the specification of all interfaces associated with the does not need any knowledge of this modeling technique. component (in class diagram) and the definition of the Behavioral problems are identified through the component ports, associating required or provided interfaces interpretation of PN properties, considering the component to each of them in component diagram. context. The conversion method (of SM to PN) used in this With the establishment of the interfaces related to the study is similar to that proposed in [14], however, it only component ports through realization or dependency handles PNs of the ordinary kind and presents particularities relationship, it becomes possible to check what operations of the treaty context. are provided or required from a component’s port. Functional compatibility analisys consists in evaluate if Figure 1 illustrates the structural specification of a the execution steps of an operation are in agreement with hypothetical component, CompB, made in the SEA environment. At the right side there is the class diagram the need of the component that invokes the operation. This with the interfaces; at the left side, a component, in a kind of analisys is not automatable and is beyond the scope component diagram, that is related to the declared interfaces. of this work. In the SEA environment, the connection between The following sections are organized as: Section II components is made in the deployment diagram, linking the presents concepts related to OCEAN / SEA, and Section III ports of connected components. Figure 2 illustrates a presents the approach to specify component-based software. deployment diagram with a hypothetical software artifact In Section IV, the automated structural compatibility analysis consisting of the interconnection of three components. All is described, while in Section V, the behavioral analysis is the components must be declared in component diagram and presented. Software specification and analysis are supported all the interfaces, in class diagram. by the tools inserted in SEA environment. Section VI presents how the evaluation of the produced tools occurred. B. Behavioral Specification The article ends with conclusions, in Section VII. The CI behavioral specification sets restrictions on the invocation order of operations provided and required by the II. OCEAN /S EA IMPLEMENTATION component. In this approach, the behavioral specification is OCEAN [10] is an object-oriented framework for the represented by a UML state machine diagram.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us