Advances in Systems Analysis, Software Engineering, and High Performance Computing - Advances and Applications in Model-Driven Engineering
Latest Publications


TOTAL DOCUMENTS

16
(FIVE YEARS 0)

H-INDEX

2
(FIVE YEARS 0)

Published By IGI Global

9781466644946, 9781466644953

Author(s):  
Megan Peck ◽  
Perry Alexander

The Rosetta specification language aims to enable system designers to abstractly design complex heterogeneous systems. To this end, Rosetta allows for compositional design to facilitate modularity, separation of concerns, and specification reuse. The behavior of Rosetta components and facets can be viewed as systems, which are well suited for coalgebraic denotation. The previous semantics of Rosetta lacked detail in the denotational work, and had no firm semantic basis for the composition operators. This thesis refreshes previous work on the coalgebraic denotation of Rosetta. It then goes on to define the denotation of the composition operators. Several Rosetta examples using all types of composition serve as a demonstration of the power of composition as well as the clean modular abstraction it affords the designer.


Author(s):  
Tong-Ying Yu

How to bridge the gap between business and Information Technology (IT) has always been a critical issue for both the developers and IT managers. The individualized, differentiated demands by different customers and situations, the constantly changing in both business and IT are great challenges to the applications for enterprises. In this chapter, the authors respectively discuss the left side (computer) in software engineering, with Object-Orientation (OO), Model-Driven Engineering (MDE), Domain-Driven Development (DDD), Agile, etc., and the right side (the business) in Enterprise Engineering (EE) with Enterprise Modeling (EM), and Enterprise Architecture (EA) of the gap. It is shown there are some fundamental problems, such as the transforming barrier between analysis and design model, the entanglement of business change and development process, and the limitation to the enterprise engineering approaches such as EA by IT. Our solution is concentrated on the middle, the inevitable model as a mediator between human, computer, and the real world. The authors introduce Model-Driven Application (MDApp), which is based on Model-Driven Mechanism (MDM), operated on the evolutionary model of the target thing at runtime; it is able to largely avoid the transforming barrier and remove the entanglement. Thus, the architecture for Enterprise Model Driven Application (EMDA) is emerged, which is able to strongly support EE and adapts to the business changing at runtime.


Author(s):  
David Chassels

Solving the business “software problem” of inflexibility with poor user experience was at the heart of the original R&D that started over 20 years ago. Any solution had to acknowledge how people work and most importantly remove the interpretation gap between users and “IT,” thus removing the need for programmers in the build process. It was quickly recognised that in reality business logic does not really change, and it was therefore important to separate from the ever-changing technologies, such as operating systems and browsers, to “deliver.” After 20+ years of research and development and working with early adopters, this approach has achieved the objectives set. As is explained, generic task objects and the important links were built and displayed in a Graphical Model where the building of custom applications takes place with no change to the core code and no code generation or compiling. This approach has opened a new perspective on capability in software yet does it by adopting simplicity in the core design. Indeed the driving philosophy for all development was to produce enabling technology that was business friendly, simple to use, and generic in application.


Author(s):  
Iwona Dubielewicz ◽  
Bogumila Hnatkowska ◽  
Zbigniew Huzar ◽  
Lech Tuzinkiewicz

Agile methodologies have become very popular. They are defined in terms of best practices, which aim at developing good quality software faster and cheaper. Unfortunately, agile methodologies do not refer explicitly to quality assurance, which is understood as a planned set of activities performed to provide adequate confidence that a product conforms to established requirements, and which is performed to evaluate the process by which products are developed. The chapter considers the relations of agile practices with software life cycle processes, especially those connected to quality assurance, and tries to answer the question of which agile practices ensure software quality. Next, agile practices associated with quality assurance are assessed from different perspectives and some recommendations for their usage are given. It is observed that modeling has a particular impact on quality assurance.


Author(s):  
Cristian González García ◽  
Jordán Pascual Espada

There has been a rise in the quantity of Smart Things present in our daily life: Smartphones, smart TVs, sensor networks, smart appliances, and many other home and industry automation devices. The disadvantage is that each one is similar but very different from the others because they use different kinds of connections, different protocols, different hardware, and different operative systems; even if they belong to a similar kind, and depending on the manufacturer, two Smartphones or two humidity sensors can be totally different. In spite of this, they all have something in common: All can be connected to Internet. This fact is what gives power to objects, because it allows them to interact with each other and with the environment by intercommunication, a joint and synchronized work. That is why the key resides in creating connections among different objects. This requires technical and qualified personal, although the majority of people who use it do not meet these conditions. These people require objects that are easy to interact with and with as many automations as possible.


Author(s):  
Chris Thompson ◽  
Jules White ◽  
Douglas C. Schmidt

