MODELLING REAL ESTATE TRANSACTIONS WITH UML MODELIRANJE NEPREMIČNINSKIH TRANSAKCIJ IN UML Radoš Šumrada UDK: 004.43:332:711 ABSTRACT Understanding spatial data concepts is crucial in order to define and apply spatial data models. The modeling process is the know-how on what steps to carry out during analysis and design of formal static and dynamic spatial models. The development of specific methodology for modeling real estate transaction cases was the primary objective. The methods used originate from the system-engineering domain and are only partly described because of the scanty space available. The presented approach was applied for modeling of different real estate transactions. The result is a set of related UML (Unified Modeling Language) diagrams and formal descriptions of selected transaction use cases. In this paper only the simple subdivision of a parcel is presented. This short transaction example guides us through the Slovenian settings and circumstances. It was selected in order to illustrate the modeling methodology and its results as such. The main focus is on the modeling approach and not on the complexity of some real estate transaction cases. KEY WORDS UML, modeling methodology, modeling real estate transactions, COST G9 Klasifikacija prispevka po COBISS-u: 1.01 IZVLEČEK Razumevanje prostorskih načel je ključno za opredelitev in uporabo modelov prostora. Proces modeliranja pomeni zavestno izbiro razvojnih korakov med analizo in snovanjem formalnih statičnih in dinamičnih modelov prostora. Glavni poudarek v članku je na razvoju ustrezne metodologije za modeliranje raznih primerov nepremičninskih transakcij. Uporabljena izvorna metoda izhaja iz sistemskega inženirstva in je v članku le pregledno opisana zaradi omejenega prostora. Razvita metodologija je nadalje postopkovno uporabljena za modeliranje transakcijskih postopkov. Rezultat je niz povezanih diagramov UML (Unified Modeling Language) in formalnih opisov primerov nepremičninskih transakcij. V članku je predstavljen enostaven model izvedbe postopka parcelacije v slovenskih razmerah in pravnem redu. Primer je izbran predvsem za ponazoritev metodologije in rezultatov modeliranja. Poudarek v članku je na postopku modeliranja in uporabi modelov in ne na specifičnih primerih transakcij z nepremičninami. KLJUČNE BESEDE UML, metodologija modeliranje, modeliranje nepremičninskih transakcij, COST G9 1 INTRODUCTION Science is not about the pursuit of truth, but about finding a model of the real world (A. Einstein). The reality is composed of infinite space and time perceived as complex manifestation of changing accidents around us. Any description or representation of reality is but an abstract model which is as such only an abstraction of reality at a given moment. Our perception, conceptualization 597 and representation define the discrete and simplified modeling of the chosen part of reality, which can never be a full formulation of things as they are. The phenomena and objects chosen are simplified approximations in terms of their characteristics, relationships and dynamics of procedures. Other phenomena, that is, infinite sets of their characteristics and inter-relationships, cannot be considered. The level of the model abstraction, choice of characteristics and the applied object classification are, on the one hand, highly biased and conditioned by their purpose and above all with the intended use of the model. Modeling is the process of development of models and it is usually based on a selected methodology, experience and practicalities. Any model, true to its purpose, contains only the important aspects of a given part of the real world, and thus simplifies and omits everything else. The choice of the contents and composition of the model is a matter of judgment and depends on the purpose and application of the model. Modeling is both a validated and generally recognized developmental approach used in most of the engineering domain (Blaha et al., 2004). The model represents a draft of solution and provides the fundamental guideline in implementation of engineering procedures. The modeling technique can be successfully used in analysis of complex procedures, such as real estate transactions, which are, due to their complexity, hard to monitor and regulate directly. System engineering and especially software engineering are the leading disciplines in system modeling, whose process-based approach and results are adopted by other disciplines as well. Modeling of real-life spatial phenomena and procedures requires a properly adjusted methodology, an example of which is given in this paper in a transparent manner; furthermore, its applicability in real estate transaction modeling is put forward. 2 THE UML LANGUAGE AT A FIRST GLANCE UML (Unified Modeling Language) is a general visual modeling language, used for definition, representation and documentation of structure of discrete systems (Rumbaugh et al., 2005). UML in its current version (2.0) is the industrial standard of the OMG (Object Management Group) association. Notably, the UML language is intended for specification and is not a unified modeling methodology. The methods that can be used for expression of analytical results and designs can be highly versatile. UML is first and foremost a graphical language for representation of models in different linked diagrams. It has a prescribed graphical notation of elements, meaningful groups of related elements (blocks) and content-related rules (semantics). The conceptual formalistic approaches and modeling methods are composed of both, a developmental procedure and a formal descriptive technique. The modeling language is the central and essential part of any developmental methodology. UML is intended to support most of object-oriented analytical and planning methods. It enables a gradual, and simultaneously, an iterative developmental process. In the UML language, the graphical notation is the basic syntax of visual representation of the contents of models in related standard diagrams. The simultaneous modeling of a problem domain from different, but related aspects enables an understanding and formal description of complex models in a semantically uniform way. Such different aspects of the existing or designed system can be graphically represented in the UML language with detailed and hierarchically built diagrams. The degree of detail is optional. The UML with its anticipated 598 8 solutions and stereotypes also enables proper upgrading and adaptations in the sense of user profiles (ISO 19103:2005). 3 DEVELOPMENT OF A METHODOLOGY FOR REAL ESTATE TRANSACTION MODELING The UML represents the inner set-up of a system as a static composition and dynamic interaction of elements that are described as a set of classified object types (classes). The static composition defines the significant classes, their characteristics and relations (relationships) with other classes. Objects are defined as phenomena of relevant classes that communicate and co-operate, and produce the desired services for external system users. The dynamic behavior of classes describes the discrete state of objects and their changes in time, as well as rules of procedure of co-operation between objects, which are necessary for complex actions to be carried out. Figure 1 gives an example of co-operation between classes (»type« level), in order to carry out a particular high-level activity, such as land subdivision. The external view of the system, as perceived by its users, is represented by examples, which represent the system service for a particular user group. A contemporary approach to system modeling is based on definition of its services for external users and other systems, which is performed by detailed modeling of use cases, which serve as a guideline for the entire modeling process. Figure 1: Overview of the subdivision procedure on the UML diagram of collaboration. Any developmental methodology may use UML for expression and representation of analytical models in different diagrams. In conceptual and procedural modeling of spatial phenomena and processes the choice and adaptation of proper methodology is key. First, an overview of the major developmental steps of object-oriented approach to analysis and modeling of real estate transactions is given. The main focus is on the classification of objects and modeling of use cases that serve as a modeling basis. - Pool of knowledge; collect the required data, rules and knowledge on modeling of the chosen real estate transactions, on similar approaches and models, and make a detailed list of antici-pated user demands. - Analysis of the problem domain; Select the main objects and define their most significant attributes. Perform classification of objects, their aggregation and simplification in order to define the basic class structure of the model. Add major class attributes and important relations among them (associations and other dependencies). Build a basic UML class diagram for representation of class structures. An overview of composition of the problem area, fac- 599 tors (actors) and external systems may be represented by a special package UML diagram, which is actually a generalized class diagram. Figure 2 shows a package UML diagram for the case of subdivision. The developed introductory model of the problem domain serves also as a vocabulary (ontology) used in the entire modeling process. 600 Figure 2: Actors and systems in the subdivision process - package UML class diagram. - Analysis and modeling of use cases; Identify and describe use cases of the system, actors and interaction between the actors and the system. Make a detailed sequence description of each case. Describe in detail the main course of events and all alternative scenarios (exceptions, errors etc). Break down and show in the UML diagrams of use cases the developed model of use cases, giving the external or user view of the system. - Distribution of responsibility; For all important use cases make a detailed course of processing in the UML diagrams of activities, which are highly useful and transparent for case analysis and modeling of parallel business processes. Each diagram of activities should give a detailed representation of the chosen use case with all scenarios of realization. - Analysis of resistance; Identify all objects that directly participate in each use case and all anticipated detailed scenarios. Establish the roles of all classes and a detailed sequence of activities. Identify and highlight the kindred procedures as sample procedures, which provide general activity implementation characteristics. Expand and update the class diagrams with additional diagrams, relations and new attributes. - Interaction modeling; Define procedural steps for realization of each use case and define the required procedural co-operation and data (message) exchange between the classes involved. Make a UML diagram of sequence for analysis and representation of mediation of messages or data between the active classes. If needed, make the statechart UML diagrams for representation of internal dynamics of all important classes, their stable state and events that affect the transition between the states. - Critical review of the model; Update the class diagrams with newly established procedures, relations and attributes. Check all detailed user demands with the description based on use cases, and with related classes, which, in fact, with procedural participation (collaboration) realize each use case. - Testing; perform a detailed testing of the model for a chosen real estate transaction with up-close observation of the course of activities in implementation of all analyzed cases. In the next chapters, the developmental steps of the methodology used are comprehensively discussed with relevant UML diagrams for subdivision as a case of real estate transaction. The subdivision presented here provides a simplified model of division of parcels without further possible procedures. The approach is based on derivation from a detailed analysis of subdivision as a use case. The modeling is highly process-based in the sense of modeling of processes as a transaction procedure. The static composition of classes is developed to the needed level. A more detailed case of static modeling of classes is to be found in the literature (Lemmen et al., 2005) as the development of the Core Cadastral Domain Model (CCDM). 4 ANALYSIS OF THE PROBLEM DOMAIN The modeling of a problem domain is composed of a set of activities for the recognition of objects, their distribution into types (classes) and, additionally, identification of their features (attributes) and relationships (relations). The result is an abstract model of the real world, which is based on the selected meaning of the phenomena (semantics), formalism and terminology. Figure 3: Transparent ULM class diagram of rights and encumbrances on real estate. 601 The classes, their characteristics and relations between them are defined in several UML class diagrams. The best approach to finding the key classes of the problem domain is to perform a detailed analytical break-down, find expert opinions and investigate detailed user demands. The next step is the review of the list of identified object types in order to select the key classes, which is followed by removal of redundant or insignificant classes. In the “cleansing” process of the original list of classes, one needs to define all relevant relations between classes, such as associations, generalizations and other dependencies, which are key to connection and communication among the classes of the model. In Figure 3 a transparent UML class diagram is shown, in the sense of rights in rem and encumbrances incurred that may affect the real estate transaction. 5 ANALYSES AND USE CASE MODELING The aim and goal of use case modeling is in particular the identification/registration of major user demands and description of detailed scenarios in the use of a system (Bennett et al, 2005). A simplified description of the main scenario for subdivision without complications is illustrated in Table 1. The results of user analysis are further defined as a use case model, which actually represents the external view of the system. Such a formalized user-based aspect of the system is a methodological guideline for development of other system models, especially characterized by definition of classes as the inside models of system structure. The use case model is composed of selected use cases and linked groups of typical users called actors. A use case is a sequence of operations invoked by an actor in order to achieve the desired result or service. Each single use case defines a particular aspect of system application, without setting up a detailed plan of execution of such system operation. The users are divided into typical groups (classes), called actors. Such an actor can be a particular role of a group of users, important entities, such as a database or other linked system, which exist outside the modeling system; however, they are important external constituents of the problem domain. In principle, each actor can perform several use cases and, vice versa, a use case can be executed by several actors. Modeling of use cases is the central developmental stage of the methodology discussed here. The making of such model is a gradual and iterative process that involves writing, drawing and updating of description and UML diagrams for all use cases. During the processing of use cases, the model developer himself most likely goes through different stages of gradual understanding and learning. Figure 4 illustrates a UML diagram of a use case of a simplified subdivision. The level of detail in use case diagrams or their descriptions can be optionally detailed and, furthermore, hierarchically structured. The use case diagram of subdivision is transparent. A detailed consideration of the possible types of easement, mortgages and tenant relations is not included, since these cases are usually solved with special court agreements and contracts, respectively. In Slovenia, the responsible surveyor unfortunately does not have the relevant competencies, even though easement is an intrinsically spatial issue. 602 The owner decides to subdivide a parcel and in this way form a new parcel. Amalgamation of parcels is a similar, but reverse procedure. The owner has to settle the relations with tenants, mortgage institutions, easements etc. The owner or the competent surveying company submits the application to the authority granting the right of subdivision (external limitations). The administrative body issues a decision. Following the owner's request for subdivision to a chosen geodetic company, the responsible surveyor for geodetic services is appointed. The responsible surveyor collects all necessary data, checks them (internal limitations), performs field investigation, if necessary, interviews the owner, and prepares an implementation strategy. The responsible surveyor carries out boundaries marking in the field, measures the boundaries, updates the cadastral plan and elaborates a detailed report. If necessary, the definite boundary points are established. The surveyor charges the owner for the costs of subdivision. The surveyor delivers the detailed report to the owner and, if requested, provides an explanation of it. Within a given time limit (within six months after the last measurement in the field), the owner submits a formal request for the inscription of the new state; the owner can authorize the surveyor to carry out the submission of application with the detailed report to the cadastral authority. The cadastral authority charges the owner for the costs of registration of the parcel. The cadastral authority performs an audit of the subdivision case in terms of fulfillment of the requirements, legal prerequisites and the technical quality of execution. The cadastral authority sends the data, the decision on subdivision and new boundaries to the owner and all relevant neighbors. The cadastral authority performs a 15-day public display of the new subdivision; this is also the time limit for appeal. The subdivision is formally finalized after the end of the period allowed for appeal. The cadastral authority issues the decree and finalizes the procedure of subdivision. The cadastral authority updates the relevant database in the descriptive and graphic parts. The detailed report on subdivision is archived. The cadastral authority sends the information document, data and decree to the owner. The cadastral authority sends the relevant data and decree to Land Registry, which changes the relevant data on the ownership in the database. Table 1: Part of the main scenario for land subdivision as a use case. 603 604 Figure 4: UML use case diagram of subdivision. Owner Application for permission Land policy control ( Reguest for survey Neighbors participation )<— Preparation of čase Application for registration V- Cadastral decision Owner gets cadastral copies Registration Surveyor Surveyor investigates the čase V, (internal restrictions) n -—$( Performing measurements j \k Completing the detailed report Cadastral office can reject the application because of technical or legal reasons. Event: u- New property formed. Figure 5: Subdivision in the activity UML diagram (with roles). Municipal and state authorities