8 research outputs found

    An Active Pattern Infrastructure for Domain-Specific Languages

    Get PDF
    Tool support for design patterns is a critically important area of computer-aided software engineering. With the proliferation of Domain-Specific Modeling Languages (DSMLs), the adaptation of the notion of design patterns appears to be a promising direction of research. This paper introduces a new approach to DSML patterns, namely, the Active Model Pattern infrastructure. In this framework, not only the traditional insertion of predefined partial models is supported, but interactive, localized design-time manipulation of models. Optionally, the infrastructure can be adapted to handling transactional tracing information as well as transactional undo and redo operations. Possible realizations of the framework are also discussed and compare

    A Language-Independent and Formal Approach to Pattern-Based Modelling with Support for Composition and Analysis

    Get PDF
    Context: Patterns are used in different disciplines as a way to record expert knowledge for problem solving in specific areas. Their systematic use in Software Engineering promotes quality, standardization, reusability and maintainability of software artefacts. The full realisation of their power is however hindered by the lack of a standard formalization of the notion of pattern. Objective: Our goal is to provide a language-independent formalization of the notion of pattern, so that it allows its application to different modelling languages and tools, as well as generic methods to enable pattern discovery, instantiation, composition, and conflict analysis. Method: For this purpose, we present a new visual and formal, language-independent approach to the specification of patterns. The approach is formulated in a general way, based on graphs and category theory, and allows the specification of patterns in terms of (nested) variable submodels, constraints on their allowed variance, and inter-pattern synchronization across several diagrams (e.g. class and sequence diagrams for UML design patterns). Results: We provide a formal notion of pattern satisfaction by models and propose mechanisms to suggest model transformations so that models become consistent with the patterns. We define methods for pattern composition, and conflict analysis. We illustrate our proposal on UML design patterns, and discuss its generality and applicability on different types of patterns, e.g. workflow patterns, enterprise integration patterns and interaction patterns. Conclusion: The approach has proven to be powerful enough to formalize patterns from different domains, providing methods to analyse conflicts and dependencies that usually are expressed only in textual form. Its language independence makes it suitable for integration in meta-modelling tools and for use in Model-Driven Engineering.This work has been supported by the Visiting Professor Programmes of ‘‘Sapienza” University of Rome and its Department of Computer Science, the R&D program of the Community of Madrid (S2009/TIC-1650, project ‘‘e-Madrid”), the CAM-UC3M project ‘‘EXPLORE” (CCG08-UC3M/TIC-4487), as well as by the Spanish Ministry of Science and Innovation, under project ‘‘METEORIC” (TIN2008-02081), and mobility Grants JC2009-00015 and PR2009-0019.Publicad

    Pattern-based Rewriting through Abstraction

    Full text link
    Fundamenta Informaticae, vol. 144, no. 2, pp. 109-160, 2016, Copyright 2016, with permission from IOS PressModel-based development relies on models in different phases for different purposes, with modelling patterns being used to document and gather knowledge about good practices in specific domains, to analyse the quality of existing designs, and to guide the construction and refactoring of models. Providing a formal basis for the use of patterns would also support their integration with existing approaches to model transformation. To this end, we turn to the commonly used, in this context, machinery of graph transformations and provide an algebraic-categorical formalization of modelling patterns, which can express variability and required/forbidden application contexts. This allows the definition of transformation rules having patterns in left and right-hand sides, which can be used to express refactorings towards patterns, change the use of one pattern by a different one, or switch between pattern variants. A key element in our proposal is the use of operations to abstract models into patterns, so that they can be manipulated by pattern rules, thus leading to a rewriting mechanism for classes of graphs described by patterns and not just individual graphs. The proposal is illustrated with examples in object-oriented software design patterns and enterprise architecture patterns, but can be applied to any other domain where patterns are used for modelling.This work has been partially supported by the Spanish Ministry of Economy and Competitivity with projects Go-Lite (TIN2011-24139) and Flexor (TIN2014-52129-R), the Madrid Region with project SICOMORO (S2013/ICE-3006), and the EU commission with project MONDO (FP7-ICT-2013-10, #611125)

    Contribution à la modélisation des applications temps réel d'aide à la conduite

    Get PDF
    Advanced Driver Assistance Systems (ADAS) manage an important volume of data that must be updated regularly. However, ADAS don't store, nor manage efficiently these data. For these reasons, we propose to integrate a real-time (RT) database system into ADAS. The integration of the RT database system allows improving the fault tolerance, reducing the number of transactions and minimizing their response time. The management of a lot of data makes these systems complex, thus, their design is highly difficult. To tackle this problem, we have proposed three patterns based on the pattern development process. This process allows defining the steps to follow in order to determine the functionalities and the requirements of the driver assistance domain on one hand, and defining the unification rules for the generation of the UML class and sequence diagrams, on the other hand. In order to represent these patterns, we have proposed UML-RTDB2 profile, which allows (i) expressing the variability of patterns, (ii) representing the real time constraints and the non functional properties and (iii) identifying the role played by each pattern element in a pattern instance. Once the proposed patterns are created, they can be reused by designers to model a specific application. For this reason, we have proposed a process to assist the applications designers when instantiating the patterns solutions. Finally, we have evaluated these patterns based on two categories of metrics.Les systèmes d'aide à la conduite gèrent un grand volume de données qui doivent être mises à jour régulièrement. Cependant, ces systèmes ne permettent, ni de les stocker, ni de les gérer d'une manière efficace. Pour ces raisons, nous proposons l'intégration d'un système de bases de données temps réel (TR) dans les systèmes d'aide à la conduite. Cela permet d'améliorer la tolérance aux fautes, de réduire le nombre de transactions et de réduire leur temps de réponse. La gestion d'un grand volume de données et leurs contraintes TR rend ces systèmes plus complexes, ce qui rend leur modélisation plus difficile. Pour remédier à cette complexité, nous avons proposé trois patrons de conception en nous basant sur un processus de création de patrons. Ce processus permet de définir les étapes à suivre pour déterminer les fonctionnalités et les exigences du domaine d'aide à la conduite, d'une part, et de définir les règles d'unification pour générer les diagrammes UML de classes et de séquence, d'autre part. Pour représenter ces patrons, nous avons proposé le profil UML-RTDB2, pour tenir compte : (i) de l'expression de la variabilité des patrons, (ii) de la représentation des contraintes TR et des aspects non fonctionnels et (iii) des éléments instanciés à partir des patrons lors de la modélisation d'une application cible. Une fois les patrons créés, ils peuvent être réutilisés par les concepteurs pour modéliser des systèmes spécifiques. Pour cela, nous avons proposé un processus de réutilisation pour guider les concepteurs d'applications lors de la réutilisation des solutions de patrons. Enfin, nous avons procédé à l'évaluation de ces patrons en utilisant deux catégories de métriques

    Graph-based Pattern Matching and Discovery for Process-centric Service Architecture Design and Integration

    Get PDF
    Process automation and applications integration initiatives are often complex and involve significant resources in large organisations. The increasing adoption of service-based architectures to solve integration problems and the widely accepted practice of utilising patterns as a medium to reuse design knowledge motivated the definition of this work. In this work a pattern-based framework and techniques providing automation and structure to address the process and application integration problem are proposed. The framework is a layered architecture providing modelling and traceability support to different abstraction layers of the integration problem. To define new services - building blocks of the integration solution - the framework includes techniques to identify process patterns in concrete process models. Graphs and graph morphisms provide a formal basis to represent patterns and their relation to models. A family of graph-based algorithms support automation during matching and discovery of patterns in layered process service models. The framework and techniques are demonstrated in a case study. The algorithms implementing the pattern matching and discovery techniques are investigated through a set of experiments from an empirical evaluation. Observations from conducted interviews to practitioners provide suggestions to enhance the proposed techniques and direct future work regarding analysis tasks in process integration initiatives

    Formal foundation for pattern-based modelling

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-642-00593-0_19Proceedings of 12th International Conference, FASE 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009.We present a new visual and formal approach to the specification of patterns, supporting pattern analysis and pattern-based model completion. The approach is based on graphs, morphisms and operations from category theory and exploits triple graphs to annotate model elements with pattern roles. Novel in our proposal is the possibility of describing (nested) variable submodels, as well as inter-pattern synchronization across several diagrams (e.g. class and sequence diagrams for UML design patterns). We illustrate the approach on UML design patterns, and discuss its generality and applicability on different types of patterns, e.g. workflow patterns using Coloured Petri nets.Work supported by the Spanish Ministry of Science and Innovation, projects METEORIC (TIN 2008-02081) and MODUWEB (TIN 2006-09678). We thank the referees for their insightful and detailed comment

    Formal foundation for pattern-based modelling

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-642-00593-0_19Proceedings of 12th International Conference, FASE 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009.We present a new visual and formal approach to the specification of patterns, supporting pattern analysis and pattern-based model completion. The approach is based on graphs, morphisms and operations from category theory and exploits triple graphs to annotate model elements with pattern roles. Novel in our proposal is the possibility of describing (nested) variable submodels, as well as inter-pattern synchronization across several diagrams (e.g. class and sequence diagrams for UML design patterns). We illustrate the approach on UML design patterns, and discuss its generality and applicability on different types of patterns, e.g. workflow patterns using Coloured Petri nets.Work supported by the Spanish Ministry of Science and Innovation, projects METEORIC (TIN 2008-02081) and MODUWEB (TIN 2006-09678). We thank the referees for their insightful and detailed comment
    corecore