OMT-G Modeling and Cloud Implementation of a Reference Database of Addressing in Morocco

A reference database of addressing is an important resource for urban applications. The efficiency of an addressing system depends on both data quality and technical architecture. Data must respect a standard model that is flexible to meet different cases in the field. The technical architecture should be service oriented to offer a shared resource for multiple users and applications. This paper is to develop an addressing model for Morocco that extends Davis’s and Fonseca’s model presented in their work on the certainty of locations produced by an address geocoding system. We discuss the addressing data dictionary and acquisition plan in Morocco, revealing a diversified data management environment, characterized by multiple sources and actors. As a novelty in the field of GIS, we establish our technical architecture around cloud computing, according Service Oriented Application (SOA) standards. Our approach is based on the three pillars of cloud computing which are Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a service (IaaS).


Introduction
Addresses are necessary information for both individuals and organizations.They are the main key for located events and phenomena analysis [1]: about 80% of the information local authorities use have a geographic locations, and most of those are related to addresses [2,3].The core of any addressing system is a "reference database of addresses".Unfortunately, having a reliable data, especially developing countries, is often a big challenge.
In Morocco, some researches took an interest in urban phenomena such as detecting slums [4], urban heat islands [5] and regional urban applications [6].We present in previous works [7][8][9] a method for collecting addressing locators from the field, but an effort of modelling and standardization is needed to establish a common ground for addressing activities in the scale of our country.
We propose a conceptual schema for addressing database that is flexible enough to accommodate the different cases observed in the field.It extends the notion of a postal address to include more common references such as popular names for places and buildings.This approach extends Davis's and Fonseca's [1] work on the certainty of locations produced by an address geocoding system, and Simpson's and Yu's [10] work on postal codes.We establish our technical architecture around cloud computing, which is an innovation in the GIS and urban applications [11].

Case Study Area
Morocco is located at the northwest of Africa.It is bordered in the north by the strait of Gibraltar and the Mediterranean Sea; to the south by Mauritania; to the east by Algeria and to the west by the Atlantic Ocean.(Figure 1).It has a population that is estimated in 2009 of 31.5 million [12].It has an area of 710,850 km 2 , and a coast that extends over 3500 km.[13] Morocco is composed of 16 regions.The most important region is the region of Casablanca, with more than 3.6 million habitants [7]; the administrative capital is Rabat.

Historical View on Addresses
The concept of numbering buildings within cities came in order to guide visitors about the location of a given residence or commercial activity [14].Westerns standard using increasing numbers along the street, with odd numbers and even numbers in different sides, is very well known, but not universal standard.
For historical considerations, a lot of countries have their specific ways of addressing.
The need to identify buildings arose with the growth of cities in Europe and China in the 18th century.The addresses contained an indication of the street where the house was located, along with some additional general directions [14].The fiscal benefits were the real motive behind generalized addressing, where every building is numbered.For instance, Numbering in Paris did not started until 1779, and was met with resistance from the population, especially from the dominant classes, who complained about being "equalled" to the lower social strata for being referred to by a simple number within a street [1].
One of the most used addressing systems, especially in the western world is the metric numbering system It is based on alternating numbering progressing in one direction along a street, with odd numbers on one side and even numbers on the other.This system is suitable for approximations and geocoding operations.In this kind of systems, streets are named or numbered in a similar logic, always in the same view of facilitating approximations possible extensions.
There are also other systems, especially in the eastern world, that are based on traditions or specific cultural considerations.Japanese system for example is based on construction time for numbering buildings of a certain area [15].In such a system, most streets have no name.In Korea, numbering is done by neighbourhoods (called dong), within urban sectors (called gu), a hierarchy of areas that are named, not numbered [1].In Kyoto, Japan, the Digital City project has been conceived with this kind of limitation in mind: a map-based user interface facilitates the location of points of interest for tourists and locals alike, since the addressing system seems to be too complicated to navigate without detailed mapping information [16].
In Morocco, the metric numbering system is preponderant, but several irregularities are observed.This reveals an actual need for standardization.Several projects of addressing were established in the country, but no standard model was adopted.In this paper, we present a standard schema that is based on the basic characteristics adopted by Forensa's and Davis's model, in a way that respects the specific aspects of Moroccan context.

