27 research outputs found

    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

    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

    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

    Trapt - Traceability Pattern Tool

    Get PDF
    TraPT is a tool for the structured and collaborative creation and cataloguing of software patterns. The goal of the tool is to facilitate an increase in the creation and use of patterns in organisations. The tool is comprised of two modules, a pattern creation tool and a pattern encyclopaedia tool. The pattern encyclopaedia aids in accessing and learning about patterns. The encyclopaedia includes detailed information about patterns and traceability. The pattern creation tool allows for the collaborative creation and review of patterns according to a defined creation workflow

    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

    Identification of Simulink model antipattern instances using model clone detection

    Full text link
    Abstract—One challenge facing the Model-Driven Engineering community is the need for model quality assurance. Specifically, there should be better facilities for analyzing models automat-ically. One measure of quality is the presence or absence of good and bad properties, such as patterns and antipatterns, respectively. We elaborate on and validate our earlier idea of detecting patterns in model-based systems using model clone detection by devising a Simulink antipattern instance detector. We chose Simulink because it is prevalent in industry, has mature model clone detection techniques, and interests our industrial partners. We demonstrate our technique using near-miss cross-clone detection to find instances of Simulink antipatterns derived from the literature in four sets of public Simulink projects. We present our detection results, highlight interesting examples, and discuss potential improvements to our approach. We hope this work provides a first step in helping practitioners improve Simulink model quality and further research in the area. I

    Formal specification of the variants and behavioural features of design patterns

    Get PDF
    The formal specification of design patterns is widely recognized as being vital to their effective and correct use in software development. It can clarify the concepts underlying patterns, eliminate ambiguity and thereby lay a solid foundation for tool support. This paper further advances a formal meta-modelling approach that uses first order predicate logic to specify design patterns. In particular, it specifies both structural and behavioural features of design patterns and systematically captures the variants in a well-structured format. The paper reports a case study involving the formal specification of all 23 patterns in the Gang of Four catalog. It demonstrates that the approach improves the accuracy of pattern specifications by covering variations and clarifying the ambiguous parts of informal descriptions

    A model transformation approach to perform refactoring on software architecture using refactoring patterns based on stakeholder requirements

    Get PDF
    Software Architecture (SA) generally has a considerable influence on software quality attributes. Coordination of software architecture to the requirements of the stakeholders and avoiding common mistakes and faults in designing SA increases the chance of success of the project and satisfaction of the stakeholders. Making the wrong decisions at the architectural design phase usually proves very costly later on. Refactoring is a method which helps in detecting and avoiding complications, improving the internal characteristics of software, while keeping the external behavior intact. Various problems can undermine the architecture refactoring process. The existence of different requirements in different domains, the diversity of architecture description languages, and the difficulty of describing refactoring patterns lead to the difficulty of performing automatic and semi-automatic refactoring on the SA. In this study, we use model transformation as a way to overcome the above mentioned difficulties. In this regard, the first step is converting the SA to a pivot-model. Then, based on the refactoring patterns, the refactoring process is performed on the pivotmodel. And finally, the pivot-model is converted back to the original (source) model. In this paper, the requirements of the stakeholders are taken into account in the refactoring process by modeling them as refactoring goals. These goals show the importance of the quality attributes in the project and the process of refactoring. The applicability of the framework is demonstrated using a case study
    corecore