📝 Original Info
- Title: Managing Separation of Concerns in Grid Applications Through Architectural Model Transformations
- ArXiv ID: 0707.0761
- Date: 2007-07-05
- Authors: David Manset, Herve Verjus, Richard McClatchey
📝 Abstract
Grids enable the aggregation, virtualization and sharing of massive heterogeneous and geographically dispersed resources, using files, applications and storage devices, to solve computation and data intensive problems, across institutions and countries via temporary collaborations called virtual organizations (VO). Most implementations result in complex superposition of software layers, often delivering low quality of service and quality of applications. As a consequence, Grid-based applications design and development is increasingly complex, and the use of most classical engineering practices is unsuccessful. Not only is the development of such applications a time-consuming, error prone and expensive task, but also the resulting applications are often hard-coded for specific Grid configurations, platforms and infra-structures. Having neither guidelines nor rules in the design of a Grid-based application is a paradox since there are many existing architectural approaches for distributed computing, which could ease and promote rigorous engineering methods based on the re-use of software components. It is our belief that ad-hoc and semi-formal engineer-ing approaches, in current use, are insufficient to tackle tomorrows Grid develop-ments requirements. Because Grid-based applications address multi-disciplinary and complex domains (health, military, scientific computation), their engineering requires rigor and control. This paper therefore advocates a formal model-driven engineering process and corresponding design framework and tools for building the next generation of Grids.
💡 Deep Analysis
Deep Dive into Managing Separation of Concerns in Grid Applications Through Architectural Model Transformations.
Grids enable the aggregation, virtualization and sharing of massive heterogeneous and geographically dispersed resources, using files, applications and storage devices, to solve computation and data intensive problems, across institutions and countries via temporary collaborations called virtual organizations (VO). Most implementations result in complex superposition of software layers, often delivering low quality of service and quality of applications. As a consequence, Grid-based applications design and development is increasingly complex, and the use of most classical engineering practices is unsuccessful. Not only is the development of such applications a time-consuming, error prone and expensive task, but also the resulting applications are often hard-coded for specific Grid configurations, platforms and infra-structures. Having neither guidelines nor rules in the design of a Grid-based application is a paradox since there are many existing architectural approaches for distribute
📄 Full Content
Grids enable the aggregation, virtualization and sharing of massive heterogeneous and geographically dispersed resources, using files, applications and storage devices, to solve computation and data intensive problems, across institutions and countries via temporary collaborations called virtual organizations (VO) as described in [1]. Most implementations result in complex superposition of software layers, often delivering low quality of service and quality of applications. As a consequence, Grid-based applications design and development is increasingly complex, and the use of most classical engineering practices is unsuccessful. Not only is the development of such applications a time-consuming, error prone and expensive task, but also the resulting applications are often hard-coded for specific Grid configurations, platforms and infrastructures. Having neither guidelines nor rules in the design of a Grid-based application is a paradox since there are many existing architectural approaches for distributed computing, which could ease and promote rigorous engineering methods based on the re-use of software components. It is our belief that ad-hoc and semi-formal engineering approaches, in current use, are insufficient to tackle tomorrow's Grid developments requirements. Because Grid-based applications address multi-disciplinary and complex domains (health, military, scientific computation), their engineering requires rigor and control. This paper therefore advocates a formal model-driven engineering process and corresponding design framework and tools for building the next generation of Grids. To achieve these objectives, two approaches are combined: (1) a formal semantic is used to model and check Grid applications; (2) a model-driven approach is adopted to promote model re-use, through separation of concerns, to model transformations, to hide the platform complexity and to refine abstract software descriptions into concrete usable ones. Section 2 of this paper introduces our proposal so-called gMDE, as well as its foundations in sections 3 and 4. Finally, section 4 and 5 illustrate the presented paradigms with an example.
The presented approach, of so-called “grid Model-Driven Engineering” (gMDE), aims at enacting the model-driven paradigm based on formally defined architectural models dedicated to grid-based application development. While most existing MDE implementations provide only model to source code transformations where the PIMs are translated to PSMs, the problem of Grids engineering requires more elaborated models transformations -i.e. model to model -fill the conceptual gap between the abstract model and its concrete (more detailed) representation. Moreover, interesting modelling aspects such as model optimization require the generation of intermediate models to compute and synchronize different views of the system. Thus, the proposed approach is based on the combination of the MDE vision [2] with the architecture-centric approach [3]..In Grid engineering, design is largely affected by constraints, which are introduced either by the targeted Quality of Services (QoS) or by the targeted execution platform. As presented in [4], our gMDE approach exhibits several models (see the right part of the Figure 1). Each model represents an accurate aspect of the system, useful for conceptual understanding (separation of concerns), analysis and refinement. Unlike the software engineering process, where the system architecture is iteratively refined by the architect, most of the transformations in gMDE are semi-automated. Thus, Grid applications architects only concentrate on applications functional building blocks and their interactions, and let the system address non-functional issues such as QoS. Figure 1 below, introduces the cascade of architectural models in the gMDE engineering process. In the presented process, a distinction is made between two major levels: -Transformations of architectural models, which take place at the same level of abstraction (i.e. architectural structure, behaviour and properties) shown above the broken line in figure 1 and -Transformations of abstract models to more concrete ones (including deployment in an infrastructure) shown below the broken line in Figure 1.
ArchWare [3] is an architecture-centric engineering environment supporting the development of complex systems. It enables the support of critical correctness requirements and provides languages for expressing architecture structure, behaviour and properties. ArchWare provides a set of formal languages amongst which the Architecture Refinement Language (ARL [5]). This latter is used to describe software architectures (based on the Component and Connector paradigm) and to refine them according to transformation rules. This language is based on the π-calculus [6] and μ-calculus [7] allowing the specification of architectures structure, behaviour and properties. Our gMDE approach uses ARL as the basis language (a refine
…(Full text truncated)…
📸 Image Gallery
Reference
This content is AI-processed based on ArXiv data.