Addressing Dictionary: Basic Concepts
Addresses are the first and foremost way used by citizens to express the location of points of their interest, including their own places of work and residence, it is natural that they get to be employed as a sort of indexing key for urban spaces [2,3].
Addresses can be either direct or indirect references to places.Direct references provide a structured description, such as a postal address, or a definite place name, while indirect references comprise numbers or codes that refer to a location through some previously created relation.Examples of indirect references include telephone area codes, highway exit numbers, some types of postal codes, and cadastral codes.[1] Direct addresses can be absolute or relative.While an absolute address references to a definite place, a relative address gives an indication based on an absolute reference and complementary information (A distance from, close, beside...) [17].
Since our study concerns a reference database of addresses, we'll be interested in direct absolute addresses in urban environment.

Conceptual Modeling
The commonly known data modelling methods: semantic and object-oriented, such as Entity-Relationship (ER) model [18], the object modelling technique (OMT) model [19] and the IFO model [20]; do not offer adequate facilities to represent geographic applications [21].We are using a data model that is specific for geographic applications, which is OMT-G [21].This method was based initially on OMT class diagram notations [22], and then approached the concepts and notations of the Unified Modelling Language (UML) [19,23].
OMT-G offers primitives that provide the means for modelling the geometry and topology of geographic data, making the modelling of geographic applications easier [21].In the OMT-G notations of each georeferenced class, there is a mark which indicates the spatial representation type that is to be imployed.Simple associations are denoted with continuous lines, and spatial relations are denoted with dashed lines (Figure 2).
In the scheme, we included two classes for individual addresses, represented as points and polygons.This approach is meant not only to accommodate numbering irregularities, but also to give an extendable representation for addresses, from linear referencing, to a single point then to a defining area.We call these three modes of representation version 1, version 2 and version 3 (Figure 3).
The different versions are supported by our model; they can be then implemented together or successively, according to the reality on the field or data availability.
Copyright © 2013 SciRes.Individual address location is related to a thoroughfare that can be Street, Residential Group or any other defining entity of the second level of addressing.The number in an individual address is according the entity of the second level (number in the street or number in the residential group for instance).
The third level in an address is represented by the neighbourhood class or any other intra-urban spatial reference.
According to its stature, a landmark can be represented as a point (such as buildings) or a polygon (such as parks).

Geographic Data Dictionary
The data dictionary presents the needs in matter of data to build our addressing reference.In Morocco, different organizations have the monopole of specific data.The ANCFCC (Agence National de la Conservation Foncière du Cadastre et de la Cartographie) which is the national agency of land conservation, cadastre and cartography, is the only source of cadastral data.The CRTS (Centre Royal de la Télédétection Spatial), which is the royal centre for remote sensing remains the main actor in satellite imagery data.Another data that is considered as confidential is all urban planning documents that are managed by regional entities called Agences Urbaines (AU), which stands for urban agencies (Table 1).
In such multi-actors reality of geographical data in Morocco, some companies like utilities had to create their own geographical databases that became an important source of geographical data.

Technical Implementation
A reference database of addressing is by definition a shared resource for multiple users and applications.Having this in mind, our technical architecture had to be Service Oriented.We adopted then cloud computing concepts that ultimately consider "everything as a service" [24].The three main services on which we built our solution are SaaS (Software-as-a-Service), PaaS (Platform-as-a-Service) and IaaS (Infrastructure-as-a-Service) [11].
Practically, cloud architecture closely resembles the UNIX philosophy of involving multiple components which work together over universal interfaces [25].

