Requirements & Design

Data Modeling

Galdos Systems uses data modeling as a core process for defining and analyzing data requirements needed to support the business processes within the scope of corresponding information systems in organizations. In the process of data modeling at Galdos, professional data modelers work closely with business stakeholders, as well as potential users of the information system.

Galdos produces up to three different types of data models while progressing from requirements to the actual database to be used for the information system under development: a conceptual data model, a logical data model, and a physical data model.

The data requirements are initially recorded as a conceptual data model which is essentially a set of technology independent specifications about the data and is used to discuss initial requirements with the business stakeholders.

The conceptual model is then translated into a logical data model, which documents structures of the data that can be implemented in databases. Implementation of one conceptual data model may require multiple logical data models.

The last step in data modeling is transforming the logical data model to a physical data model that organizes the data into tables, and accounts for access, performance and storage details. Data modeling defines not just data elements, but their structures and relationships between them.

Of course, if the system under development is based on a registry, or is being build using the INdicio Registry Platform, the conceptual data model can be built as a registry information model and deployed directly as a registry to create the desired structure.

Data modeling techniques and methodologies are used to model data in a standard, consistent, predictable manner in order to manage it as a resource. The use of data modeling standards is strongly recommended for all projects requiring a standard means of defining and analyzing data within an organization. Use data modeling:

  • to manage data as a resource
  • for the integration of information systems
  • for designing databases/data warehouses (aka data repositories)

Geospatial Data Models

Geospatial data models are the heart of geographic information systems, and describe how the data are represented and accessed. Data models need to be precise, and must explicitly define the data elements and the relationships between them for a specific domain. Data models need to allow for data interchange, and include the vocabularies and ontologies that provide meaning to the data.

Geospatial data models support GML schemas in Web Feature Services by developing data mappings, ontologies, and vocabularies. Schemas and ontologies establish common vocabularies for data sharing. GML dictionaries provide controlled vocabularies, or enumerated types, from which to select allowed values for the associated GML properties. Such enumerated types may be defined by external authorities.

GML application schema development is special case of data modeling where a GML application schema is used to express the common vocabulary.

Common Vocabularies

Galdos was one of the companies in the consortium that developed ontologies for NATO in the Core GIS Data Preparation project.

An ontology provides a shared vocabulary for a domain or data model, describing the type of objects and/or concepts that exist, and their properties and relationships. The W3C Web Ontology Language (OWL) is designed for use by applications (machines and systems) that process information and data. OWL is a collection of languages for representing knowledge, providing semantic meaning to data, and making it easier for machines to interpret.

An INdicio Registry provides a useful way to store, index, and make accessible GML dictionaries and code lists for ontologies and vocabularies.

Data Interchange

Data modeling includes creating a schema mapping, from a relational schema to an XML schema, and vice versa. Data models are often specified using the OMG Unified Modeling Language (UML). UML is a standardized general-purpose modeling language; a subset of UML diagrams, together with supporting documentation, provides a rich way to describe data structures.

The W3C Resource Description Framework (RDF) is a suite of recommendations that provide a standard model for data interchange on the web. RDF facilitates merging data even if the underlying schemas are different, and it provides specific support to allow schemas to evolve over time without requiring changes in the data consumers. Using RDF helps to ensure that a data model is not locked into a specific version of a schema, which would require updating whenever a new version is released.

GML Schema Development

Galdos Systems specializes in GML application schema design, review, and development within the Transportation (Ground and Air) and Urban Infrastructure sectors. Galdos develops cost effective and valid GML application schemas in compliance with any version of OGC GML (and corresponding ISO standards). Galdos provides GML application schemas that are optimized for any specific profile (e.g. Simple Features) or for use with OGC WFS (ISO 19142) and OGC Filter (ISO 19143). The Galdos application schema design and development services also include best practice suggestions that align with user/community requirements.

GML schemas are a way to establish the community vocabulary in a shared application domain. Schemas and frameworks such as the Common Alerting Protocol (CAP), Canadian Profile of the Common Alerting Protocol (CAP-CP), and the National Information Exchange Model (NIEM) are used to define specific data structures for messages in domains such as emergency management. Galdos has significant expertise in creating schemas in GML. GML application schemas provide an essential ingredient in geospatial data sharing by specifying a common language for filters, queries, and responses.

