The motivation behind model-driven software development is to move the focus of work from programming to solution modeling. The model-driven approach has a potential to increase development productivity and quality by describing important aspects of a solution with more human-friendly abstractions and by generating common application fragments with templates. For this vision to become reality, software development tools need to automate the many tasks of model construction and transformation, including construction and transformation of models that can be round-trip engineered into code. In this article, we briefly examine different approaches to model transformation and offer recommendations on the desirable characteristics of a language for describing model transformations. In doing so, we are hoping to offer a measuring stick for judging the quality of future model transformation technologies.One of the best ways to combat complexity of software development is through the use of abstraction, problem decomposition, and separation of concerns. The practice of software modeling has become a major way of implementing these principles. Model-driven approaches to systems development move the focus from thirdgeneration programming language (3GL) code to models (in particular models expressed in UML and its profiles). The objective of model-driven development is to increase productivity and reduce time-to-market by enabling development at a higher level of abstraction and by using concepts closer to the problem domain at hand, rather than the ones offered by programming languages. The key challenge of modeldriven development is in transforming these higher-level models to so-called platform-specific models that can be used to generate code.Over the last few years, the software development industry has gone through the process of standardizing visual modeling notations. The Unified Modeling Language
Business process integration and automation are among the most significant factors driving the information technology industry today. In addressing the manifold technology challenges of integration and automation, new standardization efforts aim at improving the interoperability of businesses by moving toward a declarative specification of business processes, that is, one which describes what a business process does and not how it is implemented. At the same time, Model Driven Architecturet focuses on improving the software-engineering methods with which business process solutions are implemented by separating the business or application logic from the underlying platform technology and representing this logic with precise semantic models. In this paper, we present an approach to the model-driven generation of programs in the Business Process Execution Language for Web Services (BPEL4WS), which transforms a graphically represented control-flow model into executable code by using techniques that originated in compiler theory. We discuss the underlying algorithms as well as general questions concerning the representation and analysis of model transformations. We study a declarative representation of transformation rules, where preconditions and postconditions are represented in the Object Constraint Language. By adopting a declarative approach, we pave the way for future automatic consistency checking of transformation rules and bidirectional reconciliation of evolving models.Model Driven Architecture** (MDA**) has been proposed by the Object Management Group (OMG) to enhance the efficiency and quality of software development and to reinforce the use of an enterprise architecture strategy. Models can be specified from different views, such as that of a business analyst or an information technology (IT) architect, and can be represented at different levels of abstraction. MDA separates the business or application logic from the underlying platform technology and represents this logic with precise semantic models. In particular, MDA distinguishes between Ó
$%675$&7 Use cases are an excellent tool for capturing behavioral requirements of software systems, but they are not an ideal work product for driving design activities. We believe that there is value from complementing use case descriptions with pre-and postcondition descriptions, not only to better support reasoning about system properties and a basis for testing and debugging, but also to better support a predictable decomposition level on which one can base a systematic transition to design. Nevertheless, we recognize that pre-and postcondition descriptions are not widely used in practice. We believe this is in part due to the formalism used. Either the formalism is too heavy to learn and use, or the formalism does not offer sufficient abstraction from the vocabulary of implementation.Via an example, the paper highlights our approach for specifying system behavior, which uses the Unified Modeling Language (UML) and its Object Constraint Language (OCL). We focus the paper on pre-and postconditions descriptions and in particular propose a number of enhancements and interpretations to OCL that we made while refining our approach. In particular, we describe a number of issues that cover areas such as the frame problem, incremental descriptions, structuring schemas, and events and exceptions. .(<:25'6 Unified Modeling Language, Object Constraint Language, Pre-and Postcondition Assertions, Software Specification, Requirements Analysis. ,QWURGXFWLRQSoftware development projects are subject to many factors, software and non-software related. It is a balancing act to get the right combination for a given project and its context-there are always trade-offs to make, according to priorities. For example, timeto-delivery and budget typically have a higher priority than rigor of development and quality assurance for most web-based systems [9], where the inverse is normally the case for systems that are human-life critical. There are more and more projects that are somewhere inbetween safety-critical at the one end and non-critical at the other end. We believe that there is an increasing need for approaches that can provide a reasonable level of quality assurance and rigor in development but still must obey a restrained schedule and budget. For example, at the mid-to-upper range there are many e-business applications, which are "24-7" and mission-critical. Our goal is to produce an approach for specifying reactive system behavior that can be used in the development of systems that lie in the mid-to-upper range. As a consequence, we have developed a software development method called Fondue [33] that covers the whole software development cycle, uses the UML notations, and is based on the Fusion process [6]. In this paper, we cover an important part of the analysis phase of Fondue.
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.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.