Action buttons are icons in the Garp3 interface which are used to manipulate (views of) models and simulations. Action buttons are greyed out when they cannot be used. Unlike graphical icons, the buttons correspond to actions, and not to model (or simulation) contents.
Agents are used to model entities outside of the modelled system. Agents can have quantities influencing the rest of the system, which are sometimes called exogenous or external influences.
Agent fragments contain an agent and may contain one or more influences. Agent fragments are used to describe the influences that agents (exogenous entities) have on the system.
There are two kinds of aggregates, namely model fragments and scenarios. Aggregates are complex model ingredients, as they consist of multiple model ingredients.
Assumptions are labels which are used to indicate that certain conditions are presumed to be true. They are often used to constrain the possible behaviour of a model. Because they describe neither structural nor behavioural aspects of a system, they belong to neither the structural building blocks nor the behavioural building blocks categories.
Attributes are properties of entities which remain static during simulation (i.e. do not change). They have an associated set of attribute values, which are the possible values of the attributes.
Attributes values are the possible values an attribute can have.
Within the context of qualitative reasoning and modelling, the behaviour of a system means the changes of the quantity values as the result of processes with are active within the modelled system. The behaviour of a system can be visualised as a state graph.
Behaviour graph: See state graph.
A behaviour path is a sequence of successive states within a state graph. The path describes the evolution of the quantity values and ordinal relations as time progresses.
Behavioural building blocks are modelling ingredients which model the behavioural aspects of a system. They can be further distinguished into features and dependencies.
Causal dependencies are used to model how processes induce changes, either directly or indirectly. These dependencies are represented as influences and proportionalities.
See Operator.
The relationship between the causes and the effects they produce.
A causal model is a diagram containing quantities and causal dependencies (proportionalities and influences). It describes how the quantities are causally related. In the context of Garp3 the term causal model is sometimes used to refer to the dependency diagram in Simulate. It is also used as a term for one of the intermediate Sketch representations, which can be created in the causal model editor.
A state is called closed when the successive states and transitions are generated from its pruned and merged terminations.
A color code is a system for displaying information by using different colors. Throughout the Garp3 interface color is used as a distinguishing feature to make graphical icons represent different views and meaning, using the same icon with different colors. These entity icons show an example of the same ingredients with different color codings.
Humans perform commonsense reasoning and problem solving continuously as they go about their tasks in the physical world. It allows humans to behave successfully in new situations, achieve goals, build and use tools, and so on. In addition, all this reasoning happens without possessing formal scientific theories that cover the relevant features in a systematic, detailed and numeric way. An example of common sense reasoning might be the inference that if someone asks for a phone book it is because they want to look up a number, and make a phone call.
A concept map is a diagram that visualises the relationships between concepts. It typically consists of nodes and arcs (connecting nodes). In the context of Garp3 a concept map is one intermediate Sketch representations, which can be edited in the Concept map editor.
The conditions in a model fragment indicate what things should be true within a scenario (or state) in order for the consequences to be true.
See Condition and Model fragment".
Conditions specify what must be present or hold in order for a model fragment to apply. Consequences specify the knowledge that will be introduced when the model fragment applies. Conditional model ingredients are displayed in red, while consequences are displayed in blue.
Model fragments may require other model fragments to be active in order to become active themselves. These conditional model fragments are sometimes referred to as conditional relations can be made visible in the model fragment definitions editor.
Configurations are used to model relations between instances of entities and agents. Configurations are sometimes referred to as structural relations.
Consequences within a model fragment specify the information which is added to a scenario or state when the conditions of the model fragment are fulfilled.
The toolbars in Garp3 are context sensitive, which means they provide visual feedback about which actions can be performed at a particular moment. If an icon is greyed out, it means the option is inactive in this context. Particularly, the (not) selected ingredients in a workspace determine which options being available or not.
Correspondences are used to indicate that qualitative values of different quantity spaces occur at the same time. See also value correspondence.
The current value refers to either the value of the magnitude or the value of the derivative of a quantity in a specific situation.
Behavioural dependencies describe relations between behavioural features. There are three kinds of dependencies: causal dependencies, mathematical dependencies and correspondences.
The derivative indicates the direction of development of a magnitude, and has either the value min (decreasing), zero (stable), or plus (increasing).
Every visualisation of a part of a model or simulation in Garp3 is called a diagram.
Entities are the physical objects or abstract concepts that play a role within the system. These entities are arranged in a subtype hierarchy.
Envision is a key term in the approach to qualitative reasoning developed by J. de Kleer and J.S. Brown (published in the journal Artificial Intelligence in 1984). It refers to the notion of envisioning the behaviour of a system. The key idea is the notion of components. The world is seen as a collection of 'devices'. Devices consist of components, components manipulate materials (which we perceive as component behaviour), and communicate via conduits.
Diagrams in Garp3 can be exported to Encapsulated PostScript (EPS) files. EPS files are resolution independent, since they store images in a vector based format instead of pixels.
An equation is an expression containing quantities, operators and inequalities.
The equation history describes how the ordinal relations change through a sequence of states (usually a behaviour path).
See Agent.
The behavioural features describe the variable aspects of entities of a system.
Full Quantity Space Correspondences indicate that there is both a quantity space correspondence between the quantity spaces of the magnitudes, as well as a quantity space correspondence between the quantity spaces of the derivatives. Full correspondences can be either directed or undirected.
A full simulation determines the complete behaviour of a system based on a scenario. During a full simulation the reasoning engine recursively finds the terminations for each state, prunes and merges these terminations, and by doing so finds all possible transitions.
Garp is the name given to the approach to qualitative reasoning developed by B. Bredeweg (published as PhD thesis by the University of Amsterdam in 1992). One of the main goals behind Garp was to unify three alternative approaches to qualitative reasoning (QPT, Envision, and QSIM), into a single framework for Expertise in Qualitative Prediction of Behaviour. Garp has been further developed since, incorporating new reasoning features and increasing usability. At this moment Garp3 (the latest version of the software) implements an advanced workbench for building, simulating, and inspecting qualitative models.
Garp3 is a workbench for building, simulating, and inspecting qualitative models. Garp3 is implemented in SWI-Prolog and seamlessly integrates three previously developed software components, including: Garp2 for simulating models (Linnebank, 2004), Homer for building models (Jellema, 2000), and VisiGarp for inspecting simulation results (Bouwer, 2005). Integrating these tools has led to one new tool that incorporates all of the original functionalities, and thus incorporates the advantages of each tool, but also adds interoperability and an easy to use uniform user interface. Garp3 uses a diagrammatic approach for representing model content, and graphical buttons to communicate the available user options and manipulations. Garp3 can be freely downloaded and used.
Graphical icons are icons that represent the contents of a model (the model ingredients), or simulation results. Other icons in Garp3 are the action buttons.
A hierarchy is an ordering of things. In Garp3 the most seen hierarchy is a subtype hierarchy.
Identity relations are used to specify that two entities in different imported model fragments are the same individual. There are two possible applications. Firstly, they can be used to indicate that two entities in different imported model fragments are actually the same one. Secondly, they can be used to specialise entities in child model fragments. For example, the fish entity in a parent model fragment can be specialised to a salmon entity in the child model fragment.
An imported model fragment is a model fragment that is incorporated into another model fragment as a condition. Multiple instances of a model fragment can be incorporated into another model fragment as conditions. The model fragment that has imported model fragments can only become active when the imported model fragments are active too.
Inequalities (<,≤,=,≥,>) specify an ordinal relation between two items, i.e. that one item is different from (or equal to) the other item. Because inequalities specify an order between items, they are sometimes referred to as ordinal relations. There are eleven ways to use inequalities, depending on the type of the two items related by it.
Influences are directed relations between two quantities, and are either positive or negative. Influences are the cause of change within a model, and are therefore said to model processes. Depending on the magnitude of the source quantity and the type of influence, the derivative of the target quantity either increases or decreases. An influence I+(Q2,Q1) causes the quantity Q2 to increase if Q1 is positive, decrease if it is negative, and remain stable when it is zero (assuming there are no other causal dependencies on Q2). For an influence I- this is just the opposite. Influences are also referred to as direct influences.
Ingredients are the parts make up a structure. In Garp3 model ingredients are all the parts that constitute a model and its simulation results.
An instance is a specific occurence of an object of a certain type. In Garp3, users can create instances of the model ingredient definitions they define.
An interpreted state is a new state, which is generated by either applying relevant model fragments to a scenario, or by applying them to a state resulting from a transition.
An interval is a qualitative value which describes a set of quantitative values. There are never two succeeding intervals in a quantity space. If there is a preceeding or succeeding value, it must be a point.
Quantity space correspondences can also be inversed, indicating that the first value of the first quantity corresponds to the last value of the second quantity space, the second value corresponds to the penultimate value, etc. Inverse correspondences can also be either directed or undirected.
See Legacy model.
Garp3 models can be exported in legacy mode. This exports the models as a set of prolog files which represent the model, which is the format that is used by Garp engine. Garp3 also allows legacy models (made for previous versions of Garp) to be opened and simulated. Legacy models cannot be viewed and manipulated using the build environment.
Mathematical dependencies describe the mathematical relations between behavioural features.
A model is an abstract representation of a system which enables users to make testable predictions about what happens to that system in different situations. One of the key differences between qualitative models and numerical models is that qualitative models only formalise the important qualitatively distinct values quantities of a system can have. Values of little importance are aggregated as intervals between these important values.
Model fragments describe part of the structure and behaviour of a system in a general way. They are partial models which are composed of multiple ingredients. Model fragments have the form of a rule. This means that model ingredients are incorporated as either conditions or consequences. Model fragments themselves can be reused within other model fragments as conditions, called imported model fragments. Furthermore, subclasses of model fragments can be made, which augment the parent model fragment with new ingredients. The consequence ingredients of model fragments which match the actual system situation will be added to that scenario. In that case, the scenario fulfils the conditions specified in the model fragment (which describes a general situation). There are three different kinds of model fragments: static fragments, process fragments, and agent fragments.
See Ingredient.
In Garp3 many model ingredients can be given a user defined name. This allows users to create models about specific domains.
A state is called ordered, when transitions overruled by other transitions with higher priority have been pruned, and terminations that occur simultaneously due to correspondences have been merged.
See Inequality.
Using operator relations, more complex expressions can be created than is possible with only inequalities. They are used to calculate the sum (plus) or difference (min) between two items. Operator relations can be the target or source of an inequality relation. There are nine different ways plus/min relations can be used, depending on the type of the two items related by it.
The Web Ontology Language (OWL) is a logical knowledge representation language based on RDF/XML. Garp3 models can be exported to OWL files and uploaded to the qualitative model repository. The OWL format makes it possible for the repository to access the contents of the models to facilitate searching, which is not easily possible with the default Garp3 files.
A point is a qualitative value which corresponds to a quantitative value. There are never two succeeding points in a quantity space. If there is a preceeding or succeeding value, it must be an interval.
A prediction is a statement or claim about likely future events or outcomes based on observation, experience or scientific reasoning.
A process can be defined as a mechanism that causes changes in the properties of some object, or that causes objects to disappear or new objects to appear. The notion of processes is a key concept in the QPT approach to Qualitative Reasoning. Processes can also be used in Garp3, along side with other key ideas from the field.
Process fragments contain at least one influence, but no agents. These model fragments are used to describe processes which take place within the system.
Proportionalities are directed relations between two quantities. They propagate the effects of a process, i.e. they set the derivative of the target quantity depending on the derivative of the source quantity. For this reason, they are also referred to as indirect influences. Like influences, proportionalities are either positive or negative. A proportionality P+(Q2, Q1) causes Q2 to increase if Q1 increases, decrease if Q1 decreases, and remain stable if Q1 remains stable (given that there are no other causal influences on Q2). For a proportionality P- this is just the opposite.
QSIM is the software developed by B. Kuipers and co-workers. This software, and theory behind it, is documented in a book issued by MIT Press in 1994 (Qualitative Simulation, Modelling and Simulation with Incomplete Knowledge). A QSIM model is a set of constraints. These constraints are called Qualitative Differential Equations (QDE's), the idea being that a qualitative model is essentially a rewrite of Ordinary Differential Equations (ODE's) into QDE's.
Qualitative Process Theory (QPT) is the approach to qualitative reasoning developed by K.D. Forbus in his Phd (published in the journal Artificial Intelligence in 1984). The key idea is the notion of processes. Processes are the cause of changes in the world. Causality is explicitly represented in a QPT model. QPE (Qualitative Process Engine) is the engine that implements QPT.
Qualitative means describing the value of a quantity using labels as distinctions instead of numerical values. For example using boiling point instead of 100 degrees celcius, positive for every value greater than zero, or high as an indication of a large population.
Qualitative Reasoning (QR) or Qualitative Reasoning and Modelling (QRM) is an area of research within Artificial Intelligence (AI) that automates reasoning and problem solving about the (physical) world. It creates non-numerical descriptions of systems and their behaviour, preserving important behavioural properties and qualitative distinctions. Successful application areas include autonomous spacecraft support, failure analysis and on-board diagnosis of vehicle systems, automated generation of control software for photocopiers, conceptual knowledge capture in ecology, and intelligent aids for human learning.
The qualitative simulator is an implemented software algorithm that generates a prediction of the behaviour of a system. In Garp3 this engine take a scenario as input, uses a model fragment library for domain knowledge and produces a state graph as result.
A qualitative value is either a point or interval which can become the current magnitude or current derivative of a quantity. Qualitative values are organised in quantity spaces.
Quantitative (numerical) means describing the value of a quantity using numbers.
Quantities represent changeable features of entities and agents. Each quantity has two associated quantity spaces: a definable one for the magnitude, and the default quantity space {Min, Zero, Plus} for the derivative of the quantity.
A quantity space specifies a range of qualitative values a quantity magnitude or derivative can have. The qualitative values in a quantity space form a total order. Each qualitative value is either a point or an interval, and within the quantity spaces these two types consecutively alternate.
Quantity space correspondences exist between two quantity spaces, indicating each of the values of the quantity spaces of those quantities correspond to each other. Like value correspondences these can be either directed or undirected.
The quantity value is the combination of the current value of the magnitude and the current value of the derivative of a quantity. Quantity values are often written down as: <magnitude, derivative>.
The notion of a rate is used to refer to the quantity that represents the flow of material, energy, or information between two entities. For instance, the 'flow of heat' between two adjacent objects that differ in temperature.
A refinement is a model ingredient that specialises an imported model fragment (which has to be imported in a parent model fragment) to one of its children (or further descendants). Thus, model fragments that are imported in some other model fragment can be refined to their subtypes in the subtypes of the model fragment in which they are imported initially.
Scenarios describe the actual state of a system, and can consist of all the ingredients which can be used as conditions in model fragments, except for other model fragments. Scenarios are used as input for the qualitative simulator. The qualitative simulator interprets the scenario (finds applying model fragments, incorporates their consequences, and derives values) to generate one or more start states. These start states are used to generate the rest of the behavioural graph.
The notion of Sketch is used to refer to a set of intermediate representations that modellers can create in order to develop their ideas on the model they want to create. Going through different Sketches makes these ideas more explicit. Examples of Sketches are the concept map, the structural model, the causal model, and the anticipated behaviour in terms of a state graph. Sketches can be created in the Sketch environment.
The word simulation is used to designate the process of qualitative reasoning, which is used to generate the simulation output. The simulation environment in the Garp3 software offers the choice to do either a full simulation or the next reasoning step for a specific state.
Simulation output refers to the state graph generated by the qualitative reasoner as a result of simulating a qualitative model by providing a scenario as input.
A state describes a particular situation of a modelled system, reflecting a qualitatively unique behaviour. A state (description) is an assembly of applicable model fragments and thus contains information about the physical structure, the associated quantities and their values (in this state), and inequalities and the causal dependencies between the quantities. In a Garp3 state graph, a state can be either: interpreted, terminated, ordered or closed.
Central to Qualitative Reasoning is the way in which a system is described during a period of time in which the qualitative behaviour of the system does not change (a qualitative distinct state of behaviour). The notion of change is subtle, because numerical values of variables may change whereas from a qualitative point of view the behaviour of the system remains constant. During a heat flow, for example, the temperature of a liquid may increase, but from a qualitative point of view it is still a liquid, until another process (boiling) becomes active and the liquid becomes a gas.
Static fragments are used to describe parts of the structure of the system, and the proportionalities which exist between the quantities. In static fragments all ingredients may occur except agents and influences.
A state graph is a set of states, and the possible transitions between those states, which represents the behaviour of a modelled system. State graphs are generated by simulating a qualitative model.
Quantities that are most relevant to define the state of a system are sometimes referred to as state variables.
Structural modelling ingredients describe the organisation of the concepts within a system and the static features of those concepts.
In Qualitative Reasoning the notion of a structural model is typically used to refer to the physical structure of a system, that is, a representation of the entities that constitute the system and how they are connected. In the context of Garp3 a structural model may have two meanings. On the one hand the structural model is one of the key representations used for simulation the behaviour of a system (the notions of entity, attribute and configurations are relevant in this respect). On the other hand, the structural model is also one of the intermediate Sketch representations, which can be created in the Structural model editor.
Structural relations: See configuration.
A subtype hierarchy shows the taxonomy of classes and the subtype relations which associate these classes.
A subtype relation relates a class of objects to a superclass. Instances of the class are also instances of the superclass (e.g. given that oak is a subtype of tree, instances of the class oak are also instances of the class tree).
A state is called terminated if all the possible ways a state can end (due to changes of magnitudes or derivatives of quantities, or changes in inequalities between quantities) are identified.
A termination is a possible way for a state to end (a change in a magnitude or derivative of a quantity, or a change in an inequality between two quantities).
A tooltip is a small yellow box which appears when a user hovers the mouse pointer over an action button or graphical icon without clicking on it. Text in the tooltip explains the item that is being hovered over.
A transition describes the change between two different states. The transition information describes the transition conditions which are fulfilled by the source state, and the results of the change (i.e. next state).
The transition history shows the transitions which cause the changes from one state to the other for a sequence of states.
See Value assignment.
A value assignment indicates that a certain quantity should have or has a certain value. Notice that value assignments relate to inequalities. In a way, value assignments can be seen as abbreviations for inequalities between a quantity (or derivative) and qualitative values in its quantity space.
Value Correspondences are relations between qualitative values of quantity spaces belonging to different quantities, and can be either directed or undirected. The former means that when value a of quantity space X corresponds to value b of quantity space Y, the simulator derives that quantity space Y has value b when quantity space X has value a. If the correspondence is undirected, it also derives the value a of quantity space X when quantity space Y has value b.
The value history describes how quantity values change through a sequence of states (usually a behaviour path).