RUS UKR ENG DonNTU / Masters / 2010 / FCS

Frunt Andrey Aleksandrovich

Faculty of computer science and technologies

Cathedra of computer engineering

Computer systems and networks

Theme of master's work: Researching approaches for creating object-relational model using model-driven architecture

Scientific advisor: Dorozhko Leonid Ivanovich

Abstract

Introduction

Today the development of software applications is one of the most important and profitable branch of busines. Migration of humans work under control of computer-systems suppose a high complication of hardware and software systems. At the same time, the technology of software development (software engineering) usually have high expectations. It is believed that it should solve the problem of high complexity, giving high performance and quality, ensure the effectiveness of support and development programs. Unfortunately, in today's technology as a software development does not justify these expectations. It lags more than a century of engineering. It's more like building houses on a single order, than a mature engineering [1]. After all, in fact, the programmers of our time are mostly engaged in the same than were their counterparts half a century ago, for the only exception that the actions available to the modern engineer to operate with much greater volume of data, but their meaning does not change. But, unlike, for example, integrated circuit industry, where approaches to solving a specific problem a finite amount, the technology of software development gives the developer complete freedom of choice of ways to translate goals into reality.

This freedom leads to a variety of controversial and sometimes absurd realizations of the problem, which has already been solved in the best way, but another person or group of people. Partly to get rid of this practice will allow the transition to automated production of software, which requires two important steps:

Thus, there is an opportunity to focus on reusable components and their quality level, since it defines the threshold of the final product quality. An additional advantage of this approach is that the abstract, independent of hardware platforms and language, a method of solving any problem can be mapped into a decision on an arbitrary hardware-software platform, taking into account its specific features, capabilities and limitations.

The process of writing a modern software can be divided into two parts: a description of the characteristics (properties of a software-simulated object or process) and implementation of behavior (interaction, influence and causal relationships modeled by the interaction of objects and processes)[3].

Goals and problems

The purpose of this master's work is to study and develop an approach to modeling the characteristics of the objects of relational bonds, which represent entities in the database (DB) for subsequent automated mapping of these properties on different hardware and software platforms while preserving the original meaning of the characteristics of each object.

The foundation and core subject area is the subject area of relational databases. Implementation of the method of automation simulation of characteristics of objects relational ties and their subsequent submission of a specific platform consists of the following tasks:

In addition to solving the tasks necessary to investigate ways to optimize the implementations of each of the tasks in terms of computer time spent.

Motivations

Implementing a domain model means the completion of an application by a layer of objects that describe various aspects of a particular area of business. Some objects designed to simulate the data elements which operates in this area, and others should formalize the business rules

In the field of enterprise applications can distinguish two types of domain models. "Simple" much like a database schema (DB) and contains, as a rule, one domain object, based on each table. "Complicated" model may differ from the database structure may contain an inheritance hierarchy and other types of decisions. Complex model to more adequately represent the intricate business logic but more difficult to map to a relational database.

In practice, in large projects, preference is given to a simple model, because its use can distinguish between the logical layers of an application. At the same time, its use leads to a large amount of routine work on the description of the entities, sometimes, the latest one change in any of them may lead to an avalanche of consequences in the overall application architecture [2].

Modeling the characteristics of an entity on an abstract level, without being tied to a specific database and language programming can automatically create the source code and other necessary resources layer domain based on the abstract data model. On the basis of an abstract domain model can construct an abstract service application layer is responsible for data manipulation, which also in automatic mode can be transformed into sources of real applications.

The scientific innovation of the work

Isolation of a specific approach to the creation of an abstract object-relational domain model and simulation characteristics of its entities will take a fresh look at approaches to developing enterprise software, to create development tools and development techniques in general. This approach (based on the characteristics of the FODA method of modeling and model-driven architecture MDA) and its implementation will create an abstract domain model and transform it into a real need.

Figure 1 — Common structure of MDA models (Animation consists of 6 frames; size 378*378, 58,4 KB, created with MP GIF Animator).

Expected practical results

The ultimate goal of master's work is the creation of an abstract object-relational model domain and and its transformation to the source code for an existing programming language and ORM-library with the possibility of additional create a generator for an arbitrary set of finite platform implementation.

Feature-Oriented Domain Analysis (FODA)

Characteristic model points to the common and variable characteristics of the instances of concepts, and also indicates the relationship between variable characteristics. Characteristic models are created during the modeling process characteristics.

Figure 2 — Adapting products to improve the analysis of the domain [4].

Characteristic model virazhaє Sens (intention) ponyattya; mnozhina ekzemplyarіv describing buyout of nіy znahoditsya, nazivaєtsya rozpovsyudzhennyam (extension) ponyattya. Prior warehouse harakteristichnoї modelі include dіagrama characteristics and takozh deyakі dodatkovі vіdomostі takі, yak korotkі semantichnі inventory i logіchnі obgruntuvannya kozhnoї set of characteristics mіstsya zv'yazuvannya, rehearse zv'yazuvannya, vіdkritі / zakritі characteristics prіoriteti. At osnovі dіagrami characteristics ponyattya can vivesti harakteristichnі Inventory (featural description) okremih Yogo ekzemplyarіv. Characteristic inventories ekzeplyaru є nabіr characteristics (set of features). Yakscho vsі inventory ekzemplyarіv, scho can vivesti is pershoї dіagrami, іdentichnі vsіm description ekzemplyarіv, scho vivodyatsya is іnshoї dіagrami then takі dvі dіagrami ekvіvalentnі characteristics (equivalent) [4].

Model Driven Architecture (MDA)

Software system or physical system is a set of elements connected together for a particular purpose. Model system - a collection of descriptions of the system and its environment, designed for implementation for specific purposes, which may be represented by text or image. Model-oriented approach focuses on the models to work with the systems, including understanding the business logic, design, implementation, deployment and maintenance and change [5].

The model consists of three components: a computationally-independent (CIM, Computing Independent Model), a platform-independent (PIM, Platform Independent Model) and platform-specific (PSM, Platform Specific Model) models. Such a representation is exactly the same model of human thinking about something. In other words, we possess a particular subject area at the level of understanding of a set of concepts, the combination of these concepts is to some extent, integrated system of interaction between entities. Ultimately, the mental system is embodied in human life with the help of a tool.

The idea of MDA is that the person did not have to describe anything more of his thoughts that the work was in mental simulation of the components of systems of interaction and only transmit information about their computer, which, in turn, perceives knowledge about a particular subject area and distributes the funds available queries rights.

Conclusions

Software development technology on the verge of a new revolution, as the old methods of solving problems do not justify the incumbent expectations, and the new are not yet as mature enough to replace the established dogma. Programmatic engineering technology such as MDA and FODA may contribute to in translating the development of enterprise software to a new level with science, not engineering base.

References