COGENT simplifies the process of model development by providing a visual programming environment in which models may be created, edited, and tested. The programming environment allows users to develop cognitive models using a box and arrow notation that builds upon the concepts of functional modularity (from cognitive psychology) and object-oriented design (from computer science). Models are specified by sketching their functional components using COGENT's graphical model editor. The figure below shows a production system model. This model has five principal functional components: a working memory, a production memory, a production system interpreter, a process which executes actions, and a representation of an external memory (a piece of paper).
The graphical model editor provides a number of standard components, including various kinds of buffer, rule-based processes, simple feedforward networks, compound boxes (that contain other boxes) and input/output devices. Different shaped boxes are used to represent these different types of component within a COGENT diagram, and arrows are used to indicate different types of communication between those boxes.
The various tabs across the top of the model editor provide access to different views of the information associated with the model. The Properties tab provides access to configurable properties which control aspects of the model's execution. The Description tab allows the user to attach documentation to the model. The Messages tab provides a dynamic view of messages which pass between boxes when the model is being executed.
The components which make up a COGENT model also have internal structure. Each component may be opened (by double-clicking on its box) to reveal this internal structure or to monitor the component's functioning during execution of the model. The figure below shows the Properties view of the working memory component from the above production system model.