5 research outputs found

    An MDD-based method for building context-aware applications with high reusability

    Get PDF
    Adding context-awareness capabilities to modern mobile and pervasive computing applications is becoming a mainstream activity in the software engineering community. In this respect, many context models and middleware architectures have been proposed with the aim to provide the developers with tools and abstractions that make it easier to produce context-aware applications. However, current solutions suffer from relatively low reusability and lack ease-of-use. In this paper, we propose a two-layer approach based on model-driven development: at the higher layer we introduce the design of reusable context plug-ins which can be used to monitor low-level context data and to infer higher-level information about the users, their computing infrastructure and their interaction. At the lower layer, the plug-ins themselves are synthesized using more elementary, reusable components. We argue that this development approach provides significant advantages to the developers, as it enables them to design, implement, re-use and maintain the code-base of context-aware apps more efficiently. To evaluate this approach, we demonstrate it in the context of a two-part case-study and assess it both qualitatively and quantitatively

    A configuration-based domain-specific rule generation framework for process model customization

    Get PDF
    In today’s changing world, there is an ever-increasing demand and need for software reuse in applications, where the process model needs to be reused in different applications in a domain-specific environment. The process model is required to adapt and implement changes promptly at run-time, in response of the end-user configuration requirements. Furthermore, reusability is emerging strongly as a necessary underlying capability, particularly for customization of business in a dynamic environment where end-users can select their requirements to achieve a specific goal. Such adaptations are in general, performed by non-technical end-users which can lead to losing a significant number of person-days and which can also open up possibilities to introduce errors into the system. These scenarios call for - indeed cry out for - a system with a configurable and customizable business process, operable by users with limited technical expertise. Research aims to provide a framework for generating the rule language and configuring domain constraints. This framework builds upon the core idea of Software Product Lines Engineering (SPLE) and Model-Driven Architecture (MDA). The SPLE provides a platform that includes the variability model. Variability models offer features where end-users can select features and customize possible changes in the domain template, which is the container for domain and process models. The user selects their requirements as a feature from feature models and generates rules from domain models using MDA. Then, the generated rules are translated from a high-level domain model, based on the requirements of the end-user. On the other hand, the weaving model is responsible for reflecting activation and de-activation of features of variabilities in the domain template. The usability of the proposed framework is evaluated with a user study in the area of Digital Content Technology. The results demonstrate that usability improvements can be achieved by using the proposed techniques. The framework can be used to support semi-automatic configuration that is efficient, effective and satisfactory

    Model Driven Software Engineering for Web Applications

    Get PDF
    Model driven software engineering (MDSE) is becoming a widely accepted approach for developing complex applications and it is on its way to be one of the most promising paradigms in software engineering. MDSE advocates the use of models as the key artifacts in all phases of the development process, from analysis to design, implementation and testing. The most promising approach to model driven engineering is the Model Driven Architecture (MDA) defined by the Object Management Group (OMG). Applications are modeled at a platform independent level and are transformed to (possibly several) platform specific implementations. Model driven Web engineering (MDWE) is the application of model driven engineering to the domain of Web application development where it might be particularly helpful because of the continuous evolution of Web technologies and platforms. However, most current approaches for MDWE provide only a partial application of the MDA pattern. Further, metamodels and transformations are not always made explicit and metamodels are often too general or do not contain sufficient information for the automatic code generation. Thus, the main goal of this work is the complete application of the MDA pattern to the Web application domain from analysis to the generated implementation, with transformations playing an important role at every stage of the development process. Explicit metamodels are defined for the platform independent analysis and design and for the platform specific implementation of dynamic Web applications. Explicit transformations allow the automatic generation of executable code for a broad range of technologies. For pursuing this goal, the following approach was chosen. A metamodel is defined for the platform independent analysis and for the design of the content, navigation, process and presentation concerns of Web applications as a conservative extension of the UML (Unified Modeling Language) metamodel, together with a cor-responding UML profile as notation. OCL constraints ensure the well-formedness of models and are checked by transformations. Transformations implement the systematic evolution of analysis and design models. A generic platform for Web applications built on an open-source Web platform and a generic runtime environment is proposed that represents a family of platforms supporting the combination of a broad range of technologies. The transformation to the platform specific models for this generic platform is decomposed along the concerns of Web applications to cope in a fine-grained way with technology changes. For each of the concerns a metamodel for the corresponding technology is defined together with the corresponding transformations from the platform independent design models. The resulting models are serialized to code by means of serialization transformations

    Explicit Platform Models for MDA

    No full text

    V.: Explicit platform models for mda

    No full text
    Abstract. The main drive for Model-Driven Architecture is that many software applications have to be deployed on a variety of platforms. The way MDA achieves this is by transforming a platform-independent model of the software to a platform-specific model, given a platform model. In current MDA approaches, the model transformations implicitly represent this platform model. Therefore, the number of different target platforms is limited to the number of supported model transformations. We propose a separate platform model, based on description logics, that can can be used to automatically select and configure a number of reusable model transformations for a concrete platform. This platform model can be extended to describe the relevant platform information, including concrete platform instances as well as platform constraints for each model transformation. This separates the model transformation concern from the platform concern and, since the model transformations are no longer limited to targeting one platform, more platforms can be supported with the same set of transformations.
    corecore