Abstract:Software modelling is to represent software systems at a high level of abstraction in the form of models, which are often in graphic or formal notations and sometimes a combination of them. In a model, the implementation details are omitted or hidden in order to facilitate both human comprehension and communication and automated reasoning about the system. A large number of modelling languages and/or notations have been proposed in the past decades as a core part of software development methodologies, such as data ow diagrams in the structured analysis and design, UML in object-oriented development, and Petri-net, nite state machine, and statechart etc. in formal methods. With the rapid development of model-driven software development methodology, modelling plays an increasingly important role in software development. Meta-modelling, which models software models, has emerged as one of the key techniques that formalise the de nitions of modelling languages and the speci cation of various processes and transformations of models. It has been an active research topic in the past a few years. This journal special issue aims at reflecting the current frontier in the research on the scienti c and technological principles of software modelling and meta-modelling, and further promoting the research and practices. An open call for papers and some personal invitations were made in the consolidation of submissions to this special issue. A total of 11 submissions were received. The papers included in this special issue are selected based on the reviews by experts in the subject area according to the journal's procedure and quality standard. Each paper is reviewed by at least two reviewers and some of the papers were revised for two rounds according to the reviewers' comments. ....
Abstract:In recent years, many metamodels have been introduced in the software engineering literature and standards. These metamodels vary in their focus across, for example, process, product, organizational and measurement aspects of software development and have typically been developed independently of each other with shared concepts being only accidental. There is thus an increasing concern in the standards communities that possible conflicts of structure and semantics between these various metamodels will hinder their widespread adoption. The complexity of these metamodels has also increased significantly and is another barrier in their appreciation. This complexity is compounded when more than one metamodel is used in the lifecycle of a software project. Therefore there is a need to have interoperable metamodels. As a first step towards engendering interoperability and/or possible mergers between metamodels, we examine the size and complexity of various meta-models. To do this, we have used the Rossi and Brinkkemper metrics-based approach to evaluate the size and complexity of several standard metamodels including UML 2.3, BPMN 2.0, ODM, SMM and OSM. The size and complexity of these metamodels is also compared with the previous version of UML, BPMN and Activity diagrams. The comparatively large sizes of BPMN 2.0 and UML 2.3 suggest that future integration with these metamodels might be more di±cult than with the other metamodels under study (especially ODM, SSM and OSM).
Abstract:Several model-driven development (MDD) techniques for web applications exist; these techniques use meta-models for defining transformations and designing models. In this paper, we propose a meta-model for abstract web applications that can be mapped to multiple platforms. We extend a UML-based model to support specific features of the Web and Web 2.0 as well as to establish a bridge to functional and usability requirements through use cases and user interface (UI) prototypes. The meta-model also helps avoid a common MDD-related problem caused by name-based dependencies. Finally, mappings to a number of specific web platforms are presented in order to validate the appropriateness of the meta-model as an abstract web model.
Abstract:UML is defined through metamodelling in a four-layer metamodel hierarchy, where metamodels and meta-metamodels are also presented in the form of UML class diagrams. However, the meanings of models and metamodels as well as the basic concepts involved in modelling and metamodelling are not precisely defined in the OMG documentations. In the past few years, a large amount of research efforts on the formalisation of UML semantics has been reported in the literature, but how to formalise the metamodel hierarchy still remains an open problem. This paper presents a framework of unified formal semantics of the metamodel hierarchy. It is based on our previous work on the formal semantics of UML, in which we proposed the notions of descriptive semantics and functional semantics as two separate aspects of UML semantics. The former describes the structure of a model's instances, and the latter characterises the functional and behavioural properties of its instances. This paper further develops this approach by generalising it to metamodels and meta-metamodels. We prove that the semantics of models, metamodels and meta-metamodels can be defined in a unified way. The basic concepts involved in the metamodel hierarchy, such as subject domain and instance-of relation, can also be precisely defined based on the unified semantics framework.
Abstract:In software engineering, new technologies and methodologies have been developed with the aim of simplifying the software development process and improving software productivity. Model-driven engineering is considered as one potential alternative to the classical code-based approach to software development. A current challenge in model-driven engineering is the model evolution problem, which is focused on maintaining the relationships among modeling artifacts in the presence of change. A variety of model-driven technologies have been widely researched and applied both in academia and industry to address the model evolution problem. Reverse engineering technologies have been applied in many areas including software engineering to address issues of software evolution. This paper describes one application of reverse engineering, using an approach that uses Metamodel Inference from Models (MIM) to address a specific aspect of the model co-evolution problem related to metamodel evolution. In order to illustrate the problem clearly, a set of examples are used to present our experimental results from applying MIM on diverse industry-focused domains.
Abstract:Model transformations have become a key element of model-driven software development, being used to transform platform-independent models to platform-specific models, to improve model quality, to introduce design patterns and refactorings, and to map models from one language to another. A large number of model transformation notations and tools exist. However, there are no guidelines on how to select appropriate notations for particular model transformation tasks, and no comprehensive comparisons of the relative merits of particular approaches. In this paper we provide a unified semantic treatment of model transformations, and show how correctness properties of model transformations can be defined using this semantics. We evaluate several approaches which have been developed for model transformation specification, with respect to their expressivity, complexity and support for verification, and make recommendations for resolving the outstanding problems concerning model transformation specification.
Abstract:Software security is becoming an important concern as software applications are increasingly depending on the Internet, an untrustworthy computing environment. Vulnerabilities due to design errors, inconsistencies, incompleteness, and missing constraints in software design can be wrongly exploited by security attacks. Software functionality and security, however, are often handled separately in the development process. Software is designed with the mindset of its functionalities and cost, where the focus is mainly on the operational behavior. Security concerns, on the other hand, are often described in an imprecise way and open to subjective interpretations. This paper presents a threat driven approach that improves on the quality of software through the realization of a more secure model. The approach introduces systematic transformation rules and integration steps for integrating attack tree representations into statechart-based functional models. Through the focus on the behavior of an attack from the perspective of the system behavior, software engineers can clearly define and understand security concerns as software is designed. Security analysis and threat identification are then applied to the integrated model in order to identify and mitigate vulnerabilities at the design level.
Abstract:Emergency management is a process by which all individuals, groups, and communities manage hazards in an effort to avoid or ameliorate the impact of disasters resulting from the hazards. Emergency response workflow is dynamic because there are lots of uncertainties with the course of hazard development and rescue effort. Existing dynamic workflow modeling technologies are not su±cient to describe the complex emergency response processes which are context aware and data-driven. In this paper, we propose an intelligent agent based approach to supporting the emergency response process management. The approach integrates BDI (Belief-Desire-Intention) agents with WIFA workflow model, which was developed in our previous work, to a powerful tool for truly dynamic workflow modeling and enactment. A BDI agent is an intelligent agent. Beliefs represent the informational state of the agent - in other words its beliefs about the world. Desires (or goals) represent the motivational state of the agent. They represent objectives or situations that the agent would like to accomplish or bring about. Intentions represent the deliberative state of the agent: what the agent has chosen to do. Intentions are desires to which the agent has to some extent committed. Workflows represent sequences of actions that an agent can perform to achieve one or more of its intentions. Based on this approach, we developed an emergency response training tool which is customizable for individual organization use and scalable to incident response settings from rural to urban domestically and foreign outposts for military applications, and can operate at a holistic exercise level.
Abstract:The Profile for the Modeling and Analysis of Real-Time Embedded Systems (MARTE) provides an extended sequence diagram with time properties (SDT). This kind of diagram is frequently used in the preliminary developing phase of the embedded real time systems (ERTS), however, it is not easy to verify the system it has described because few tools can check it directly. This is mainly due to its semi-formal style and its abstract mode in describing the behaviors of the corresponding system. The formal definition of the SDT is firstly introduced, and an extended model named timed transition system for SDT (TTS4SDT) is advanced for describing its formal semantics. By model transformation techniques, the SDT is transformed to the intermediate model--TTS4SDT, and the transforming methods are divided into two categories: when the SDT doesn't equip with nesting structures and when it does. Two examples (one is without nesting structure and another is with) are offered to demonstrate the transforming process. Then based on the TTS4SDT, the sequence diagram is analyzed in a rigid way to eliminate the mistakes arising from the designing stage.