FORMALIZATION OF PROBLEM DOMAIN MODELING WITHIN MODEL DRIVEN ARCHITECTURE
Doctoral thesis summary
Scientific adviser Dr.habil.sc.ing, professor J. OSIS
RTU Publishing House Riga 2006
GENERAL CHARACTERISTICS OF THE RESEARCH
One of the primary activities that is very important in software development is problem domain analysis. Software developers' community uses different techniques for identification and specification of problem domain characteristics and requirements for a planned system. It must be mentioned that they are aimed primarily at application analysis, while the problem domain is regarded almost as a black box describing a number of aspects of the system. Until now, there is a lack of formal ways to map knowledge about the problem domain into the software development process in those approaches. The above described situation raises a few questions. The first one, which is the most important in my opinion, is a question about a gap between the application and the real world, i.e. what domain is to be modeled first: the domain of today reality ("as is") or the domain of customer expected reality ("to be"). The second question is the separation of concerns in specifications, and the related one is about unambiguous representation of the system in specifications. The main idea is that system requirements are constraints set by real world phenomena not vice versa. This means that if we develop software for some purposes in the real world, we must know how it will affect the world. It has critical importance for mechatronic and embedded systems, where failure costs could be human lives as well as for complex business systems, wherein failures could lead to huge financial losses. Formal mathematical methods could reduce inaccuracies and ambiguities of specifications. However, contrary to informal methods, they usually require additional efforts in study and use. Therefore, most developers of modeling languages try to avoid pure usage of those methods and suggest practice of so called semi-formal modeling languages that are formally described, but do not have any formal mathematical foundations like, for example, Unified Modeling Language (UML). The actuality of the research is related to software development quality and adequacy of the developed product to the environment, where this product will operate. A finished software product that is inadequate to the work environment requires high financial costs for correcting that inadequacy. However, the new architecture for separation of concerns, i.e. the MDA, will benefit only if it provides application model conformity to the problem domain, otherwise it would be just another architecture of the existing ones. The purpose of the given work is introducing more formalism into the problem domain modeling within OMG Model Driven Architecture (MDA). The main idea is to determine the relation between the problem domain (in real world) and its representation in the application domain (in specifications) to be reasonable. This means introducing a more formal definition of consistency between real world phenomena and an application that will work within this whithout introducing complex, hard understandable mathematics. In order to achieve the goal of the given research the following tasks are performed: • Consider solutions of above-described questions, adopted in object-oriented software development such as the MDA, the UML, and use case driven approaches, as well as consider problems that are unsolved by them until this time; • Describe main characteristics of the formal methods chosen to analyze problem domain, and compare their potential for formalization of the system functionality and structure description; • Develop a formal approach that allows achieving the following: a) a formal specification of problem domain...