88 research outputs found

    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

    Inter-modelling: From Theory to Practice

    Get PDF
    Proocedings of: ACM/IEEE 13 th International Conference on Model Driven Engineering Languages and Systems. Oslo, Norway, October 3-8, 2010.We define inter-modelling as the activity of building models that describe how modelling languages should be related. This includes many common activities in Model Driven Engineering, like the specification of model-to-model transformations, the definition of model matching and model traceability constraints, the development of inter-model consistency maintainers and exogenous model management operators. Recently, we proposed a formal approach to specify the allowed and forbidden relations between two modelling languages by means of bidirectional declarative patterns. Such specifications were used to generate graph rewriting rules able to enforce the relations in (forward and backward) model-to-model transformation scenarios. In this paper we extend the usage of patterns for two further inter-modelling scenarios &- model matching and model traceability &- and report on an EMF-based tool implementing them. The tool allows a high-level analysis of specifications based on the theory developed so far, as well as manipulation of traces by compilation of patterns into the Epsilon Object Language.Work funded by the Spanish Ministry of Science (project TIN2008-02081 and grants JC2009-00015, PR2009-0019), the R&D programme of the Madrid Region (project S2009/TIC-1650), the European Commission’s 7th Framework programme (grant #248864 (MADES)), and the Engineering and Physical Sciences Research Council (EPSRC) (grant EP/E034853/1).Publicad

    A compositional framework for determining pattern applicability.

    Get PDF
    The notion of ‘pattern’ originates in the work of Christopher Alexander and, in recent years, patterns have become a popular part of software development. A pattern is defined as a ‘three-part rule’: a relationship between a given context, a recurring system of forces peculiar to that context, and a specific spatial configuration that permits resolution of these forces. In essence, the ‘context’ of a pattern is the whole system under construction and its state in the construction process at the point at which the pattern is being applied. The nature of the context, therefore, changes at every step of the process and this has significant implications for how patterns should be used. Specifically, applying each pattern changes the context by changing the state of the system under construction and creates both a new design problem and a new context for the next pattern to be applied. The next picked pattern must have a certain criteria in order for it to be applied successfully and this is will be determined by the characteristics of the new context just created. The issue of composing pattern sequences is therefore more temporal than it is static and structural (as provided currently via pattern maps). The decision as to which one to use is temporally constrained in the sense that the choice is made only at a particular point in the construction process of some specific system, and may well be determined, or at least further constrained, by the current state of that system. The fundamental research question that is addressed here is: how is this dynamically changing context to be presented to guide pattern applications? In this thesis, a framework is presented to provide a systematic analysis of composition of pattern applications in terms of the properties of their context. Such an approach will reveal the ordering of patterns in space and time dimensions. Examples of composition of pattern applications include: - One pattern contains or generalises another smaller-scale pattern (this will be called in thesis refinement); - Two patterns are complementary, i.e., one pattern needs the other to be applied before (Sequential Order); - Two patterns solve different problems that overlap and coexist on the same level (Parallel Order); - Two patterns solve the same problem in alternative, but equally valid ways (Choice in Order). At the design phase, the framework provides mechanisms for analysing the choice of composition to ensure the correctness of a design or to compare between two different designs or to modify an existing design. This framework describes a pattern's context via a pair of constraints, known as Assumption and Commitment. In general, the Assumption is a constraint placed on the context and the Commitment is what the solution provided by the pattern commits to after the pattern's application. In addition, the thesis provides a set of composition rules that can be applied to aid in the analysis of the application of pattern sequences. The approach is domain independent as it does not depend on the nature of the catalogue from which the patterns originate. The work has been evaluated using various existing patterns from Ian Graham’s web usability (WU) pattern bank and the User Interface (UI) patterns of Welie

    Training materials for different categories of users

    Get PDF
    Agricultural and Food Policy, Environmental Economics and Policy, Farm Management, Land Economics/Use, Production Economics, Teaching/Communication/Extension/Profession,

    Coupled Transformations of Graph Structures applied to Model Migration

    Get PDF
    Model-Driven Engineering (MDE) is a relatively new paradigm in software engineering that pursues the goal to master the increased complexity of modern software products. While software applications have been developed for a specific platform in the past, today they are targeting various platforms and devices from classical desktop PCs to smart phones. In addition, they interact with other applications. To easier cope with these new requirements, software applications are specified in MDE at a high abstraction level in so called models prior to their implementation. Afterward, model transformations are used to automate recurring development tasks as well as to generate software artifacts for different runtime environments. Thereby, software artifacts are not necessarily files containing program code, they can also cover configuration files as well as machine readable input for model checking tools. However, MDE does not only address software engineering problems, it also raises new challenges. One of these new challenges is connected to the specification of modeling languages, which are used to create models. The creation of a modeling language is a creative process that requires several iterations similar to the creation of models. New requirements as well as a better understanding of the application domain result in an evolution of modeling languages over time. Models developed in an earlier version of a modeling language often needs to be co-adopted (migrated) to language changes. This migration should be automated, as migrating models manually is time consuming and error-prone. While application modelers use ad-hoc solutions to migrate their models, there is still a lack of theory to ensure well-defined migration results. This work contributes to a formalization of modeling language evolution with corresponding model migration on the basis of algebraic graph transformations that have successfully been used earlier as theoretical foundations of model transformation. The goal of this research is to develop a theory that considers the problem of modeling language evolution with corresponding model migration on a conceptual level, independent of a specific modeling framework

    A sheaf-theoretic approach to pattern matching and related problems

    Get PDF
    AbstractWe present a general theory of pattern matching by adopting an extensional, geometric view of patterns. Representing the geometry of the pattern via a Grothendieck topology, the extension of the matching relation for a constant target and varying pattern forms a sheaf. We derive a generalized version of the Knuth-Morris-Pratt string-matching algorithm by gradually converting this extensional description into an intensional description, i.e., an algorithm. The generality of this approach is illustrated by briefly considering other applications: Earley's algorithm for parsing, Waltz filtering for scene analysis, matching modulo commutativity, and the n-queens problem
    • 

    corecore