FCO-IM

Last updated

Fully Communication Oriented Information Modeling (FCO-IM) is a method for building conceptual information models. Such models can then be automatically transformed into entity-relationship models (ERM), Unified Modeling Language (UML), relational or dimensional models with the FCO-IM Bridge toolset, and it is possible to generate complete end-user applications from them with the IMAGine toolset. Both toolsets were developed by the Research and Competence Group Data Architectures & Metadata Management of the HAN University of Applied Sciences in Arnhem, the Netherlands.

Contents

Overview

FCO-IM is widely taught in the Netherlands and worldwide, amongst which are universities of Professional Education in the Netherlands. The method has proven its value, and is still actively used in multiple large-scale corporate environments. Branches covered vary from retail, logistics (KLM, [1] ProRail [2] ), banking, insurance to medical companies (Erasmus MC [3] ).

FCO-IM includes an operational procedure specifying how to construct an information model as described in the book Fact Oriented Modeling. [4]

The distinguishing feature of FCO-IM is that it models the communication about a certain Universe of Discourse (UoD) completely and exclusively, i.e.: it does not model the UoD itself, but rather the facts users exchange when they communicate about the UoD. FCO-IM is therefore a member of the family of information modeling techniques known as fact-oriented modeling (FOM), as are Object-Role Modeling (ORM), predicator set model (PSM) and natural language information analysis method (NIAM). Fact-oriented modeling is sometimes also indicated as fact-based modeling.

There are two main reasons why FCO-IM claims to be "fully communication-oriented".

  1. FCO-IM is the only FOM technique that completely incorporates the actual verbalizations of facts by domain experts (fact expressions) in an information model. An FCO-IM model therefore contains the soft semantics – i.e.: the meaning of the facts – as well as the hard semantics – i.e.: the fact types and the constraints. These verbalizations can be regenerated verbatim at any time from an FCO-IM model, for validation and verification purposes.
  2. FCO-IM uses a very simple and small set of meta-concepts, by abolishing the unnecessary distinction between fact types and object types: all object types are fact types as well. In other words: object types are not modeled independently from the communication, but as inextricable parts of the communication itself; FCO-IM never leaves the communication domain.

Consequently, FCO-IM is the only conceptual modeling technique that completely complies with the 100% conceptualization principle. [5]

An Example

From investigating the UoD, facts can be expressed in natural language using concrete examples. Fact expressions are sorted on type, and classified with their name. Below is a fact expression of the type City of Residence:

 "Peter Johnson lives in New York."
 City of Residence.png 
 City Of Residence - Diagram.png 
 Apprenticeship Diagram.png 
 Apprenticeship Diagram After Transformation.png 
 CaseTalk ERD.png 
 CaseTalk UML.png 

Related Research Articles

<span class="mw-page-title-main">Unified Modeling Language</span> Software system design modeling tool

The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.

A conceptual schema is a high-level description of informational needs underlying the design of a database. It typically includes only the main concepts and the main relationships among them. Typically this is a first-cut model, with insufficient detail to build an actual database. This level describes the structure of the whole database for a group of users. The conceptual model is also known as the data model that can be used to describe the conceptual schema when a database system is implemented. It hides the internal details of physical storage and targets on describing entities, datatypes, relationships and constraints.

<span class="mw-page-title-main">Data model</span> Model that organizes elements of data and how they relate to one another and to real-world entities.

A data model is an abstract model that organizes elements of data and standardizes how they relate to one another and to the properties of real-world entities. For instance, a data model may specify that the data element representing a car be composed of a number of other elements which, in turn, represent the color and size of the car and define its owner.

<span class="mw-page-title-main">Meta-Object Facility</span> Standard of Object Management Group

The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be created and manipulated. The official reference page may be found at OMG's website.

A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure Programing language.

<span class="mw-page-title-main">Entity–relationship model</span> Model or diagram describing interrelated things

An entity–relationship model describes interrelated things of interest in a specific domain of knowledge. A basic ER model is composed of entity types and specifies relationships that can exist between entities.

<span class="mw-page-title-main">Data modeling</span> Creating a model of the data in a system

Data modeling in software engineering is the process of creating a data model for an information system by applying certain formal techniques.

<span class="mw-page-title-main">Object-role modeling</span> Programming technique

Object-role modeling (ORM) is used to model the semantics of a universe of discourse. ORM is often used for data modeling and software engineering.

A logical data model or logical schema is a data model of a specific problem domain expressed independently of a particular database management product or storage technology but in terms of data structures such as relational tables and columns, object-oriented classes, or XML tags. This is as opposed to a conceptual data model, which describes the semantics of an organization without reference to technology.

<span class="mw-page-title-main">Information model</span>

An information model in software engineering is a representation of concepts and the relationships, constraints, rules, and operations to specify data semantics for a chosen domain of discourse. Typically it specifies relations between kinds of things, but may also include relations with individual things. It can provide sharable, stable, and organized structure of information requirements or knowledge for the domain context.

