In this in ancient Egypt. We marvel at these software implemen- paper we give an overview of current research in MDE and tations in much the same way that archaeologists marvel at discuss some of the major challenges that must be tackled the pyramids: The wonder is mostly based on an apprecia- in order to realize the MDE vision of software development. On the other hand, at- The growing complexity of software is the motivation tempting to realize the vision will provide insights that can behind work on industrializing software development.
In be used to significantly reduce the gap between evolving particular, current research in the area of model driven software complexity and the technologies used to manage engineering MDE is primarily concerned with reducing complexity. Introduction ware implementations.
- Melvil Decimal System: 658.4038011.
- Tourette Syndrome (Psychological Disorders).
- Convergent Architecture: Building Model Driven J2ee Systems with UML;
- From Noose to Needle: Capital Punishment and the Late Liberal State (Law, Meaning, and Violence)!
- Anarchism, Marxism and the Future of the Left: Interviews and Essays, 1993-1998.
- ISBN 13: 9780471105602;
The complexity of bridging the gap is tackled through the use of models that describe com- Advances in hardware and network technologies have plex systems at multiple levels of abstraction and from a paved the way for the development of increasingly per- variety of perspectives, and through automated support for vasive software-based systems of systems that collaborate transforming and analyzing models. In the MDE vision of to provide essential services to society. Software in these software development, models are the primary artifacts of systems is often required to 1 operate in distributed and development and developers rely on computer-based tech- embedded computing environments consisting of diverse nologies to transform models to running systems.
These technologies use models to dynamically adapt to changes in operating environments, generate significant parts of 1 programs written in lan- and 4 behave in a dependable manner [26, 62]. A significant factor behind the difficulty of develop- Attempts at building complex software systems that dy- ing complex software is the wide conceptual gap between namically adapt to changes in their operating environments the problem and the implementation domains of discourse.
Section 7 also includes a discussion on oppor- We envisage that MDE research on runtime models will tunities for using models during runtime. We conclude in pave the way for the development of environments in which Section 8 by outlining an idealistic vision of an MDE envi- change agents e. The models act as interfaces that 2. The Value of Modeling change agents can use to adapt, repair, extend, or retrofit software during its execution.
In our broad vision of MDE, In this paper, a model is an abstraction of some aspect of models are not only the primary artifacts of development, a system. The system described by a model may or may not they are also the primary means by which developers and exist at the time the model is created. Models are created to other systems understand, interact with, configure and mod- serve particular purposes, for example, to present a human ify the runtime behavior of software.
An implemen- It may seem that work on MDE centers on the devel- tation platform may consist of networks of computers, mid- opment and use of the popular modeling language, UML dleware, and libraries of utility functions e. The UML standard- persistence, graphical user interface, and mathematical rou- ization effort has played a vital role in bringing together a tines.
In the case of MDE research on runtime models, the community that focuses on the problem of raising the level goal is to produce technologies that hide the complexities of of abstraction at which software is developed, but research runtime phenomena from agents responsible for managing around other modeling languages is contributing valuable the runtime environment, and for adapting and evolving the MDE concepts, techniques, tools and experience.
In this software during runtime. For this reason, we consider formal specification languages such as Alloy  and B the problem of developing MDE technologies that automate , modeling and analyzing control system software us- significant portions of the software lifecycle to be a wicked ing the math-based, high-level programming language Mat- problem. Solutions to  , and building models to analyze software risks e.
While we may draw In this paper we discuss some of the major technical inspiration from work on the development of programming problems and challenges associated with realizing the broad languages and compilers, this paper is primarily concerned MDE vision we outline above. We also mention the so- with the development and use of models other than source cial challenges related to identifying and leveraging high- code.
Specifically, we focus attention on the following two quality modeling experience in MDE research. Examples of drive MDE research. In Section 3 we discuss the factors development models are requirements, architectural, that contribute to the difficulty of bridging the gap between implementation and deployment models. MDE re- the problem and implementation domains, present classes search has tended to focus on the creation and use of of challenges and problems discussed in this paper, and these models.
In Sec- aspect of an executing system and are thus abstractions tion 5, Section 6, and Section 7, we discuss MDE research of runtime phenomena. From this perspective, the re- As MDE research matures, the above classification may be- search question that should motivate MDE research on cre- come dynamic, that is, development models may be used as ation and use of development models is the following: runtime models and runtime models may be used to evolve software systems, thus acting as development models. How can modeling techniques be used to tame There is a perception that development models are pri- the complexity of bridging the gap between the marily documentation artifacts and thus their creation and problem domain and the software implementation use are peripheral to software development.
This narrow domain? MDE advocates point out that models can be beneficially used for more than We propose that MDE research on runtime models focus just documentation during development. Management can involve mon- ware has the rare property that it allows us to directly evolve itoring software behavior and the operating context, models into full-fledged implementations without changing and adapting software so that it can continue to pro- the engineering medium, tools, or methods.
Research in this re- this property in work on transformation-based software de- spect will focus on how models can be used as in- velopment in which declarative specifications are system- terfaces between running systems and change agents, atically transformed to programs e. One of the where a change agent can be a human developer or a valuable insights gained from these attempts is that automa- software agent. We discuss specific technologies will be discussed in Section 5. The 3. These mental tools that effectively narrow the problem-implementation models evolve as a result of discussions with other develop- gap.
Exploring the nature of the problem-implementation ers, changes in requirements, and errors identified in code gap can yield insights into the problems and challenges that tests, and they guide the development of handcrafted code. MDE researchers face. Writing source code is a modeling activity because the de- veloper is modeling a solution using the abstractions pro- 3. Bridging the Gap vided by a programming language. Given that the technical aspects of software development A problem-implementation gap exists when a developer are primarily concerned with creating and evolving models, implements software solutions to problems using abstrac- 1 taken from a presentation at the ENSIETA Summer School on Model- tions that are at a lower level than those used to express the Driven Engineering of Embedded Systems, September problem.
MDE vision, close approximations can significantly im- The introduction of technologies that effectively raise the prove our ability to manage the problem-implementation implementation abstraction level can significantly improve gap. We see no alternative to developing close approxima- productivity and quality with respect to the types of soft- tions other than through progressive development of tech- ware targeted by the technologies. The introduction and nologies, where each new generation of technologies fo- successful use of the technologies will inevitably open the cuses on solving the problems and minimizing the acci- door to new software opportunities that are acted upon.
The dental complexities arising from use of older generations result is a new generation of more complex software sys- of technologies. For The importance of industrial participation on MDE re- example, the introduction of middleware technologies, cou- search should not be underestimated. Industrial feedback pled with improvements in network and mobile technolo- on techniques and technologies developed within academia gies, has made it possible to consider the development of is needed to gain a deeper understanding of development more complex distributed systems involving fixed and mo- problems.
The growing complexity of newer generations of soft- 3.
A Classification of MDE Challenges ware systems can eventually overwhelm the available im- plementation abstractions, resulting in a widening of the The major challenges that researchers face when at- problem-implementation gap. The widening of the gap tempting to realize the MDE vision can be grouped into the leads to dependence on experts who have built up an arsenal following categories: of mentally-held development patterns a.
The development of such technologies tems using multiple, overlapping viewpoints that uti- will result in work on even more complex software sys- lize possibly heterogeneous languages. Each cycle results tions, 2 maintaining traceability links among model in a significant change in the level of abstraction at which elements to support model evolution and roundtrip en- software is developed, which then triggers attempts at build- gineering, 3 maintaining consistency among view- ing even more complex software.
This characterization ac- points, 4 tracking versions, and 5 using models dur- knowledges that software development concerns and chal- ing runtime. To cope with the ever-present problem of growing soft- ware complexity MDE researchers need to develop tech- 3.
Relationship with Software Engineer- nologies that developers can use to generate domain- ing Research specific software development environments. These envi- ronments should consist of languages and tools that are tai- Realizing the MDE vision of software development will lored to the target classes of applications. Developing such require evolving and integrating research results from dif- technologies requires codifying knowledge that reflects a ferent software engineering areas.
There are obvious con- deep understanding of the common and variable aspects of nections with work on requirements, architecture and de- the gap bridging process. Such an understanding can be tailed design modeling, including work on viewpoint con- gained only through costly experimentation and systematic flict analysis and on feature interaction analysis.
Research accumulation and examination of experience. Developing in these areas have produced modeling concepts, languages, such technologies is thus a wicked problem. MDE research should leverage and integrate the best re- Microsoft as a label for its MDE initiative see Sec- sults from these areas and build synergistic research links tion 4. Research on design patterns, domain-specific with the communities. For example, the challenges faced languages, and product-line architectures are particu- by researchers in the software architecture area see  larly relevant to work on MDE e.
Modeling languages must have namically analyzing models. For example, there is formally defined semantics if they are to be used to cre- work on defining test criteria for UML models that are ate analyzable models. Work on developing formal analysis UML-specific variations of coverage criteria used at techniques for models utilizes and builds on work in the the code level , and tools that support systematic formal specification research area.
While it is currently the testing of models . There is also work on generat- case that popular modeling languages have poorly defined ing code level tests from models that builds upon work semantics, there is a growing realization that MDE requires in the specification-based code testing area e. A closer examination of research results and goals pilers may be leveraged by MDE researchers working in these areas suggests that this is not the case.
The FSTs on providing support for generating lean and highly that have been developed thus far use languages that allow optimized code. Work on incremental compilation developers to describe systems from a very small number may also be leveraged in research on incremental code of viewpoints. For example, Z  describes systems from generation. It is well research. MDE can and should be viewed as an evolution known that the more expressive a modeling language is, the of early CASE work.
MDE researchers are knowingly or more intractable the problem of developing mechanical se- unknowingly building on the experience and work of early mantic analysis techniques becomes. It should not be sur- CASE researchers. Further- with broadening the role of models so that they become the more, FSTs focus on describing functionality, while MDE primary artifacts of software development. This broadening approaches aim to provide support for modeling structural of the scope is reflected in the range of software engineering and functional aspects as well as system attributes some- research areas that currently influence MDE research.
The need to deal with the complexity of developing and The differences in research scopes indicate that MDE operating adaptive software provides another opportunity provides a context for FST research. There is often a need for the use of MDE techniques. It is con- grated with rich modeling languages. While this may be true, it is search in the systematic reuse community for over two currently the case that software developers seldom create decades e.
Only when modeling at var- fectively leveraged reusable assets to improve produc- ious levels of abstraction is widely viewed as an essential tivity and quality . Major Model Driven Engineering Initiatives plementing model transformations e. In this section we present an overview of some major MDE initiatives that are currently shaping the research land- 4.
Software Factories scape and discuss the relationship between MDE and other software engineering research areas. Information about the Microsoft Software Factory initia- tive became widely available when a book on the topic was 4. Model Driven Architecture published in . The initiative focuses on the devel- opment of MDE technologies that leverage domain-specific knowledge to automate software modeling tasks. The OMG, in its role as an industry-driven organiza- Software Factories tackle the complexity of bridging the tion that develops and maintains standards for developing gap by providing developers with a framework for pro- complex distributed software systems, launched the Model ducing development environments consisting of domain- Driven Architecture MDA as a framework of MDE stan- specific tools that help automate the transformation of ab- dards in [60, 51].
Each development en- nologies that will provide the means to more easily inte- vironment is defined as a graph of viewpoints, where each grate new implementation infrastructures into existing de- viewpoint describes systems in the application domain from signs, generate significant portions of application-specific the perspective of some aspect of the development lifecycle code, configuration files, data integration bridges and other e. Reusable forms of development experience e.
This reduces the need to search for ap- MDA advocates modeling systems from three view- plicable forms of reusable experience, and enables context- points: computation independent, platform independent, based validation, and guidance delivery and enactment . The computation inde- The relationships between viewpoints define semantic pendent viewpoint focuses on the environment in which the links between elements in the viewpoints. For example, the system of interest will operate in and on the required fea- relationships can be used to relate work carried out in one tures of the systems.
Modeling a system from this view- development phase with work performed in another phase, point results in a computation independent model CIM.
In of system features that are not likely to change from one summary, the Software Factory initiative is concerned with platform to another. A platform independent model PIM developing technologies that can be used to create develop- is used to present this viewpoint.
The OMG defines a plat- ment environments for a family of applications. The platform specific viewpoint tation artifacts. This view of vides the reusable artifacts, guidelines, samples, and a system is described by a platform specific model PSM. The focus of work in this area is on 4. Other MDE Approaches providing tool support for engineering modeling lan- guages.
The products of Xactium, MetaCase, and Mi- Other notable work in the domain-specific model- crosoft provide examples of current attempts at pro- ing vein is the work of Xactium on providing sup- ducing such tools. Both ap- mutually exclusive. Extensible modeling languages and proaches are based on the MOF standard of MDA and pro- meta-metamodeling technologies can both play vital roles vide support for building MOF-based definitions of domain- in an MDE environment.
We envisage that research in both specific modeling languages. The MOF is used to build schools will provide valuable insights and research results models, referred to as metamodels, that define the abstract that will lead to a convergence of ideas.
While these approaches uti- lize MDA standards they do not necessarily restrict their 5. The MIC initially started out should provide, at least, 1 abstractions above those avail- with a focus on developing support for model driven devel- able at the code level that support a wide variety of con- opment of distributed embedded real-time systems. There cepts in known problem domains, and 2 language exten- is now work taking place within the OMG to align the MIC sion mechanisms that allow users to extend or specialize and MDA initiatives e.
There are significant benefits to The following are two major challenges that architects of having a standardized extensible general-purpose modeling MDE modeling languages face: language such as the UML.
ArcStyler: The Architectural IDE for MDA
The UML is also one of the most widely critiqued mod- eling languages e. The UML School: The abstraction challenge is tackled by pro- standardization process illustrates the difficulty of converg- viding a base general-purpose language with facilities ing on a small core set of extensible concepts. The development of modeling experience that can be used to distill a small core such tools is not beyond currently available technologies. One way to address this Current UML model development tools have some support problem is to set up facilities for collecting, analyzing and for manipulating the UML metamodel that can be extended sharing modeling experience, particularly from industry.
Such a Collecting relevant experience from industry will be tool can be used to support compliance checking of models. Assuring that Intellectual Property rights will not be violated and overcoming the reluctance 5. Learning from the UML Experience: of organizations to share artifacts for fear that analysis will Extending Modeling Languages reveal embarrassing problems are some of the challenging problems that these initiatives must address.
The UML experience provides some evidence that defin- The complexity of languages such as the UML is re- ing extension mechanisms that extend more than just the flected in their metamodels. Complex metamodels are prob- syntax of a language is particularly challenging. UML 2. These include developers of MDE tools and trans- semantics to specified semantic variation points, and using formations. The complexity of metamodels for standard profiles to define UML variants.
An evo- model element that the UML allows a user to define. For lution process in which changes to a metamodel are made example, the manner in which received events are handled and evaluated manually is tedious and error prone. Manual by a state machine before processing is a semantic varia- techniques make it difficult to 1 establish that changes are tion point for state machines: A modeler can decide to use made consistently across the metamodel, 2 determine the a strict queue mechanism, or another suitable input han- impact changes have on other model elements, and 3 de- dling mechanism.
A problem with UML semantic varia- termine that the modified metamodel is sound and complete. Conformance mechanisms can then be developed that manipulate the models e. UML and used by tool vendors to check that their interpretations 2. This can lead to dental complexities associated with understanding and us- the following pitfalls: 1 Users can unwittingly assign a ing large metamodels.
For example, a tool that extracts semantics that is inconsistent with the semantics of related metamodel views of UML diagram types consisting only concepts; and 2 failure to communicate a particular se- of the concepts and relationships that appear in the dia- mantics to model readers and to tools that analyze models grams can help one understand the relationships between can lead to misinterpretation and improper analysis of the visible elements of a UML diagram.
A more flexible and models. The challenge here is to develop support for defin- useful approach is to provide tools that allow developers to ing, constraining and checking the semantics plugged into query the metamodel and to extract specified views from semantic variation points.
A UML profile describes how UML and more complex views that consist of derived relation- model elements are extended to support usage in a particu- ships among many concepts. Metamodel users can use such lar domain. For example, a profile can be used to define a tools to better understand the UML metamodel, and to ob- variant of the UML that is suited for modeling J2EE soft- tain metamodel views that can be used in the specification ware systems. UML model elements are extended using of patterns and transformations.
Users that need to extend stereotypes and tagged values that define additional prop- or evolve the UML metamodel can also use such tools to erties that are to be associated with the elements. The ex- help determine the impact of changes e. New relationships between UML main and thus must closely interact with application devel- model elements can be defined in a profile though.
Furthermore, the quality of the DSL tools should be The OMG currently manages many profiles including a primary concern, and quality assurance programs for the the Profile for Schedulability, Performance and Time and DSL tooling sector of an organization should be integrated a system modeling profile called SysML. Unfortunately, with the quality assurance programs of the application de- the UML 2.
These are significant process and man- for precisely defining semantics associated with extensions. For this reason, profiles cannot be used in their current form In addition to these challenges many of the challenges to develop domain-specific UML variants that support the associated with developing standardized modeling lan- formal model manipulations required in an MDE environ- guages apply to DSLs. The XMF-Mosaic tool developed by Xactium takes a promising approach that is based on the use of meta-profiles 5. Formal methods tend to restrict their modeling view- 5. Domain Specific Modeling Environ- points in order to provide powerful analysis, transformation ments and generation techniques.enter site
Read Convergent Architecture: Building Model-Driven J2EE Systems with UML (OMG) Ebook Free
A challenge is to integrate for- mal techniques with MDE approaches that utilize modeling A domain specific language consists of constructs that languages with a rich variety of viewpoints. A common ap- capture phenomena in the domain it describes. Domain spe- proach is to translate a modeling view e. For example, there are a components e. Challenges here are, to a ensure that the translation DSLs can help bridge the problem-implementation gap, is semantically correct, and b hide the complexities of the but their use raises new challenges: target formal language and tools from the modeler. These tools will need to evolve as the domain Another approach would be to integrate the analy- evolves.
A major challenge for guage. This is more expensive, but would greatly enhance DSL researchers is developing the foundation needed the applicability of an analysis tool to an existing modeling to produce efficient meta-toolsets for DSL develop- language. MDE languages provide a lead to significant interoperability, language-version good context for performing such tuning.
This problem poses its own challenges with respect to training and commu- nication across different domains. DSLs will evolve 5. Analyzing Models and will be versioned and so must the applications that are implemented using the DSLs. Furthermore, differ- If models are the primary artifacts of development then ent parts of the same system may be described using one has to be concerned with how their quality is evaluated.
These tency of concept representations across the languages. From the student perspective, idence gathered from past applications of the model. Used Condition: Fair Soft cover. Save for Later. From Anybook Ltd. About this Item This book has soft covers. Ex-library, With usual stamps and markings, In fair condition, suitable as a study copy. Bookseller Inventory Ask Seller a Question. About this title Synopsis: The only complete technical guide to building integrated business systems using the convergent architecture approach In his groundbreaking Business Engineering with Object Technology 0———7 , David Taylor introduced the concept of convergent architecture CA , a framework for building the business design directly into the software systems that support it.
We specialise in academic works. All our books are in good condition or better, unless otherwise described. We will respond to your enquiry promptly and mail books out within 24 hours of receiving payment. If you find cheaper postage from the UK, we'll match it. Remember if you are unsatisfied in any way with any purchase, we will give you a complete and unconditional refund.
Show only see all Show only. Amounts shown in italicised text are for items listed in currency other than Euros and are approximate conversions to Euros based upon Bloomberg's conversion rates. For more recent exchange rates, please use the Universal Currency Converter. This page was last updated:.
PDF Convergent Architecture: Building Model-Driven J2EE Systems with UML (OMG)
Skip to content Free download. Book file PDF easily for everyone and every device. This Book have some digital formats such us :paperbook, ebook, kindle, epub, fb2 and another formats. Cure for Sanity Perfection Labs Book 2. Frankel, David S. All listings filter applied. Condition see all Condition.