How to read this documentation?
This part of the documentation provides an outline of various aspects of the library and can be seen as a tutorial intended to accustom the reader to the use of the library. If the part delineating all the library classes and the related methods can be used as reference to the use of the library, such an introduction is not suited to understand what it is possible to do with Cogitant, how to do it, to know where to look for a given functionality (in which class), to know how to make class extensions, to define new operations, etc.
It is thus recommended to browse this part of documentation before studying in detail the methods offered by each class. Nevertheless, this tutorial includes links towards detailed descriptions and it can be interesting to consult some of these descriptions during the tutorial reading.
Documentation overview
More precisely, this part of documentation can be split into four sections:
-
A first section provides information about the use of the library without getting into a presentation of classes and in particular the Installing Cogitant from source, as well as the Conventions used in the naming of files, classes and methods. The last point mentioned in this section deals with the procedure to follow for Compiling programs using Cogitant, and in particular the issues of header and library files.
-
The second part more particularly relates to the use of the library in order to build programs and put forward a description of the various features offered by the library: After an overview of the General architecture of the library, features of the Support manipulation are described as well as those for the Conceptual graph manipulation and the Rules and constraints manipulation. Certain operations being possibly incorrect, Cogitant has an Error management. The available Operations are not directly methods of cogitant::graph or cogitant::rule classes but are accessible through specific classes. These classes, subclasses of cogitant::operation, offer the operations defined in the model (projection, application of rules) as well as inputs/outputs operations in various formats, and operations for checking of objects. At last, the library being designed to be widened, the mechanism of Object allocation is described. The use of cogitant::Allocator classes facilitates the definition of new classes from existing classes (by heritage): thanks to these allocators, these new classes can be easily taken into account within the existing mechanisms.
-
The third section describes two Cogitant extensions: the Client-server architecture as well as the classes allowing the Graph drawing.
-
Finally, the last part provides a reference for file formats used in Cogitant, and in particular the BCGCT Format and the CoGXML Format and ends with a Bibliography as well as a list of Latest changes.
Files included in the archive
This section shows a quick overview of the directory and file tree included in the archive.
-
doc/
Directory containing the library documentation. Files of this directory are, for the most part, intended to Doxygen, which is the tool used to generate HTML, PS or PDF documentation.
-
cogxml.dtd
The DTD for the CoGXML format.
-
cogitant_html/
HTML documentation of the library. To consult this documentation, open the file index.html
in your browser.
-
cogitantjava_html/
HTML documentation of the Java API. To consult this documentation, open the file index.html
in your browser.
-
cogitantcs.dtd
The DTD of the exchange format between Cogitant's server and client.
-
docpages/
This directory contains tutorial "Doxygen sources". You do not need this directory, excepted if you have to modify and regenerate the documentation.
-
include/
Directory containing head files of the library. Actually, no file resides in this directory, they are all in the cogitant
subdirectory in order to make the copy of this directory in a standard one easier (/usr/local/include
for instance) and to make the files reachable through a #include "cogitant/xxx.h"
-
cogitant/
header files of the library.
-
cs/
header files of the client-server library extension.
-
display/
header files of the library extension enabling graph displaying.
-
java/
header files enabling interfacing with java.
-
samples/
Program examples using the library as well as files containing graphs and supports.
-
bcgct/
Supports, graphs and rules examples, in the BCGCT format. Each subdirectory contains a support (bcs
extension) and graphs (bcg
) and/or rules (bcr
).
-
doc/
Source examples given in the documentation.
-
minimal/
A program example using the library, loading a support and graphs, and computing projections.
-
xml/
File examples in CoGXML format.
-
javadisplay/
and wxdisplay/
Two displaying examples and conceptual graphs edition, using respectively the Java API and the wxWidgets library (see Graph drawing).
-
cgiserver/
The HTTP/TCP interfacing module for the Cogitant server (see Client-server architecture).
-
src/
Source files of the library. Source files corresponding to an extension of the base model are prefixed by two letters corresponding to the namespace name. ir
for information searching, cs
for client/server and dp
for displaying.
-
test/
Test programs of various library features.
-
java/
The Java source code of classes enabling to use certain Cogitant features from java programs.
-
configure, Makefile.am, Makefile.in
Files required for the library compiling under Unix-based systems.
User licence
The Cogitant library is distributed under the GPL licence (GNU General Public License) version 2. This license can be referred in the COPYING
file provided with the library or at the following address: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Cogitant 5 - 2000-2017
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- Documentation
- This documentation has been generated thanks to Doxygen
http://www.doxygen.org
written by Dimitri van Heesch © 1997-2017.