Smartphones are mobile devices that travel with their owners and provide increasingly powerful services. The software implementing these services must conserve battery power since smartphones may operate for days without being recharged. It is hard, however, to design smartphone software that minimizes power consumption. For example, multiple layers of abstractions and middleware sit between an application and the hardware, which make it hard to predict the power consumption of a potential application design accurately. Application developers must therefore wait until after implementation (when changes are more expensive) to determine the power consumption characteristics of a design. This chapter provides three contributions to the study of applying model-driven engineering to analyze power consumption early in the lifecycle of smartphone applications. First, it presents a model-driven methodology for accurately emulating the power consumption of smartphone application architectures. Second, it describes the System Power Optimization Tool (SPOT), which is a model-driven tool that automates power consumption emulation code generation and simplifies analysis. Third, it empirically demonstrates how SPOT can estimate power consumption to within ~3-4% of actual power consumption for representative smartphone applications.


Author(s):  
P. G. Sapna ◽  
Hrushikesha Mohanty ◽  
Arunkumar Balakrishnan

The increasing use of software is giving rise to the development of highly complex software systems. Further, software systems are required to be of high quality as a defect can have catastrophic effect on business as well as human life. Testing is defined as the process of executing a program with the intention of finding errors. Software testing is an expensive process of the software development life cycle consuming nearly 50% of development cost. Software testing aims not only to guarantee consistency in software specification but also to validate its implementation meeting user requirements. On the whole, it is observed that in general, errors in software systems set in at the early stages of the software development cycle (i.e. while gathering user requirements and deciding on specification of intended software). Even though formal specification in B and Z assures a provable system, its use has become less popular due to mathematical rigor. The Unified Modeling Language (UML), a semi-formal language with graphical notations consisting of various diagrams has caught software developers’ imaginations and, it has become popular in industry. UML, with its several diagrams, helps to develop a model of intended software, and the model behaviour is simulated and tested to the satisfaction of both developer as well as users. As a UML model includes specifications of different aspects of a software system through several diagrams, it is essential to maintain consistency among diagrams so that quality of the model is maintained, and through inconsistency checking and removal, the model moves toward completeness. The works reported in literature on this topic are reviewed here.


Author(s):  
Moez Essaidi ◽  
Aomar Osmani ◽  
Céline Rouveirol

Transformation design is a key step in model-driven engineering, and it is a very challenging task, particularly in context of the model-driven data warehouse. Currently, this process is ensured by human experts. The authors propose a new methodology using machine learning techniques to automatically derive these transformation rules. The main goal is to automatically derive the transformation rules to be applied in the model-driven data warehouse process. The proposed solution allows for a simple design of the decision support systems and the reduction of time and costs of development. The authors use the inductive logic programming framework to learn these transformation rules from examples of previous projects. Then, they find that in model-driven data warehouse application, dependencies exist between transformations. Therefore, the authors investigate a new machine learning methodology, learning dependent-concepts, that is suitable to solve this kind of problem. The experimental evaluation shows that the dependent-concept learning approach gives significantly better results.


Author(s):  
Claudia Pereira ◽  
Liliana Favre ◽  
Liliana Martinez

Model-Driven Development (MDD) is an initiative proposed by the Object Management Group (OMG) to model centric software development. It is based on the concepts of models, metamodels, and automatic transformations. Models and metamodels are in constant evolution. Metamodel evolution may cause conforming models to become invalid. Therefore, models must be migrated to maintain conformance to their metamodels. Metamodel evolution and model migration are typically performed manually, which is an error-prone task. In light of this, the authors propose a framework for metamodel evolution and model migration that combine an operator-based approach with refactoring and specification matching techniques. They combine classical metamodeling techniques with formal specifications to reason about transformations, metamodels, and their evolution. The authors describe foundations for MDA-based metamodel evolution that allow extending the functionality of the existing CASE tools in order to improve the MDA-based process quality.


Author(s):  
István Dávid ◽  
László Gönczy

This chapter introduces a novel approach for design of Domain-Specific Languages (DSL). It is very common in practice that the same problems emerge in different application domains (e.g. the modeling support for complex event processing is desirable in the domain of algorithmic trading, IT security assessment, robust monitoring, etc.). A DSL operates in one single domain, but the above-mentioned cross-domain challenges raise the question: is it possible to automate the design of DSLs which are so closely related? This approach demonstrates how a family of domain-specific languages can be developed for multiple domains from a single generic language metamodel with generative techniques. The basic idea is to refine the targeted domain with separating the problem domain from the context domain. This allows designing a generic language based on the problem and customizing it with the appropriate extensions for arbitrary contexts, thus defining as many DSLs and as many contexts as one extends the generic language for. The authors also present an ontology-based approach for establishing context-specific domain knowledge bases. The results are discussed through a case study, where a language for event processing is designed and extended for multiple context domains.


Sign in / Sign up

Export Citation Format

Share Document