In this paper, we propose and apply a model-driven approach to develop applications that compose a suite known as Energy Management System (EMS). EMS is an essential tool for the operation of ...electrical systems. Although models of cyber–physical phenomena are extensively used in planning, designing, and operating power systems, the development of EMS applications often uses such models only as support and documentation, while the main artifact throughout the software development process is source code. In other words, the models are used merely to document and communicate some aspects of a system. The evolution of such a system is expensive and error-prone, requiring specialized personnel, skilled in both software engineering and power systems. Some of the problems arising from this manual process include: (i) substantial implementation effort in interpreting models and manually translating them into programs; (ii) greater risk of introducing software defects; (iii) risk of leaving documentation outdated, or implementation inconsistent with the intended design. Model-Driven Engineering (MDE) is an approach to constructing computing systems in which models are used as primary engineering artifacts, while programs (and other products) are automatically generated from the models, thus addressing the above limitations. MDE approaches have been adopted in several industrial areas, including smart grid automation, in which specialized modeling languages and tools facilitate the production of executable software from high-level models. For SCADA/EMS software development, however, a dedicated approach is still absent. We address these issues by proposing D-SPADES: a Model-Driven Engineering approach tailored to the EMS domain. D-SPADES defines a domain-specific modeling language based on block diagram notation, called EMSML, specifically targeted to describe the behavior of EMS applications. It also defines the associated mapping strategies and harnesses a set of tools for automatically transforming models into source code of applications that can be integrated into existing SCADA platforms. We have applied D-SPADES to model and automatically generate source code for two different applications from the Itaipu power plant: a voltage and reactive power controller and a component for a system-wide special protection scheme. Both applications were validated using a power system simulator and performed satisfactorily. The special protection scheme was deployed to the production system. Hence we demonstrate that D-SPADES is a viable approach to developing mission-critical applications.
•A model-driven approach to SCADA/EMS software development.•Automatically transforms abstract models into software.•DSML allows power systems specialists to participate in the development process.•Automatically generate code virtually free of defects due to programming errors.•Software evolution does not require major manual rewriting of the application.
In this work, the authors analysed the co-dependency between models and analyses, particularly the structure and interdependence of artefacts and the feature-based decomposition and composition of ...model-based analyses. Their goal is to improve the maintainability of model-based analyses. They have investigated the co-dependency of Domain-specific Modelling Languages (DSMLs) and model-based analyses regarding evolvability, understandability, and reusability.
•A domain-specific modeling language, called DSML4DT, is introduced.•DSML4DT provides model-driven development of device trees (DT) for embedded systems.•DSML4DT was actively used in a company ...producing intelligent transportation systems.•Approximately 76 % of DTs were obtained automatically just by modeling with DSML4DT.•Use of DSML4DT reduced time elapsed for implementing DT software to half in the company.
Device trees (DTs) provide description of devices and peripherals inside an embedded system with node specifications. However, developers mostly encounter difficulties in creating DT applications due to DT syntax different from the well-known general purpose programming languages. Moreover, both development and configuration of DT software components regarding different microprocessor architectures can be very hard and time-consuming for many embedded system developers. In order to eliminate these difficulties, we introduce a domain-specific modeling language, called DSML4DT, which provides the model-driven development (MDD) of DT software for the wide range of processor families. The evaluation of using DSML4DT was performed inside a company producing intelligent transportation systems. The comparative evaluation results showed that approximately 76 % of DT structures can be obtained automatically only through modeling with DSML4DT. Comparing with the software development process currently followed in the company, the new MDD process reduced the time elapsed for implementing a DT software to half. Finally, feedbacks from the developers confirmed that they adopted the language particularly in terms of functional suitability, compatibility and reusability.
Through the use of Underwater Smart Sensor Networks (USSNs), Marine Observatories (MOs) provide continuous ocean monitoring. Deployed sensors may not perform as intended due to the heterogeneity of ...USSN devices' hardware and software when combined with the Internet. Hence, USSNs are regarded as complex distributed systems. As such, USSN designers will encounter challenges throughout the design phase related to time, complexity, sharing diverse domain experiences (viewpoints), and ensuring optimal performance for the deployed USSNs. Accordingly, during the USSN development and deployment phases, a few Underwater Environmental Constraints (UECs) should be taken into account. These constraints may include the salinity level and the operational depth of every physical component (sensor, server, etc.) that will be utilized throughout the duration of the USSN information systems' development and implementation. To this end, in this article we present how we integrated an Artificial Intelligence (AI) Database, an extended ArchiMO meta-model, and a design tool into our previously proposed Enterprise Architecture Framework. This addition proposes adding new Underwater Environmental Constraints (UECs) to the AI Database, which is accessed by USSN designers when they define models, with the goal of simplifying the USSN design activity. This serves as the basis for generating a new version of our ArchiMO design tool that includes the UECs. To illustrate our proposal, we use the newly generated ArchiMO to create a model in the MO domain. Furthermore, we use our self-developed domain-specific model compiler to produce the relevant simulation code. Throughout the design phase, our approach contributes to the handling and controling of the uncertainties and variances of the provided quality of service that may occur during the performance of the USSNs, as well as reducing the design activity's complexity and time. It provides a way to share the different viewpoints of the designers in the domain of USSNs.
Abstract The application of innovative technologies that foster smart production resources’ interconnectivity alongside the virtual space that facilities to support process simulation makes the ...technology factor become the center of Industry 4.0. The production process modeling and simulation can be used to facilitate flexibility and automation of a shop floor. In our previous research, we have created a Domain-Specific Modeling Language (DSML) named MultiProLan, aiming to create production process models suitable for the automatic generation of executable code that enables the automatic execution of production processes. As the next step, we have proposed research on a DSML language aimed at Industry 4.0 human worker modeling. Industry 4.0 still considers workers as a cost, while favoring technological aspects over the workers’ wellbeing. Industry 5.0 complements Industry 4.0, focusing on a human-centric approach that puts core human needs and interests at the top of production processes. Based on our research proposal, here we present a blueprint of the HResModLan DSML prototype aimed at the formal specification of a human worker within Industry 5.0. Presented abstract and concrete syntaxes of the language are tested on a case study of a furniture factory to demonstrate whether they are a good base for the further development of the HResModLan language.
Internet of Things (IoT)-based public transportation systems face distinct challenges within the broader realm of IoT. Developers of such systems encounter a notably intricate development environment ...compared to general IoT systems, which are inherently characterized by elevated levels of complexity and heterogeneity. As successfully applied in other domains, domain-specific modeling languages (DSMLs) can also be employed to facilitate the development of IoT-based public transportation systems and address the challenges mentioned. Hence, in this study, a novel model-driven engineering (MDE) methodology is presented, comprising the steps of using a DSML, called DSML4PT, for the development of a wide-range of IoT-based public transportation applications. Moreover, the usability evaluation of DSML4PT within this MDE methodology during the real applications of IoT-based public transportation systems is also provided, which is missing in similar studies. For this purpose, we investigated the usability of DSML4PT within a systematic evaluation approach in which the features of DSML4PT are assessed both quantitatively and qualitatively in eight different real public transportation applications with the participation of experienced developers. Comparative analysis revealed that approximately 80% of IoT-based public transportation systems could be automatically generated through modeling exclusively employing DSML4PT. In contrast to the conventional software development methodologies, the novel DSML4PT approach also decreased the time required for the development of public transportation applications by almost 50%. In addition, according to a questionnaire-based assessment, the general evaluation rating of the language was measured as 4.44 over 5-point Likert scale. Feedback from the developers corroborated the practicality of this language and its widespread adoption across diverse perspectives.
Nearly all facets of our everyday life strongly depend on software-intensive systems. Besides correctness, highly relevant quality properties of these systems include performance, as directly ...perceived by the user, and maintainability, as an important decision factor for evolution. These quality properties strongly depend on architectural design decisions. Hence, to ensure high quality, research and practice is interested in approaches to analyze the system architecture for quality properties. Therefore, models of the system architecture are created and used for analysis. Many different languages (often defined by metamodels) exist to model the systems and reason on their quality. Such languages are mostly specific to quality properties, tools or development paradigms. Unfortunately, the creation of a specific model for any quality property of interest and any different tool used is simply infeasible. Current metamodels for quality modeling and analysis are often not designed to be extensible and reusable. Experience from generalizing and extending metamodels result in hard to evolve and overly complex metamodels. A systematic way of creating, extending and reusing metamodels for quality modeling and analysis, or parts of them, does not exist yet. When comparing metamodels for different quality properties, however, substantial parts show quite similar language features. This leads to our approach to define the first reference architecture for metamodels for quality modeling and analysis. A reference architecture in software engineering provides a general architecture for a given application domain. In this paper, we investigate the applicability of modularization concepts from object-oriented design and the idea of a reference architecture to metamodels for quality modeling and analysis to systematically create, extend and reuse metamodel parts. Thus, the reference architecture allows to tailor metamodels. Requirements on the reference architecture are gathered from a historically grown metamodel. We specify modularization concepts as a foundation of the reference architecture. Detailed application guidelines are described. We argue the reference architecture supports instance compatibility and non-intrusive, independent extension of metamodels. In four case studies, we refactor historically grown metamodels and compare them to the original metamodels. The study results show the reference architecture significantly improves evolvability as well as need-specific use and reuse of metamodels.
Models are used in both Software Engineering (SE) and Artificial Intelligence (AI). SE models may specify the architecture at different levels of abstraction and for addressing different concerns at ...various stages of the software development life-cycle, from early conceptualization and design, to verification, implementation, testing and evolution. However, AI models may provide smart capabilities, such as prediction and decision-making support. For instance, in Machine Learning (ML), which is currently the most popular sub-discipline of AI, mathematical models may learn useful patterns in the observed data and can become capable of making predictions. The goal of this work is to create synergy by bringing models in the said communities together and proposing a holistic approach to model-driven software development for intelligent systems that require ML. We illustrate how software models can become capable of creating and dealing with ML models in a seamless manner. The main focus is on the domain of the Internet of Things (IoT), where both ML and model-driven SE play a key role. In the context of the need to take a Cyber-Physical System-of-Systems perspective of the targeted architecture, an integrated design environment for both SE and ML sub-systems would best support the optimization and overall efficiency of the implementation of the resulting system. In particular, we implement the proposed approach, called ML-Quadrat, based on ThingML, and validate it using a case study from the IoT domain, as well as through an empirical user evaluation. It transpires that the proposed approach is not only feasible, but may also contribute to the performance leap of software development for smart Cyber-Physical Systems (CPS) which are connected to the IoT, as well as an enhanced user experience of the practitioners who use the proposed modeling solution.
The paper presents a method for multi- perspective enterprise modeling (MEMO) and a corresponding (meta-) modeling environment. An extensive analysis of requirements for enterprise modeling serves to ...motivate and assess the method. The method is based on an elaborate conception of multi-perspective enterprise models and on an extensible language architecture. The language architecture is comprised of a meta modeling language and an extensible set of integrated domain-specific modeling languages (DSML). The DSML are supplemented with process models and with guidelines for their reflective use. The corresponding modeling environment integrates editors for various DSML into multi-language model editors. It includes a meta model editor which enables the convenient use, development and extension of the set of supported DSML and supports the generation of respective graphical model editors. Thus, it also serves as a foundation for method engineering. MEMO covers both software engineering as well as social, managerial and economic aspects of the firm. The presentation of MEMO is supplemented with a comparative overview of other approaches to enterprise modeling. The paper concludes bys summarizing fundamental technical, epistemological and political challenges for enterprise modeling research and discusses potential paths for future research.
Although numerous methods for handling the technical aspects of developing domain-specific modeling languages (DSMLs) have been formalized, user needs and usability aspects are often addressed late ...in the development process and in an ad hoc manner. To this concern, this paper presents the development of the customer journey modeling language (CJML), a DSML for modeling service processes from the end-user’s perspective. Because CJML targets a wide and heterogeneous group of users, its usability can be challenging to plan and assess. This paper describes how an industry-relevant DSML was systematically improved by using a variety of user-centered design techniques in close collaboration with the target group, whose feedback was used to refine and evolve the syntax and semantics of CJML. We also suggest how a service-providing organization may benefit from adopting CJML as a unifying language for documentation purposes, compliance analysis, and service innovation. Finally, we distill what we learned into general lessons and methodological guidelines.