
Information and Software Technology 48 (2006) 498–516 www.elsevier.com/locate/infsof Applying Model-Driven Architecture to achieve distribution transparencies Apostolos Zarras* Computer Science Department, University of Ioannina, P.O. Box 1186, GR 45110 Ioannina, Greece Received 6 September 2004; revised 14 May 2005; accepted 31 May 2005 Available online 12 July 2005 Abstract This paper proposes a principled methodology for the realization of distribution transparencies. The proposed methodology is placed within the general context of Model-Driven Architecture (MDA) development. Specifically, it consists of a UML-based representation for the specification of platform independent models of a system. Moreover, it comprises an automated aspect-oriented method for the refinement of platform independent models into platform specific ones (i.e. models describing the realization of the system’s distribution transparency requirements, based on a standard middleware platform like CORBA, J2EE, COMC, etc.). Finally, the proposed methodology includes an aspect-oriented method for the generation of platform specific code from platform specific models. q 2005 Elsevier B.V. All rights reserved. Keywords: Aspect-oriented modeling; Aspect-oriented programming; Refinement; Code generation; Middleware 1. Introduction the well-known results of these efforts. J2EE [4] and COMC[5] are further widely used infrastructures in both Middleware is the current practice in the development of industry and academia. today’s software systems [1]. It provides reusable solutions Given this wide variety of solutions, what is still missing, to pervasive software development problems like hetero- from an engineering point of view, is a principled geneity, interoperability, security, dependability, etc. These methodology that facilitates selecting and using the one solutions are offered either by the core of a middleware that better tackles the particular requirements of the system. platform (i.e. the middleware broker), or by complementary Recently, the OMG architecture board made a statement services. The broker mediates the interaction between the concerning the coordinated use of existing standards elements of a system and masks differences in data towards Model-Driven Architecture (MDA) development representations and communication mechanisms to enable [6]. MDA relies on early ideas, proposed by the software their interoperation. In other words, it provides access architecture community [7]. More specifically, structural transparency [2]. The complementary middleware services and behavioral models of the system are specified in terms enable several other distribution transparencies like the of a standard modeling notation like UML [8]. These ones for location, persistence, failure, transaction, etc. [2]. models direct the overall development process. In a first Lately, there have been efforts to come up with standards step, the models are platform independent, i.e. they describe describing the semantics and the structure of middleware the Platform Independent Elements (PIEs) of the system, platforms, capable of supporting a wide range of while abstracting away technological details that do not distribution transparencies. The Common Object Request relate with the fundamental functionality of these elements. Broker Architecture (CORBA) specification [3] is among The Platform Independent Models (PIMs) may be of the following kinds: * Tel.: C30 26510 98862. E-mail address: [email protected] † Enterprise models, describing the business domain and URL: http://www.cs.uoi.gr/zarras. the business processes of the system. 0950-5849/$ - see front matter q 2005 Elsevier B.V. All rights reserved. † Computational models, specifying the decomposition of doi:10.1016/j.infsof.2005.05.010 the system into basic computational elements. A. Zarras / Information and Software Technology 48 (2006) 498–516 499 † Information models, prescribing the semantics of the † An automated method for the generation of platform information, managed by the computational elements. specific code. † Engineering models, specifying the distribution transparency requirements of the system. Both the refinement and the code generation methods are completely independent from the selected middleware The step that follows the specification of PIMs amounts platform. They rely, respectively, on Aspect-Oriented in selecting a middleware platform that provides means for Modeling (AOM) [10,11] and Aspect-Oriented Program- achieving the distribution transparency requirements of the ming (AOP) [12,13]. Aspect-oriented methods are based on system. Given the selected platform, we have to refine the languages that enable the abstract specification of modeling engineering models of the system into technology models, or programming constructs, which must be incorporated in describing how the platform is used to achieve these specific points within a model or a program, respectively, requirements. In the context of MDA, technology models towards achieving pervasive concerns like concurrency are also called Platform Specific Models (PSMs). In general, control, access control, etc. Such kind of specifications are the technology models are quite complex compared to the called aspects. Aspect-oriented methods further rely on engineering models of the system and their specification automated tools, called weavers. The input of a weaver is a requires expertise on the selected middleware platform. set of aspects and a model or a program. Its output is also a The PSMs include Platform Specific Elements (PSEs), model or a program, enhanced with the additional modeling correspondingtothePIEsthat constitute the refined or programming constructs that are specified within the engineering models. Moreover, the PSMs comprise input aspect. additional PSEs that are part of the middleware services The remainder of this paper is structured as follows. used for the realization of the distribution transparency Section 2 presents the necessary background on Aspect- requirements. Finally, the PSMs specify relationships Oriented development, middleware and distribution trans- between the PSEs, prescribing the achievement of the parencies. Section 2, further introduces a motivating distribution transparency requirements. The specification of example, used throughout the paper to demonstrate the PSMs is necessary as they serve as a blueprint targeted to proposed methodology. Section 3 presents the main steps of the developers who take in charge of the system’s the methodology. Section 4 details the UML representation implementation. The previous is actually the last step in for the specification of engineering models. Sections 5 and 6 the MDA development process. The system’s implemen- detail the automated refinement and code generation tation can be divided into source code that realizes the methods, respectively. Section 7 provides an assessment fundamental behavior of the system’s PIEs and Platform of the proposed methodology. Section 8 presents related Specific Code (PSC), which integrates the corresponding work. Finally, Section 9 summarizes our contribution and system’s PSEs with the additional PSEs of the middleware points out the future directions of this work. services used. The provision of a disciplined development process that relies on standards is by itself a guarantee for building 2. Background and motivating example software while successfully balancing the trade-off between the quality of the product and the time-to-market. Aspect-Oriented development, middleware and Architects, designers and developers are constrained in distribution transparencies are the foundation concepts favor of the clear separation of concerns, which promotes employed in the proposed methodology. These concepts design/software reuse and simplifies evolution. However, are briefly discussed in this section together with a case MDA becomes even more beneficial with the support of study followed throughout the paper towards exemplifying automated methods that facilitate the individual steps of the the use of the methodology. development process. Into this context, in [9] we already proposed a systematic framework that enables the selection 2.1. Aspect-oriented programming and modeling of middleware platforms, given the distribution trans- parency requirements of the system over the middleware. Aspect-Oriented development is an emerging software In this paper, we focus on a principled methodology for development paradigm that originates from the need to the refinement of engineering models into technology achieve a high degree of separation of concerns [12,13]. The models and the automated generation of corresponding different concerns involved in the realization of a software platform specific code. Specifically, the main contributions system can be divided into problem-specific and cross- of this paper are: cutting ones. Problem-specific concerns relate to the main functionality † A UML representation for the specification of engineer- that should be provided by the system. Their realization is ing models. tackled in traditional software development methodologies † An automated method for the refinement of engineering by the functional decomposition of the system into models into technology models. abstractions like classes or modules, which represent 500 A. Zarras / Information and Software Technology 48 (2006) 498–516 Table 1 Basic forms of transparency provided by middleware platforms Transparency Semantics CORBA J2EE COMC Access Masks differences in data rep- CORBA GIOP JAVA RMI DCE
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages19 Page
-
File Size-