# FCO-IM

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.

## 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, ProRail), banking, insurance to medical companies (Erasmus MC).
FCO-IM includes an operational procedure specifying how to construct an information model as described in the book Fact Oriented Modeling.
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".
* 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.
* 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.

## 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:
* This fact expression contains parts which needs to be further qualified and classified.
* This information grammar can be shown graphically. In these diagrams the original fact expression and examples can be found, and even regenerated for verification by domain experts.
* As soon as more fact expressions and constraints are added, a larger diagram will be presented.
* Once the information model is created, algorithmic transformations can be applied. Below is the same diagram file after the transformation steps for Grouping, Lexicalizing and Reducing has been applied:
* From the original information model, different outputs and diagrams can be generated. For instance: ER model:
* And also different models or diagrams can be generated such as: UML Class Diagram, XML Schema Definitions, RDF/OWL, SQL, etc.
* With the interest in Graphs, and given the fact that example populations are provided, a knowledge graph can be easily generated. Instead of depicting an information model using its types, the instances themselves become available as well.