Functional Architecture
We adopted 3-tiers logic architecture.In "Persistence tier" geospatial data are stored and consolidated in a spatial database.In "Logic or Application tier" data are processed and dynamic content is generated.Finally, it is from "Presentation tier" where views are delivered (Figure 4).
This logical architecture has the benefit of having loosely dependent components which allows the application to be scalable at each tier to match demand.It is implemented according to the Service Oriented Architecture (SOA), which is an approach to software development, where all subsystems are only available as external services [26].
It is in the cloud where all our requirements get together, to allow building our 3-tiers logical architecture while respecting the SOA paradigm.

Hardware Architecture
A cloud Platform as a Service (PaaS) such as Google App Engine, Heroku or Windows Azure, provide the developer the capability to deploy configure and run a software on the cloud without worrying about managing or controlling the underlying cloud infrastructure including network, Server, operating systems or storage [27] (Figure 5).
One example of the underlying IaaS (Infrastructure as a Server) components that are scaled automatically by the cloud platform is Amazon web service (AWS).It provides two well known services: "Amazon Elastic Cloud Computing" (Amazon EC2) which provides scalable servers and "Amazon Simple Storage Service" which offers web based storage.

Software Architecture
The software Architecture which goes hand in hand with our proposed cloud based solution is SaaS (Software as a service).
For the development of our web application we adopted Ruby on Rails (RoR), which is a SaaS application framework that defines a particular structure for organizing the application's code [26] Building a SaaS application undergoes two main phases; the first one is related to test and development which is done generally via a concurrent version System like GIT, the second one regards the deployment in a production environment which is the cloud in our case.
Versioning is one of the key innovations of SaaS.In fact, developers could revert the part of the application that causes a problem to a previous stable version in a transparent way to the end user.

Server Side
We chose "PostgreSQL" which is the best open source database available today [29] along with its spatial plugin PostGis to store and interact with our spatial data.In order to programmatically manipulate our data, we used RGeo which is geospatial data library for Ruby, created by Daniel Azuma.

Client Side
Our SaaS application had to be able to handle requests from an end-user as well as from another service.For example: a server resource streams a response either as view (end-user case) or as XML data (for a requesting service).For our end user convenience we added a base map thanks to google maps javascript API.

Deployment
We deployed our application using Heroku, a Ruby Platform-as-a-Service which is entirely based on Amazon Web Services such as EC2 and S3 [30]. Figure 6 shows the dispatching of our software logical components through the cloud stack.

Security Concerns
For security and data privacy in the cloud concerns, we envisaged a "hybrid cloud" solution.A hybrid cloud is a cloud computing environment in which an organization provides and manages some resources in-house and has others provided externally [31].So we could have our data stored locally and computing processed in a public cloud while using Hypertext Transfer Protocol Secure (Https) for secure communication over Internet.

Conclusions
This paper described the development of an OMT-G model and cloud implementation of a reference database of addressing for Morocco.Through this study, we presented a historical view on addresses and demonstrated the need for standardization efforts to create a common ground for addressing work in Morocco.Using OMT-G, a promising object-oriented method for modeling GIS applications, we presented our conceptual model.We presented an overview of addressing data in Morocco, which remains the main challenge for any serious work on addressing across the country.We proposed a technical architecture based on the cloud computing, not only as an application of an innovation in the field of GIS, but also to respond to an actual need of building a system that is open to different users and applications: a real service oriented application.
With our previous work on collecting addressing locators from the field, this study proposes a method for building a standardized addressing system for Morocco.Nevertheless, the organizational considerations remain the main success factor to achieve this goal.It can not be done without a good governance of addressing data, led by specialized institutions that work together with business and research institutions.

Figure 5 .
Figure 5. Cloud computing stack and its relationship with cloud computing actors [28].

Figure 6 .
Figure 6.The dispatching of the web application's logical components through the cloud stack.