IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.10, October 2006 179 Manuscript received October 5, 2006. Manuscript revised October 25, 2006. * The work is supported by polish MNiSW within research grant 3 T11C 06430 An Approach to Evaluation of PSM/MDA Database Models in the Context of Transaction Performance Iwona Dubielewicz , Bogumila Hnatkowska , Zbigniew Huzar , Lech Tuzinkiewicz , Wroclaw University of Technology, Wybrzeze Wyspianskiego 27, 50-370 Wroclaw, Poland Summary The aim of the paper is to propose a method for evaluation of logical database models in the context of transaction performance. Logical database models can be regarded as PSM models within MDA architecture. The logical database models are driven from a given conceptual database model (a part of PIM model within MDA) by applying different transformations rules. The evaluation method takes into account both static and dynamic aspects of logical database models. Within static-based aspect structural metrics to logical database model evaluation are considered. Within dynamic-based aspect transaction complexity is approximated. Key words: MDA, PSM, database models, performance evaluation Introduction Developing an information system usually entails designing a database. During this process, assuming a sy- stematic approach, several models are developed at various levels of abstraction, preserving domain integrity, and intra- and inter-model consistency. The process can be divided into three basic phases: conceptual, logical and physical modelling [1,2,9,10,13]. The conceptual model, describing the application domain, yields the logical model specification, basing on which the physical model (implementation of the database) can be established. The structure of the process mandates the use of the MDA (Model Driven Architecture) approach for database design. MDA is an initiative by the Object Management Group to automate generation of platform-specific models from platform-independent models. MDA’s approach to software development bases on modelling and model transformations. The process of software development is seen as modelling, i.e. constructing a sequence of models, starting with an application domain model and ending with a system implementation model. Each model, except the first one, is derived from its predecessor by means of transformations, stepping down from higher abstract models to less abstract ones, more closely aligned with the actual deployment platform. The final result of this process is a system code model. MDA does not enforce any particular software development methodology. There are three categories of models in MDA: Computation Independent Model (CIM), Platform Independent Model (PIM) and Platform Specific Model (PSM). CIM is a view of a system from the computation indepen- dent viewpoint. CIM does not show details of the structure of system. CIM may be identified with a domain or business model in other methodologies [6,12]. It describes both the requirements for the system and the environment in which the system will be used. In our presentation, PIM and PSM are the main MDA’s models of interest. PIM is a model that is independent of the features of a platform that the system may use. PSM is a model that is specific with respect to some features of a platform. PSM models may be called implementation models, and may be considered on different abstraction levels. Eventual implementation model bases on a given platform, which is understood as a set of subsystems and technologies that provide a coherent set of functionalities through interfaces and specified usage patterns. In the paper, the conceptual database model is treated as a part of PIM. The logical model and physical models are treated as parts of PSM models [6]. For specification of PIM models, the UML 2.0 standard is recommended [7,16]. PSM models may – on the technological level – be expressed in SQL 99/2003 [2,4,5,11], while on the implementation (deployment) level they take the form of tool native scripts. PSM is a platform-specific model; hence for databases it requires selecting both: the relevant technology (PSM 1 ), i.e. relational, object-oriented or XML, and a database management system (DBMS) supporting a given platform (PSM 2 ), i.e. Oracle, MS SQL 2005. We assume that all DBMSs taken into consideration are compliant with established SQL and XML standards [11]. One of the first stages of software system design is the specification of requirements, i.e. properties or characte- ristics that the system or its components must exhibit [7, 14]. We distinguish between functional and non-functional requirements. Non-functional requirements can be imple- mented in various ways. For systems containing databases, some of those requirements, for instance those relating to reliability or efficiency, can be delegated to the database