1 Abstract—Modern Driven Development (MDD) defines a new approach to develop software system other than programming. MDD emphasizes the model level design by defining the specifications for a software system, and uses automatic tools to generate implementations on specific platforms. In the MDD process, many separate views and models are specified for different parts of the system. In the ZOOM notation, which is a formal notation we proposed to enhance the existing modeling notations and support MDD, the structural, behavioral and UI models are three components for a software model. In this paper, we present a pre-defined event model, processed through an event-driven framework, which integrates these views, and provides the run-time execution model for ZOOM. Index Terms— Model Driven Development, Model Integration, State Machine, UML I. INTRODUCTION Model-Driven Development (MDD) is a methodology where all vital parts of the system under consideration are described with formal models. Instead of requiring developers to detail a system’s implementation using a programming language, MDD lets them use models to describe the system’s functionality and overall architecture [1,2]. MDD enables reuse at the business domain level, increases quality as models are successively improved, reduces costs by supporting automated software development processes, and increases software longevity. Because of the potential to change the way we develop applications, many researchers have been working on methodologies to support MDD [1,2]. ZOOM is a formal foundation we propose to support MDD. Unlike UML-2, which separates a system into several loosely related views, ZOOM provides a mechanism to merge those views together with their formal semantics. ZOOM helps overcome some of the problems with UML-2, specifically, problems of intra- and inter-model consistency. While UML-2 provides many different views of a software system, it does not inherently enforce the consistency between these views. Such tasks are left to the modeler or the modeling software. In contrast, a ZOOM model has three integrated parts: structural models, behavior models and user interface (UI) models. Ultimately, an event model, processed through an event-driven framework, integrates these views. This event-driven framework satisfies the consistency requirements between different views of the system, and works as a mechanism to integrate the structural, behavioral and UI models together. The event-driven framework also defines the run-time execution model for ZOOM. II. AN APPROACH TO MDD -- ZOOM 2.1 Overview Model-driven development (MDD) is the notion that we can construct a model that can then be transformed into a real system. MDD moves the development focus from third generation programming language code to models, specifically models expressed in version 2.0 of the Unified Modeling Language (UML-2) and its profile definitions. Because of MDD’s potential to dramatically change the way we develop applications, companies are already working to deliver supporting technologies [3]. We propose to enhance the existing UML-2 models and metamodel by including support for formal syntax and semantics. This new formal notation is called ZOOM. ZOOM stands for Z-based Object-Oriented Modeling. It is based on the formal specification notation Z [7, 8, 12, 13], which is in turn based upon set theory and mathematical logic. Although widely used to specify software systems, one of Z’s deficiencies is that its specification is limited to mathematical logic and does not provide useful mechanisms to support OO modeling such as classes or inheritance. ZOOM extends Z to support these object-oriented concepts. ZOOM brings formal foundations to object-oriented notations by providing textual and graphical representations of models that are consistent with UML-2. It brings formal semantics to models and provides a way to formally specify constraints such as preconditions, postconditions and invariants. Figure 1 shows the overall architecture of the ZOOM models for a software system. The functional requirements derive the structural and behavioral models and are the only requirements for a modeler to consider. User interface design is derived not only from the functional but also user interface requirements. Those UI requirements are normally incorporated in the device profiles. ZOOM provides a pre-defined event model, which is processed by an event-driven framework, to bind the structural, behavioral, and UI models together. The integrated ZOOM model will be processed by the Knowledge-based Model Compilation Tools resulting in different implementations of the software system based on the specific platform and / or knowledge base. 2.2. ZOOM Architecture We arbitrarily define the software design into three components, structural models, behavioral models and UI models. The separation of a system into these three parts is an application of the well-known paradigm in software engineering An Event-Based Framework for Model Integration Xiaoping Jia, Adam Steele, Lizhang Qin, Hongming Liu, Chris Jones DePaul University, Chicago, IL, 60616 {xjia, asteele, lqin, jordan, cjones}@cs.depaul.edu