Sometimes, a complete GML schema is not necessary to describe the data for a domain, and a GML Profile is all that is needed. A GML Profile is an expression of a subset of a GML schema that is used within a specific application domain. At other times, a GML schema may be made up of a number of sub-schemas, each of which describes a specific part of the dataset.

Galdos has over 10 years experience in developing and auditing GML Application Schemas. Galdos staff are data modeling experts and are proficient with a wide array of data modeling tools (including UML/XML tools and use of UML for GML). Galdos has an intimate understanding of the mathematical foundations of GML (e.g. Geometry, Coordinate Reference Systems, Topology, Coverages).

Galdos is one of the original creators of the Geography Markup Language (GML), and also wrote the book on GML (GML Foundation for the Geo-Web, John Wiley & Sons; London 2004. Translated to Mandarin Chinese 2007)

System Architecture

Galdos Systems helps organizations to understand their enterprise system requirements, and to devise architectures that meets those requirements. Galdos assists with both the development and the communication of conceptual system architectures, and illustrates those benefits to management and other stakeholders.

The development of an enterprise system architecture has many dimensions including functionality, data security, messaging and data storage, performance, extensibility and flexibility, and interfaces to users and existing systems. Galdos is experienced in the application of the Reference Model for Open Distributed Processing (RMODP) to complex information systems. Galdos takes a pragmatic approach to the use of RMODP that yields effective and actionable results in a timely and efficient manner.

Galdos also has extensive experience in geospatial information systems, understanding the complexity created by coordinate reference systems and coordinate transformations, data encoding, geometry and topology, and the complicated rules of data sharing between multiple departments or even multiple organizations, each with their own business models, data models, and software platforms.

Development of System Architectures

Galdos provides a range of services related to the development of enterprise information system architectures, including:

  1. Requirements Acquisition and Analysis
  2. Development of an Enterprise Model
  3. Development of an Information Model (see Data Modeling)
  4. Conceptual Architecture – Computational View
  5. Technical/Engineering Architecture

These tasks can be undertaken singly or as parts of a larger project. Galdos can work with organizations on a single activity, or from initial concept to final resolution, or provide a technical audit of what has already done. Galdos works with a variety of development methodologies, and adapts the project activities into any desired methodology or approach, whether it be the traditional waterfall, incremental, agile, or design by build.

Requirements Acquisition and Analysis

Galdos understands the requirements acquisition process. Requirements acquisition is much like the discovery phase of a legal trial; it starts with everything on the table, and then narrows the focus to the things which are really needed. Galdos typically interviews key stakeholders and develops a base of information, which is then analyzed into a set of use cases that identify:

  • What the system is for
  • Who the human and machine users or actors are
  • What the system will be used for
  • What data will be used
  • What conditions are the pre-requisites to these uses being undertaken
  • What exceptional conditions must be considered

In addition to the functional requirements, Galdos collects and analyses requirements for data security, performance, and flexibility and extensibility. At the conclusion, there will be a clearly defined set of requirements, expressed in a Statement of Requirements document, that serves as the foundation for all subsequent design.

Enterprise Model Development

Galdos has found enterprise models to be especially helpful in providing the context for a new enterprise system, and for communicating to senior management. An enterprise model is a model of a business or enterprise which is used to set the context for the system being built. Galdos takes great care, when developing the enterprise model, to make it clear and understandable, as it is the piece of information that bridges the gap between management stakeholders and information systems professionals, providing a common view of what is to be built.

Conceptual Architecture and Components

Having a clear conceptual architecture is very often the difference between success and failure. Making engineering decisions about platforms, standards, or technologies, at a point where the information flows and processing functions are not clearly understood, can be a major mistake. Galdos helps to avoid this by working to developing a complete conceptual architecture that is independent of how the system will be built. The conceptual architecture describes the system in terms of a set of logical components and the data transformations enacted by those components. Components may be logically group or broken apart to given different perspectives on the overall system, and Galdos provides a mapping of the conceptual architecture to the use cases in the Statement of Requirements, enabling us to explain how these components work together to realize each system usage.

Contact Galdos

Contact Galdos Systems to find out more about our Requirements and Design consulting services.