The History of FCO-IMAppendix B of the book "Information Modeling (FCO-IM)" written by Guido Bakema, Jan Pieter Zwart, Harm van der Lek. Copied with the permission of the authors.
Fully Communication Oriented Information Modeling (FCO-IM) closely resembles NIAM (Natural language Information Analysis Method) in respects such as the conceptual framework, the modeling constructs, the diagramming technique and the modeling method. We will go further into this close relationship between NIAM and FCO-IM in this appendix.
NIAM originated from an analysis project in the area of information modeling that was carried out from 1967 by Control Data Nederland, commissioned by the director, Mr. R. Endert. He was in those days already of the opinion that the information perspective (or file organization as it was called then) is more important for the development of information systems (because it is more stable) than the process perspective and event perspectives (or program structures as they were called then). This proved to be a prophetic, since it still took a long time before data oriented design was more or less was generally accepted instead of process oriented design. This innovative research under the supervision of G.M. Nijssen, who was at that time an electrotechnical engineer at Control Data, lead to NIAM (Nijssen's Information Analysis Method). Professor Nijssen himself meanwhile prefers to speak of Natural language Analysis Method, to stress in the N from NIAM that the basic principle of NIAM is: the consistent verbalization of information in natural language.
More important than that FCO-IM fits in with the structural aspects of NIAM (modeling constructs and diagramming technique), is that FCO-IM also completely stands in the NIAM tradition in the methodical sense (operational procedure). The most typical aspect of NIAM is the emphasis it puts from the beginning on methodical aspects of information analysis, which is unfortunately often badly understood in NIAM course material. This has lead to the Conceptual Schema Design Procedure (also known as the 'NIAM cookbook'), which prescribes step by step how the NIAM analyst must carry out the analysis process to yield a conceptual information model (or information grammar in NIAM terminology). This intimate connection between structure and method explains why NIAM is especially successful in complex information modeling projects, which sometimes failed earlier with other diagramming techniques (we intentionally use this word here instead of 'modeling method'). On the other hand, an often heard criticism on NIAM can be understood from this point of view: "Let's make a simple ER diagram, because NIAM is much too cumbersome!" There is nothing against that, but the issues are of course: to what extent can a method cope with complex situations, and is the method teachable and learnable so that a trained information analyst will prove to have surplus value in such complex projects.
NIAM has gone through an historical development, which has lead to successive versions, just as other methods and techniques of information analysis. ERM (Entity Relationship Modeling) for instance, evolved to E-ERM (Extended-ERM), which next to attribute types and binary relationship types also allows n-ary relationship types between entity types and in which relationship types can aggregate to new entity types. We also come across variants of ERM under other names, for example in the information modeling of the French method Merise, and in various recent books with 'Object Oriented Modeling' in their title. The same is true of NIAM, but perhaps with less proliferation.
The historical development of NIAM slightly resembles a procession in Echternach: one step back followed by two steps forward. For more detailed documentation about the historical development of NIAM and the different NIAM versions, we refer to the literature list in this book. Here we restrict ourselves to a broad outline.
From the start, it was possible to have n-ary fact types with n>2 (i.e. fact types in which more than two object types play a role) in NIAM, next to unary and binary fact types, and it was possible to objectify fact types (Nijssen later chose the more linguistic term 'nominalization'). This nominalization leads to so-called nested fact type structures, comparable with aggregated relationship types in E-ERM. Within Control Data, however, a binary non-nested variant was chosen later, for reasons that would carry us too far to explain here. This variant rooted strongly in The Netherlands because of the book 'Informatie analyse volgens NIAM', 1985 [see literature list 2], and because this NIAM version was taught in AMBI courses under the name Binary Method. The first CASE-tools that supported NIAM were all based on this binary non-nested NIAM-variant as well.
Professor Nijssen, who was appointed to a chair at the University of Queensland (Australia) in 1982, chose to teach and further develop the n-ary and nested form of NIAM (called 'the real NIAM' by him) there. The result, among other things, was the book 'Conceptual Schema and Relational Database Design', 1985 [literature list 3]. In The Netherlands, education in n-ary nested NIAM and scientific investigations on fact type orientated information modeling and object-role modeling in general, got a new impulse when Professor Falkenburg was appointed at the University of Nijmegen in 1987. This resulted in a complete formalization of the n-ary nested form of NIAM and extensions thereof with new modeling concepts [literature list 6].
The first two authors of this book first learned about NIAM in the lectures by professor Falkenburg in the course year 1987/1988. Already in the following year, they taught NIAM in the Hogeschool Gelderland. They then introduced their old colleague Harm van der Lek, meanwhile senior consultant at BSO, to NIAM.
In 1989, Nijssen returned to The Netherlands, where he started his own consultancy bureau, next to a part-time professorship. With respect to further developing NIAM, he has since been active refining the 'NIAM-cookbook' and extending NIAM in a broad sense. In this context he uses the terms NIAM-ISDM (Information Systems Development Method based on NIAM) and UI (Universal Informatics) [literature list 4, 9, 12 and 14]. In Australia, his former colleague T. A. Halpin continued the scientific side, further standardizing the n-ary nested form of NIAM
and renaming it FORML (Formal Object Role Modeling Language), which from 1993 on was supported by the CASE-tool Infomodeler.
In 1989, NIAM was introduced to the Dutch Railways by co-author Van der Lek in his capacity of information architect in a long-term mega project VPT (Vervoer Per Trein, i.e. Transport by Train). An important subproject (the modeling of the infrastructure) that had got stuck was rescued with NIAM. At first n-ary nested modeling was used, whereas a CASE-tool based on binary non-nested NIAM was used to record the over 2500 fact types, and to generate project documentation and data definition instructions for relational databases. In a little subsidiary project to improve the support by CASE-tools, Van der Lek came across a number of structural inelegancies in both NIAM variants. These inelegancies were the cause that the transformation of a NIAM information grammar to a relational schema was difficult to implement in a transparent way. Both NIAM versions, for example, use two essentially different sorts of non-lexical object types (which do or do not arise from nominalizing fact types). He also regarded as a methodical shortcoming the fact that the then available NIAM CASE-tools were not capable of precisely regenerating the verbalizations that the domain experts had given of their facts (current NIAM tools can be blamed for the same shortcoming as well). That strongly hampered the validation of NIAM information grammars by these same domain experts.
FCO-IM (Fully Communication Oriented Information Modeling) can best be seen as the youngest descendant in the NIAM family, in which the above named shortcoming have been removed. This is also the reason why we originally called it FCO-NIAM [see literature list 11]. Fully communication oriented means: verbalizations in a natural language not only serve as a starting point for the modeling process, but are modeled completely and redundancy freely themselves as well, so they can be regenerated for validation by the domain expert.
Van der Lek discovered that the transformation from an information grammar to a redundancy free relational schema could be simplified considerably by considering information grammars and relational schemas as different manifestations of a single information model that is generic for both FCO-IM and the Relational Model. This makes it possible to transform an information grammar step by step (we call these steps grouping, lexicalization and reducing) until an 'information grammar' is obtained that is the equivalent of a redundancy free relational schema. This GLR algorithm turns out to be relatively simple to implement, and to this day, an experimental CASE-tool based on this idea is used in the above mentioned VPT project. FCO?IM, as presented in this book, is the information modeling method based on the above named generic model on the basis of full communication orientation, methodically supported by the NIAM-step by step operational procedure, adjusted where necessary (see appendix A).
Next to Nijssen, Van der Lek was also involved as external advisor in the Systems Development scheme, which was started in course year 1990-1991 at the Hogeschool Gelderland, and which later became a post-HBO education Master of Science in Information Systems Development (MScID). NIAM was chosen as its methodical reference framework. This led to close cooperation between the authors, on the theoretical, practical and didactical development of FCO-IM, which has been taught from course year 1993-1994 on in the
Systems Development scheme and in the MScID, and at the Higher Informatics schemes at Hogeschool Gelderland. This lead to a number of publications [literature list 1, 5, 7, 8, 11 and 13], joint presentations, the development of course material and the construction by students from the Systems Development scheme of two experimental prototypes of an FCO-IM supporting CASE tool. It was shown in an article [literature list 7], that a set-theoretical formalization of FCO-IM needs less fundamental concepts than n-ary nested NIAM does. At the NIAM ISDM conference of 1994, the fully matured FCO concepts were presented as a candidate for a new NIAM standard ([iterature list 11], and were positively received. At the same time, a third prototype of an FCO-IM supporting CASE tool was demonstrated, which was developed by students of the Hogeschool van Amsterdam in their graduation project under the supervision of the authors. This collaboration was continued after these students had graduated. They had meanwhile founded the company Ascaris Software, which among other things supplies the FCO-IM Casetool that goes with this book.
Meanwhile, FCO-NIAM and FCO-IM are being taught in higher education in many places, and professor Nijssen has adopted the FCO-concepts for the greater part in his course material [literature list 9, 10, and 14], and FCO-IM is applied in various companies. We name two examples:
The consultancy company TLO Holland Controls from Papendrecht has applied FCO-IM successfully in the ETIM-project, in which an overarching information model was developed that acts as a collective reference model for the branch of industry of electro-technical installation companies.
At the American semi-governmental company Sandia National Laboratories (Albuquerque, New Mexico, USA), which already applied NIAM, an important streamlining of their data dictionaries was realized by basing them on the generic metamodel of FCO-IM.
We close this appendix with a final remark: different cooks working with the same cookbook, in the same kitchen, with the same ingredients, will mostly bring somewhat different dishes on the table, even in a qualitative respect. NIAM information models too, drawn up by different analysts to model the communication about the same Universe of Discourse (or even the same communication about the same UoD), will mostly be somewhat different, even in a qualitative way, no matter how careful the 'NIAM-cookbook' may have been followed. We therefore find the claim made in some NIAM textbooks:'fully reproducible, even by different analysts', too strong. The NIAM step by step operational procedure, when followed precisely, does indeed guarantee redundancy free relational database schemas, but that is not all there is to it. This applies in full to FCO-IM as well: some semantic gaps principally cannot be bridged algorithmically. One of the deepest ravines for analysts turns out to be classification and qualification. In the training of information analysts therefore, a high priority should be given to classifying and qualifying, and also to learning how to make concrete examples and how to verbalize (also not completely bridgeable). Fortunately, the FCO-IM Casetool strongly supports everything else.