42 research outputs found

    Precise modeling of design patterns

    Get PDF
    International audienceDesign Patterns are now widely accepted as a useful concept for guiding and documenting the design of object-oriented software systems. Still the UML is ill-equipped for precisely representing design patterns. It is true that some graphical annotations related to parameterized collaborations can be drawn on a UML model, but even the most classical GoF patterns, such as Observer, Composite or Visitor cannot be modeled precisely this way. We thus propose a minimal set of modi - cations to the UML 1.3 meta-model to make it possible to model design patterns and represent their occurrences in UML, opening the way for some automatic processing of pattern applications within CASE tools. We illustrate our proposal by showing how the Visitor and Observer patterns can be precisely modeled and combined together using our UMLAUT tool. We conclude on the generality of our approach, as well as its perspectives in the context of the de nition of UML 2.0

    AI analysis patterns as UML meta-model constructs

    Get PDF

    Automatic architectural enforcement

    Get PDF
    Automatic architectural enforcement would be very beneficial especially in product line development using open source practices where there is very limited or no access to the architects and the architecture is of paramount importance. However, current techniques for modelling software architecture do not support the modelling of architectural design rules which means that architectural enforcement is achieved by manual reviews. This paper addresses this problem by proposing how architectural design rules could be expressed in UML in a meta-model for the system model

    Augmenting DSVL Meta-Tools with Pattern Specification, Instantiation and Reuse

    Get PDF
    This paper describes an approach for using patterns in domain-specific visual language (DSVL) meta-tools. Our approach facilitates DSVL development via high level design-for-reuse and design-by-reuse pattern modelling tools. It provides a simple visual pattern modelling language that is used in parallel with DSVL meta-model specifications for modelling and reusing DSVL structural and behavioural design patterns. It also provides tool support for instantiating and visualising structural patterns, as well as executing behavioural patterns on DSVL model instances

    A toolkit for weaving aspect oriented UML designs

    Get PDF

    1 Sharing Bad Practices in Design to Improve the Use of Patterns

    Get PDF
    To ensure the use of good analysis and design practices and an easier maintenance of software, analysts and designers may use patterns. To help them, we propose models inspection in order to detect instantiations of “spoiled pattern ” and models reworking through the use of the design patterns. As a design pattern allows the instantiation of the best known solution for a given problem, a “spoiled pattern ” allows the instantiation of alternative solutions for the same problem: requirements are respected, but architecture is improvable. We have collected a set of alternative solutions and deduced the corresponding spoiled patterns. We have defined a first catalog of these improvable practices from several experiments with students. To overcome the limits imposed by this method (restricted public, limited problems and tiresome validation process), we would like to open this problematic to the expert community. Therefore, we propose a collaborative website sharing bad practices in object oriented design to improve the use of patterns

    A Modeling and Formal Approach for the Precise Specification of Security Patterns

    Get PDF
    International audienceNon-functional requirements such as Security and Dependability (S &D) become more important as well as more difficult to achieve. In fact, the integration of security features requires the availability of both application domain specific knowledge and security expertise at the same time. Hence, capturing and providing this expertise by the way of security patterns can support the integration of S&D features by design to foster reuse during the process of software system development.The solution envisaged here is based on combining metamodeling techniques and formal methods to represent security pattern at two levels of abstraction fostering reuse during the process of pattern development and during the process of pattern-based development. The contribution of this work is twofold: (1) An improvement of our previous pattern modeling language for representing security pattern in the form of a subsystem providing appropriate interfaces and targeting security properties, (2) Formal specification and validation of pattern properties, using the interactive Isabelle/HOL proof assistant. The resulting validation artifacts may mainly complete the definitions, and provide semantics for the interfaces and the properties in the context of S&D. As a result, validated patterns will be used as bricks to build applications through a Model-Driven engineering approach

    Perfiles UML para definición de Patrones de Diseño

    Get PDF
    Los Patrones de Diseño ayudan a los desarrolladores de software a resolver problemas de diseño orientado a objetos que repetidamente ocurren. Cuando estos adaptan patrones a soluciones particulares, muchas veces elaboran modelos usando UML. Sin embargo, a menudo, UML no es lo suficientemente expresivo para describir patrones apropiadamente. Los perfiles UML (en inglés “UML Profiles”) permiten extender la sintaxis y la semántica UML para modelar elementos de dominios particulares. Así como los perfiles UML extienden su vocabulario y los patrones de diseño definen para los diseñadores un vocabulario común; también es posible usar perfiles para definir un vocabulario de patrones en UML. De esta manera, los perfiles pueden ser usados no solamente para dominios específicos, sino también para resolver problemas particulares en diferentes dominios.Eje: Ingeniería de software y base de datosRed de Universidades con Carreras en Informática (RedUNCI
    corecore