This weekend is a particular weekend because I am deciding to write a blog about GraphTalk and more generally speaking about the GraphTalk project.
But in few words, what is GraphTalk ?
GraphTalk is a meta-case technology developed at Xerox during the 1986-1988 periods.
Mounir Khlat and Patrick Jeulin are the two co-authors of this environment, even if a lot of developers were involved in the GraphTalk project at Xerox first and at Parallax Software Technologies later.
The GraphTalk's foundations are:
- the Niam (Nijssen's Information Analysis Method) modeling method from GM Nijssen developed at Control Data Corporation and the Niam's extensions we made during the Maia project at the BNP Paribas,
- the work of John Sowa on the conceptual graphs and the mathematical theory about Hypergraphs,
- the RIDL project from Robert Meersman,
- the whole conceptual stuff we used to set up the enterprise IT architecture at Rank Xerox France (1986-1988),
- the stunningly beautiful Xerox Artificial Intelligence Environment (XAIE) environment with particularly 4 specific components:
- The InterLispD grapher.
- the Loops paradigms (Daniel G. Bobrow and Mark Stefik)
- the InterLispD SEDIT Lisp structural editor
- the Notecards (Randall Trigg) Hypertext environment
- The mentor specification language metal from Bertrand Melese
The initial GraphTalk implementation environment was InterLispD (the Xerox Lisp) on Xerox 1186 workstation and on Sun workstation with the InterLispD emulator.
Programming with GraphTalk is pure Visual programming, even APIs (with Lisp for the initial versions, with C/C++ for the portable versions) allow developers to implement sophisticated triggers, methods or specific modules.
During 1988-1990, GraphTalk was completely re-designed and re-implemented in C/C++ to be running on OS2/Presentation Manager, Windows, Unix/Motif on Sun, HP and IBM workstations.
GraphTalk has his own proprietary Object manager. Some GraphTalk prototypes were implemented with Object Oriented DBMS like Ontos, Objectstore, Versant, Poet and Matisse. .These GraphTalk versions were only internal prototypes, never used outside the Labs.
The main part of GraphTalk is the GraphTalk developer environment (Meta-tool) with dedicated graphs editors to specify the grammar of the editors. A compiler uses this source code to generate the CASE tool.
A CASE tool is a hypergraph editor; each graph has his own grammar.
GQL (GraphTalk Query Language) allows to access to all data in the hypergraph with a SQL like syntax.
Properties of each instance (hypergraph, graph, node, link) could be multi-valued typed fields (integer, decimal, string, binary file, structured file, etc..), or other instances (graph, nodes).
GQLReport (with a mixed of GQL and SGML/XML syntax) allows to produce Word document instances of GTD (GraphTalk Template Document).
LEdit (Language editor) is a BNF editor used to define the grammar of a language and to generate the parser and the structural editor compliant with the grammar.
LEdit co-authors are Léopold Wilhelm, José Luu and Mounir Khlat. LEdit was used for the procedural parts of the generated CASE tools and as code generator himself (for example the Root CASE tool generated
With GraphTalk, a lot of CASE tools were implemented, directly by the Xerox and Parallax Software Technologies team, and by partners too (for example a Fusion CASE tool by SoftCase in
The main developed CASE tools were: SADT, IDEF0, SA, SD, SART, Gane-Sarson, Merise, Merise2, Niam, Maia, Hood, OMT, UML, OOA Shlaer and Mellor, Axial.
Several model generators were developed by Leopold Wilhelm. The generation used GKnowledge (an inference engine developed with GraphTalk) to take as input for example a Niam data model and to generate a 5th NF relational model with the complete integrity rules schema.
Some IT software engineering teams developed their own modeling environments:
- The French Telco labs (CNET) with ASN1 generation,
- Sextant Avionique for a test environment dedicated to the Dassault Aviation Rafale aircraft, with an Atlas code generator,
- ELF/Total for an upper-CASE for SAP applications integration thru an Hypergraph of Gane-Sarson DFDs,
- The CDC (Caisse des depots et Consignations) for a business rules integrity checker
Some guru on methodology used GraphTalk to implement their own method:
- Pierre Der Arslanian for the Root method
- The BNP Paribas for Maia.
- Henri Lenormand for the SCOPE (Système de connaissance pour l'entreprise) environment
Some French universities used GraphTalk to develop some research prototypes.
Some European ESPRIT projects used GraphTalk too.
Since 1995, GraphTalk is a product and a trademark of CSC (Computer Sciences Corporation).
So this blog and the set of GraphTalk blogs are and will be dedicated exclusively to the period 1986-1995 when I was in charge of the GraphTalk project.
Gilles Barbedette, senior developer and architect @ Parallax Software Technologies, has become the GraphTalk chief architect at CSC since 1995.