English
Using domain-specific modeling languages to capture business processes can greatly enhance quality and efficiency of process modeling, because language and models are more expressive, concise and easy to understand. The development of domain-specific languages (DSLs) with accompanying tools and transformations is, however, a complex, time-consuming, and costly task. An efficient and simple approach to creating process modeling languages (PMLs) for specific business domains by reusing common parts is needed, where each resulting language is still optimally adjusted to its domain. For each of these languages, the abstract and concrete syntax have to be defined as well as transformations to more general languages. This paper presents DSLs4BPM, a generic framework for PMLs, which employs DSL modularization concepts to allow the derivation of domain-specific PMLs. The framework provides elements common to process modeling and a basic transformation to the generic Business Process Model and Notation 2.0. DSLs are created by adding own types to the framework language and own rules to the transformation at predefined extension points. The approach has been implemented based on the Eclipse Modeling Framework.
- Book Chapter
13
- 10.1007/978-3-319-59144-5_3
- Jan 1, 2017
Domain-specific process modelling has gained increased attention, since traditional modelling languages struggle to meet the demands of highly specialized businesses. However, methodological support on the development of such domain-specific languages is still scarce, which hampers the specification of adequate modelling support. To this end, the paper applies a design-oriented research approach to create an integrated framework that facilitates the development of domain-specific process modeling languages. The framework is a result of 23 consolidated requirements from relevant literature and contains essential building blocks that need to be considered during the development process. It is demonstrated that the framework satisfies the identified requirements by structuring and systematizing the development of domain-specific languages, which increases language adequacy and quality.
- Conference Article
4
- 10.1109/iceei.2011.6021604
- Jul 1, 2011
Application Generator (AG) can help save time of software development. Some AG has its own DSL (Domain Specific Language) to direct the generated application outcome. In this research, we developed a DSL using the syntax notation text with simple structure that can assist AG in the process of generating source code for desktop-based database application using Java. DSL development is applying the methodology of DSL development from Czarnecki. The development for AG involves three areas of knowledge, i.e. domain engineering, DSL, and AG (compiler). Domain engineering is required to understand the target application domain to be generated, i.e. MySQL database and Java programming language with Swing UI. The DSL is developed in five phases, i.e. decision-making, analysis, design, implementation, and development. The AG itself is developed in Java platform. The DSL and AG developed in this research has shown that the DSL can help programmer to develop Java desktop-based database applications by utilizing DSL to map MySQL database into Java Swing UI, and employ AG to generate applications directly from DSL source. It is expected that further development of this research is to support more flexible application development.
- Research Article
28
- 10.1016/j.cl.2018.05.004
- May 31, 2018
- Computer Languages, Systems & Structures
Concern-oriented language development (COLD): Fostering reuse in language engineering
- Book Chapter
1
- 10.1007/978-3-642-14819-4_9
- Jan 1, 2010
Business process modelling becomes more productive when modellers can use process modelling languages which optimally fit to the application domain. This requires the proliferation and management of domain specific modelling languages and modelling tools. In this paper we address the issue of providing domain specific languages in a systematic and structural way without having to implement modelling tools for each domain specific language separately. Our approach is based on a two dimensional meta modelling stack.KeywordsObject Constraint LanguageModelling ConstructBusiness Process ManagementMeta ModelBusiness Process ModellingThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
- Book Chapter
11
- 10.1007/978-0-387-09697-1_12
- Jul 21, 2008
Processes are very important for the success within many business fields. They define the proper application of methods, technologies, tools and company structures in order to reach business goals. Important processes to be defined are manufacturing processes or product development processes for example to guarantee the company’s success. Over the last decades many process modeling languages have been developed to cover the needs of process modeling. Those modeling languages have several limitations, mainly they are still procedural and didn’t follow the paradigm change to object oriented modeling and thus often lead to process models, which are difficult to maintain. In previous papers we have introduced PML, Process Modeling Language, and shown it’s usage in process modeling. PML is derived from UML and hence fully object oriented and uses modern modeling techniques. It is based on process class diagrams that describe methods and resources for process modeling. In this paper the modeling language is described in more detail and new language elements will be introduced to develop the language to a generic usable process modeling language.
- Supplementary Content
3
- 10.17185/duepublico/47075
- Dec 1, 2010
- DuEPublico (University of Duisburg-Essen)
In recent years, the development of domain-specific modelling languages has gained remarkable attention. This is for good reasons: A domain-specific modelling language incorporates concepts that represent domain-level knowledge. Hence, systems analysts are not forced to reconstruct these concepts from scratch. At the same time, domain-specific modelling languages contribute to model integrity, because they include already constraints that would otherwise have to be added manually. Even though there has been a considerable amount of research on developing and using domain-specific modelling languages, there is still lack of comprehensive methods to guide the design of these languages. With respect to the complexity and risk related to developing a domain-specific modelling language, this is a serious shortfall. This research report is aimed at a contribution to filling the gap. It presents the prolegomena of a method for developing domain-specific modelling languages, which is based on the experience gathered in several language specification projects. The method consists of two main parts: a meta modelling language and a process model. The MEMO meta modelling language (MEMO MML) is specified in a further report. Therefore, its description is restricted to a brief overview. Instead, the main focus of this report is on the process model, which describes essential steps to be accounted for during the development of a domain-specific modelling language. It includes heuristics to develop requirements and meta modelling guidelines that support frequent design decisions. The description of the method is complemented by examples which are mainly taken from the design of the MEMO Organisation Modelling Language.
- Research Article
204
- 10.1007/s10009-010-0142-1
- Mar 9, 2010
- International Journal on Software Tools for Technology Transfer
Domain specific languages (DSLs) are increasingly used today. Coping with complex language definitions, evolving them in a structured way, and ensuring their error freeness are the main challenges of DSL design and implementation. The use of modular language definitions and composition operators are therefore inevitable in the independent development of language components. In this article, we discuss these arising issues by describing a framework for the compositional development of textual DSLs and their supporting tools. We use a redundance-free definition of a readable concrete syntax and a comprehensible abstract syntax as both representations significantly overlap in their structure. For enhancing the usability of the abstract syntax, we added concepts like associations and inheritance to a grammar-based definition in order to build up arbitrary graphs (as known from metamodeling). Two modularity concepts, grammar inheritance and embedding, are discussed. They permit compositional language definition and thus simplify the extension of languages based on already existing ones. We demonstrate that compositional engineering of new languages is a useful concept when project-individual DSLs with appropriate tool support are defined.
- Conference Article
7
- 10.1109/hicss.2001.927266
- Jan 3, 2001
Domain-specific languages [1, 2, 3] are programming languages for solving problems in a particular domain and provide built-in abstractions and notations for that domain. Domain-specific languages are usually small, more declarative than imperative, less expressive and more attractive than general-purpose languages because of easier programming, systematic reuse, better productivity, reliability, maintainability, and flexibility. However, the benefits of domain-specific languages are not for free. The cost of domain-specific language design, development and maintenance has to be taken into account. Without an appropriate methodology and tools, these costs can be higher than savings obtained by the later use of domain-specific languages. Advantages of the formal definitions of general-purpose languages should be exploited, taking into consideration the special nature of domain-specific languages. To be productive, the development of these languages has to be based on high-level automated tools [4].The purpose of this mini-track is to bring together an international audience of researchers and practitioners actively involved in the development of domain-specific languages that support the software engineering process. It covers a wide range of domain-specific languages applied in different software engineering problems. Some topics of interest for this mini-track are: design and implementation of domain-specific languages, use of domain-specific languages in the software engineering process, the role of domain-specific languages in software engineering, tools, environments, and techniques needed to support domain-specific languages.In ?A language for Software Subsystem Composition? by Jim Buffenbarger and Kirk Gruell, a domain-specific language for specifying the composition and construction of a software system is described. The authors clearly show how to design and implement a domain-specific language and what are the benefits of its usage.Next, Walter A. Risi, Pablo E. Martinez Lopez and Daniel H. Marcos in ?HyCom: A Domain-Specific Language for Hypermedia Application Development? describe a domain-specific language for hypermedia applications. Hypermedia applications are now in growing interests and the paper shows how the design and implementation of such applications benefit if a domain-specific language is used to specify the design. An automatic application generator finally obtains a hypermedia application.Finally, Peter Pfahler and Uwe Kastens in ?Configuring component-based specifications for domain-specific languages? describe the development of domain-specific languages using domain-specific components, which consist of the implementation part (specifications to compiler generator) and the interface part (specifications of dependencies between components). The domain-specific language is then described as a composition of domain-specific components. Since domain-specific components can be configurable, a whole family of domain-specific languages can be built. Using the Jacob tool, a domain expert can build a particular domain-specific language by selection. The approach is interesting and differs from other domain-specific language development approaches.
- Conference Article
7
- 10.1109/hicss.2002.994484
- Aug 25, 2005
Domain-specific languages [1, 2, 3] are programming languages for solving problems in a particular domain and provide built-in abstractions and notations for that domain. Domain-specific languages are usually small, more declarative than imperative, less expressive and more attractive than general-purpose languages because of easier programming, systematic reuse, better productivity, reliability, maintainability, and flexibility. However, the benefits of domain-specific languages are not for free. The cost of domain-specific language design, development and maintenance has to be taken into account. Without an appropriate methodology and tools, these costs can be higher than savings obtained by the later use of domain-specific languages. Advantages of the formal definitions of general-purpose languages should be exploited, taking into consideration the special nature of domain-specific languages. To be productive, the development of these languages has to be based on high-level automated tools [4].The purpose of this mini-track is to bring together an international audience of researchers and practitioners actively involved in the development of domain-specific languages that support the software engineering process. It covers a wide range of domain-specific languages applied in different software engineering problems. Some topics of interest for this mini-track are: design and implementation of domain-specific languages, use of domain-specific languages in the software engineering process, the role of domain-specific languages in software engineering, tools, environments, and techniques needed to support domain-specific languages.In ?A language for Software Subsystem Composition? by Jim Buffenbarger and Kirk Gruell, a domain-specific language for specifying the composition and construction of a software system is described. The authors clearly show how to design and implement a domain-specific language and what are the benefits of its usage.Next, Walter A. Risi, Pablo E. Martinez Lopez and Daniel H. Marcos in ?HyCom: A Domain-Specific Language for Hypermedia Application Development? describe a domain-specific language for hypermedia applications. Hypermedia applications are now in growing interests and the paper shows how the design and implementation of such applications benefit if a domain-specific language is used to specify the design. An automatic application generator finally obtains a hypermedia application.Finally, Peter Pfahler and Uwe Kastens in ?Configuring component-based specifications for domain-specific languages? describe the development of domain-specific languages using domain-specific components, which consist of the implementation part (specifications to compiler generator) and the interface part (specifications of dependencies between components). The domain-specific language is then described as a composition of domain-specific components. Since domain-specific components can be configurable, a whole family of domain-specific languages can be built. Using the Jacob tool, a domain expert can build a particular domain-specific language by selection. The approach is interesting and differs from other domain-specific language development approaches.
- Single Book
64
- 10.1007/978-3-319-42512-2
- Jan 1, 2016
This book covers the whole spectrum of modeling goals to achieve optimal quality in the process model developed. It focuses on how to balance quality considerations across all semiotic levels when models are used for different purposes, and is based on SEQUAL, a framework for understanding the quality of models and modeling languages, which can take into account all main aspects relating to the quality of models.Chapter 1 focuses on the theoretical foundations, introducing readers to the topics of business processes and business process modeling, as well as the most important concept underlying the modeling of business processes. In turn, Chapter 2 addresses the quality of models in general and business process models in particular. Chapter 3 contains a specialization of SEQUAL for quality of business process models. In Chapter 4, examples of the practical uses of business process models are provided, together with the results of detailed case studies on how to achieve and maintain quality in business process models. Chapter 5 presents a process modeling value framework that demonstrates how to achieve more long-term and higher return on investment with regard to (business) process and enterprise models. Lastly, Chapter 6 reviews the main points of the book and discusses the potential for business process modeling in the future through its combination with other types of modeling.The book has two intended audiences. It is primarily intended for computer science, software engineering and information system students at the postgraduate level who want to know more about business process modeling and the quality of models in preparation for professional practice. The second audience consists of professionals with extensive experience in and responsibilities related to the development and evolution of process-oriented information systems and information systems methodologies in general, who need to formalize and structure their practical experience or update their knowledge as a way to improve their professional activity. The book also includes a number of real-world case studies that make it easier to grasp the main theoretical concepts, helping readers apply the approaches described.
- Research Article
173
- 10.1016/j.is.2009.02.006
- Mar 12, 2009
- Information Systems
Modeling languages for business processes and business rules: A representational analysis
- Conference Article
14
- 10.1109/compsac.2008.58
- Jan 1, 2008
Process Management has become an acknowledged technology for application integration. However, different applications leverage from different process modeling capabilities. Thus, domain specific process management becomes more and more relevant. In this paper we present our solution for an abstract process modeling method and language based on an extensible meta modeling framework which has two main advantages compared to standard MDA tools. First, we can easily implement modeling patterns (here: powertypes and type/usage concept). Second, we can use more than two meta layers which results in a more clear structure and in higher flexibility (here a separation between general process modeling principles and domain specific languages that can better express domain specific semantics).
- Research Article
1729
- 10.1145/1118890.1118892
- Dec 1, 2005
- ACM Computing Surveys
Domain-specific languages (DSLs) are languages tailored to a specific application domain. They offer substantial gains in expressiveness and ease of use compared with general-purpose programming languages in their domain of application. DSL development is hard, requiring both domain knowledge and language development expertise. Few people have both. Not surprisingly, the decision to develop a DSL is often postponed indefinitely, if considered at all, and most DSLs never get beyond the application library stage.Although many articles have been written on the development of particular DSLs, there is very limited literature on DSL development methodologies and many questions remain regarding when and how to develop a DSL. To aid the DSL developer, we identify patterns in the decision, analysis, design, and implementation phases of DSL development. Our patterns improve and extend earlier work on DSL design patterns. We also discuss domain analysis tools and language development systems that may help to speed up DSL development. Finally, we present a number of open problems.
- Conference Article
14
- 10.1109/iccoins.2014.6868825
- Jun 1, 2014
The new approach to development of Domain Specific Languages (DSL) for solving tasks of Systems Engineering (SE) is proposed. A DSL alphabet is defined on the base of an ontology of the SE domain as the set of its typical concepts. A DSL grammar on the base of Finite State Machine (FSM) formalism is defined, which allows to link the SE ontology with the different SE processes (specification of requirements, work planning, development, validation, standardisation etc.). A DSL is mapped with the set of mathematical methods, which allows to solve arising in the SE domains tasks. The approach on the sample of development of the DSL for specification of requirements is illustrated.
- Conference Article
23
- 10.1145/3365438.3410934
- Oct 16, 2020
Many engineering domains started using generic modeling languages, such as SysML, to describe or prescribe the systems under development. This raises a gap between the generic modeling languages and the domains of experience of the engineers using these. Engineering truly domain-specific languages (DSLs) for experts of these domains still is too challenging for their wide-spread adoption. One major obstacle, the inability to reuse multi-dimensional (encapsulating constituents of syntax and semantics) language components in a black-box fashion, prevents the effective engineering of novel DSLs. To facilitate engineering DSLs, we devised a concept of 3D components for textual, external, and translational DSLs that relies on systematic reuse through systematic closed and open variability in which DSL syntaxes can be embedded, well-formedness rules joined, and code generators integrated in a black-box fashion. We present this concept, a method for its systematic application, an integrated collection of modeling languages supporting systematic language reuse, and an extensible framework that leverages these languages to derive novel DSLs from language product lines. These can greatly mitigate many of the challenges in DSL reuse and, hence, can advance the engineering of truly domain-specific modeling languages.