Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2014:2014:687346.
doi: 10.1155/2014/687346. Epub 2014 Aug 3.

Models and frameworks: a synergistic association for developing component-based applications

Affiliations

Models and frameworks: a synergistic association for developing component-based applications

Diego Alonso et al. ScientificWorldJournal. 2014.

Abstract

The use of frameworks and components has been shown to be effective in improving software productivity and quality. However, the results in terms of reuse and standardization show a dearth of portability either of designs or of component-based implementations. This paper, which is based on the model driven software development paradigm, presents an approach that separates the description of component-based applications from their possible implementations for different platforms. This separation is supported by automatic integration of the code obtained from the input models into frameworks implemented using object-oriented technology. Thus, the approach combines the benefits of modeling applications from a higher level of abstraction than objects, with the higher levels of code reuse provided by frameworks. In order to illustrate the benefits of the proposed approach, two representative case studies that use both an existing framework and an ad hoc framework, are described. Finally, our approach is compared with other alternatives in terms of the cost of software development.

PubMed Disclaimer

Figures

Figure 1
Figure 1
Summary of the lines of code of the model transformation developed for a full generative MDSD approach. Bars correspond to rules, while colors represent the group the rule generates code for.
Figure 2
Figure 2
Pie chart showing the distribution percentage of the lines of code involved in the generation of each kind of code group.
Figure 3
Figure 3
Proposed development process for CBSE applications, based on MDSD technologies for designing and validating applications, and on frameworks for providing the required run-time support. Three developer roles are shown in the figure: application developer, MDSD expert, and framework developer. The application code is organized into three sets: code providing the runtime support (C1), code providing the implementation of CBSE concepts in an OO language (C2), and code providing the application-specific functionality (C3).
Figure 4
Figure 4
The sample application in terms of components, connections, and interfaces (structural view).
Figure 5
Figure 5
Architecture modeling of the new version of the application in terms of the components' structure and behavior.
Figure 6
Figure 6
Class diagram of the FraCC framework with some of the design patterns employed in its development.
Algorithm 1
Algorithm 1
Skeleton of the OSGi implementation of the example shown in Figure 4 (implementation of the Point datatype).
Algorithm 2
Algorithm 2
Skeleton of the OSGi implementation of the example shown in Figure 4 (implementation of the interface I_Collision).
Algorithm 3
Algorithm 3
Skeleton of the OSGi implementation of the example shown in Figure 4 (implementation of component C_Server).
Algorithm 4
Algorithm 4
Skeleton of the OSGi implementation of the example shown in Figure 4 (implementation of component C_Simulator).
Algorithm 5
Algorithm 5
Skeleton of the OSGi implementation of the example shown in Figure 4 (description of the architecture).
Algorithm 6
Algorithm 6
Skeleton of the FraCC implementation of the example shown in Figure 5 (excerpt of the implementation of the Control_Vehicle_Activity in FraCC).
Algorithm 7
Algorithm 7
Skeleton of the FraCC implementation of the example shown in Figure 5 (excerpt of the JSON file describing the application architecture and its deployment).

References

    1. Szyperski C. Component Software: Beyond Object-Oriented Programming. 2nd edition. Addison-Wesley; 2002.
    1. Heineman G, Councill W. Component Based Software Engineering: Putting the Pieces Together. Reading, Mass, USA: Addison-Wesley; 2001.
    1. Lau K, Wang Z. Software component models. IEEE Transactions on Software Engineering. 2007;33(10):709–724.
    1. Shaw M, Clements P. The golden age of software architecture. IEEE Software. 2006;23(2):31–39.
    1. Iborra A, Alonso D, Ortiz FJ, Franco JA, Sánchez P, Álvarez B. Design of service robots. IEEE Robotics & Automation Magazine. 2009;16(1):24–33.

Publication types

LinkOut - more resources