Search citation statements
Paper Sections
Citation Types
Year Published
Publication Types
Relationship
Authors
Journals
Summary Design patterns solve recurring design problems. One of the best practices, to solve a whole problem in a specific context, is to apply patterns in the form of a collection of related patterns, ie, a pattern language (PL). However, with the rapid growth of the number of patterns and their interrelationships in PLs and because manual verification of the applied PLs is a tedious and error‐prone task, when designing in PL‐based fashion, there is a need for tool support to verify the applied PLs. In our previous work, aimed at automating the development process of PL verification tools, a PL formalism was presented. This paper, based on the presented formalism, describes a framework called Pattern Language Verifier Generator (PLVGen) that automatically generates a pattern language verifier (PLV) for any given PL assuming its constituent patterns are represented in the Unified Modeling Language (UML). Using a modelware approach, two metamodels named pattern language specification language (PLSL) and pattern specification language (PSL) are developed to model the given PL and its patterns, respectively. By getting the models of a PL and its patterns, PLVGen automatically generates an epsilon validation language (EVL) module representing the expected PLV. By launching PLV, the applied PL on a UML model will be verified. To evaluate the applicability of PLVGen in practice, we automatically generated three PLVs. The statistics regarding the generated PLVs, as case studies, illustrate the scalability of PLVGen. Compared with similar tools, the generated PLVs are more portable, transparent, and free of ambiguities.
Summary Design patterns solve recurring design problems. One of the best practices, to solve a whole problem in a specific context, is to apply patterns in the form of a collection of related patterns, ie, a pattern language (PL). However, with the rapid growth of the number of patterns and their interrelationships in PLs and because manual verification of the applied PLs is a tedious and error‐prone task, when designing in PL‐based fashion, there is a need for tool support to verify the applied PLs. In our previous work, aimed at automating the development process of PL verification tools, a PL formalism was presented. This paper, based on the presented formalism, describes a framework called Pattern Language Verifier Generator (PLVGen) that automatically generates a pattern language verifier (PLV) for any given PL assuming its constituent patterns are represented in the Unified Modeling Language (UML). Using a modelware approach, two metamodels named pattern language specification language (PLSL) and pattern specification language (PSL) are developed to model the given PL and its patterns, respectively. By getting the models of a PL and its patterns, PLVGen automatically generates an epsilon validation language (EVL) module representing the expected PLV. By launching PLV, the applied PL on a UML model will be verified. To evaluate the applicability of PLVGen in practice, we automatically generated three PLVs. The statistics regarding the generated PLVs, as case studies, illustrate the scalability of PLVGen. Compared with similar tools, the generated PLVs are more portable, transparent, and free of ambiguities.
Model transformation has become an established field, and it is important to improve the quality of specifications written in transformation languages. Different transformation patterns have been introduced in the model-driven engineering (MDE) community to improve the quality of transformation specifications. However, due to the different definitions of pattern concepts by different authors, it is difficult for practitioners to understand how to apply patterns in practice. Therefore, there is a need to unify transformation pattern concepts by presenting a generic metamodel and formalizing patterns in terms of this metamodel, to define the meaning of pattern application. In this research a general metamodel for definition of different design patterns in model transformation is provided. The metamodel presents clear description of common aspects of transformation patterns, which facilitates the application of patterns on model transformations by validating the application against the underlying formalism. Additionally, a unified and precise terminology for the application and verification of model transformation patterns by using a formal model of model transformation patterns in the Z notation is presented. To show the applicability of the proposed formalism, four well-known model transformation patterns are specified. K E Y W O R D S model-driven development (MDD), model transformation, design pattern, formal model 1 | INTRODUCTION Model transformations (MTs) have become more and more complex in recent years, as a result of their application to substantial problem cases in both academia and industry. Enhancing the quality of model transformations to provide a result in an efficient and modular way is a crucial task for the model-driven community. Design patterns for model transformations have been identified as an important solution to potentially improve the quality of model transformations. 1-3To obtain the benefit and utilize the productivity accompanied by the pattern application in MDE, model transformation patterns must first be formalized, which paves the way for automating the MT-based software development and verification. [3][4][5] Exploring the literature reveals some formal models for model transformations. [6][7][8] However, to the best of our knowledge, there is not any formalism for model transformation patterns in the literature. Having a unified formalism regarding model transformation patterns will provide a foundation to support the pattern application and verification features easily in the current model transformation tools. 9,10 As a result, this research aims to present a new formalism for defining model transformation patterns and expressing the semantics of pattern application.To provide a conceptual view which serves as the informal basics of the proposed formalism of the MT patterns, an abstract architecture representing the underlying concepts such as model and metamodel is presented first. In this research, we use the Z specification language to formalize the MT design patterns. In a...
Model‐Driven Development (MDD) is one of the important approaches to develop complex software systems. This approach tries to model a system in high‐abstraction level. Then through applying multiple transformations step by step, the model abstraction level is reduced and finally yields to executable code. As a result, Model transformation (MT) plays a pivotal role on the realization of MDD goals. Due to the increasing complexity of software systems, MTs naturally become more complex. Hence, qualitative technical issues may be overlooked or forgotten in these model transformations. To alleviate these issues in terms of technical debts/code smells in MTs, we can apply MT patterns. A main drawback on applying patterns is that most of them are cataloged in informal language. Additionally, construction of a conceptual framework to help MT designers through applying patterns requires a precise specification of the underlying MT patterns. With a formal basis, this paper is trying to realize the proposed framework. Hence, some of the existing well‐known MT patterns are formalized. Then based on the identified common technical debts/code smells in MTs, a designer can be directed to apply the appropriate patterns and resolve the detected problems iteratively. For the applicability and functionality of the proposed framework, several examples of problematic model transformations in terms of quality flaws were considered and resolved using the appropriate patterns. We consider the Epsilon Transformation Language (ETL) cases of model transformations in this paper, and other similar MT languages could be treated using the same measures and patterns as well.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.