<span class="mw-page-title-main">Class diagram</span> Type of static structure diagram

In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations, and the relationships among objects.

A modeling perspective in information systems is a particular way to represent pre-selected aspects of a system. Any perspective has a different focus, conceptualization, dedication and visualization of what the model is representing.

<span class="mw-page-title-main">IDEF1X</span>

Integration DEFinition for information modeling (IDEF1X) is a data modeling language for the development of semantic data models. IDEF1X is used to produce a graphical information model which represents the structure and semantics of information within an environment or system.

Executable UML is both a software development method and a highly abstract software language. It was described for the first time in 2002 in the book "Executable UML: A Foundation for Model-Driven Architecture". The language "combines a subset of the UML graphical notation with executable semantics and timing rules." The Executable UML method is the successor to the Shlaer–Mellor method.

The Toolkit for Conceptual Modeling (TCM) is a collection of software tools to present specifications of software systems in the form of diagrams, tables, trees, and the like. TCM offers editors for techniques used in Structured Analysis as well as editors for object-oriented (UML) techniques. For some of the behavior specification techniques, an interface to model checkers is offered. More in particular, TCM contains the following editors.

MERODE is an Object Oriented Enterprise Modeling method developed at KU Leuven (Belgium). Its name is the abbreviation of Model driven, Existence dependency Relation, Object oriented DEvelopment. MERODE is a method for creating domain models as basis for building information systems making use of two prominent UML diagramming techniques - class diagram and state diagrams. Starting from a high-level PIM allows removing or hiding details irrelevant for a conceptual modelling view which makes the approach easier to understand. The method is grounded in process algebra, which enables mathematical reasoning on models. Thanks to this, models can be checked for internal consistency and mutual completeness, i.e. inter/intra model consistency and syntactical quality. The automated reasoning also caters for autocomplete functionality, which allows creating correct models faster.

The Semantics of Business Vocabulary and Business Rules (SBVR) is an adopted standard of the Object Management Group (OMG) intended to be the basis for formal and detailed natural language declarative description of a complex entity, such as a business. SBVR is intended to formalize complex compliance rules, such as operational rules for an enterprise, security policy, standard compliance, or regulatory compliance rules. Such formal vocabularies and rules can be interpreted and used by computer systems. SBVR is an integral part of the OMG's model-driven architecture (MDA).

<span class="mw-page-title-main">Semantic data model</span> Database model

Semantic data model (SDM) is a high-level semantics-based database description and structuring formalism (database model) for databases. This database model is designed to capture more of the meaning of an application environment than is possible with contemporary database models. An SDM specification describes a database in terms of the kinds of entities that exist in the application environment, the classifications and groupings of those entities, and the structural interconnections among them. SDM provides a collection of high-level modeling primitives to capture the semantics of an application environment. By accommodating derived information in a database structural specification, SDM allows the same information to be viewed in several ways; this makes it possible to directly accommodate the variety of needs and processing requirements typically present in database applications. The design of the present SDM is based on our experience in using a preliminary version of it. SDM is designed to enhance the effectiveness and usability of database systems. An SDM database description can serve as a formal specification and documentation tool for a database; it can provide a basis for supporting a variety of powerful user interface facilities, it can serve as a conceptual database model in the database design process; and, it can be used as the database model for a new kind of database management system.

<span class="mw-page-title-main">Applications of UML</span>

UML is a modeling language used by software developers. UML can be used to develop diagrams and provide users (programmers) with ready-to-use, expressive modeling examples. Some UML tools generate program language code from UML. UML can be used for modeling a system independent of a platform language. UML is a graphical language for visualizing, specifying, constructing, and documenting information about software-intensive systems. UML gives a standard way to write a system model, covering conceptual ideas. With an understanding of modeling, the use and application of UML can make the software development process more efficient.

Cognition enhanced Natural language Information Analysis Method (CogNIAM) is a conceptual fact-based modelling method, that aims to integrate the different dimensions of knowledge: data, rules, processes and semantics. To represent these dimensions world standards SBVR, BPMN and DMN from the Object Management Group (OMG) are used. CogNIAM, a successor of NIAM, is based on the work of knowledge scientist Sjir Nijssen.

References

  1. van der Linden, Paul (June 2001). "KLM vliegt voor de formatie uit" (PDF). Database Magazine (4): 50.
  2. Nagtegaal, Ron (February 2011). "Integratie: Het begint met taal" (PDF). Database Magazine. 2011 (1): 12.
  3. de Mul, Marleen (January 2009). "Managing Quality in Health Care". ResearchGate: 76.
  4. Zwart, Jan Pieter; Engelbart, Marco; Hoppenbrouwers, Stijn (2015). Fact Oriented Modeling. Technics Publications. ISBN   978-1-63462-086-4.
  5. Griethuysen, J.J. (1982) editor, Concepts and terminology for the conceptual schema and the information base, Publ. nr. ISO/TC97/SCS-N695

Further reading