10.3.1The types of relationships in Conceprocity
Here we largely follow G-MOT.
Association: simple connection Aggregation: is-a, is-made-of independent parts
There is no direct equivalent in G-MOT.
Composition: is-a, is-made-of dependent parts Specialisation / Generalisation: kind-of Regulation: controls, directs, influences… Precedence: comes-after, comes-before… Entrant-Product (Input-Output): causes, gives rise to… Instantiation: is an example (instance) of…
Grammar Rules govern the valid types of links that may join the knowledge types
10.3.2Associations
The Association link (G-MOT: A) is simply an untyped connection between concepts. By untyped, we mean that the modeller either does not yet know the type of the relationship or is not yet capable of deciding its more precise type.
Figure An association between two concepts
10.3.3Aggregations
The Aggregation link (G-MOT: G) associates multiplicity – ordinality or cardinality – with a relationship.
Aggregation is an extension of the G-MOT model.
It is essential in data modelling in accordance with the relational model of (Codd 1970).
The Aggregation link (G-MOT: G) is a kind of association which says that one concept is part of another, together with others of the same type, so that all the parts are together a group of parts which constitute a whole concept: a part-whole relationship. Aggregation is a special type of association used to model a "whole to its parts" relationship. In basic aggregation relationships, the lifecycle of a part class is independent from the whole class's lifecycle. This is in contrast with composition, which follows.
Figure An aggregation relationship
10.3.4Compositions
The Composition link (G-MOT: C) also connects a knowledge (object) with one of its constituents or its constitutive parts. The composition aggregation relationship is just another form of the aggregation relationship, but the child class's instance lifecycle is dependent on the parent class's instance lifecycle.
Thus a table is composed of legs and of a flat surface. Similarly, a chessboard is composed of squares, each of which may be black or white.
Figure A composition relationship
We can ascribe a multiplicity to either or both ends of an association, an aggregation or a composition. This multiplicity can be:
An exact number A range of numbers, separated by two dots An arbitrary unspecified number represented as an asterisk * Example multiplicities: 1 1..1 0..1 1..* 0..* 3..4 – e.g. number of legs on a stool Cardinality and ordinality distinguished
Cardinality specifies the maximum number in relationships and ordinality specifies the absolute minimum number in relationships. When the minimum number is zero, the relationship is usually called optional and when the minimum number is one or more, the relationship is usually called mandatory.
10.3.6Specialisation and Generalisation
One knowledge type may be a particular case of another knowledge type: a “sort-of” relationship exists between the two concepts. This is termed specialisation. Conversely, reading the other way between the two concepts, we recognise that the first concept is a generalisation of the second. Thus a table is a specialisation of furniture. One type of furniture is a table; there are of course others.
Figure Specialisation / generalisation relationship
10.3.7Regulation
The regulation link exists to enable certain more complex relationships to be expressed:
In conjunction with CONCEPTs: Here the principle defines some constraints that must be satisfied or establishes a law or a relation between two or more concepts
In conjunction with a PROCEDURE OR ANOTHER PRINCIPLE: Here the principle controls or governs the execution of a procedure or the selection of other principles.
A regulation link can be used from a principle or actor towards another abstract knowledge which can be a concept, a procedure or another principle.
A regulation link between two concepts defines some constraints that must be satisfied or establishes a law that governs the relationship.
A regulation link from a principle to a procedure or to another principle controls or governs the execution of a procedure or the selection of other principles.
Figure Regulation relationships for actors
Figure Regulation relationships for principles
10.3.8Precedence
Figure Precedence relationships
The precedence link connects two procedures or principles, the first of which must be ended or estimated before the second begins or can be applied. For example: prepare an outline precedes write a text.
10.3.9Entrant-Product
This relationship, which is broadly equivalent to input/output, is used to identify concepts that are entrants to a procedure (the arrow goes from concept to procedure) or a product of a procedure (the arrow goes from the procedure to the concept). For example, outline is an entrant to write a text; text is the product of write a text.
A procedure may either be defined entirely informally, or it may have a more or less formal definition. If it is expressed sufficiently formally, for example in a programming language, it can be viewed as a function which transforms its entrants into its products.
10.3.10Instantiation
This relationship connects an abstract knowledge to a concrete one. Abstract concepts have as their concrete equivalent facts. Abstract procedures have as their concrete equivalent traces. Abstract principles have as their concrete equivalent statements. See Figure .
10.3.11Labelling relationships in Conceprocity
One form of label which is commonly used in Conceprocity is that of multiplicity. See section 10.3.5.
Conceprocity also permits relationships to be labelled with text but it doesn’t insist that that be the case. In fact the most common use of labels in relationships is in the CIAOPEA simple usage profile of Conceprocity where the only relationship type which is supported is Association.
There is a basic issue with labelling relationships, which is that it is often necessary to label a relationship twice - once in one sense and once in another.
For this and for other reasons, Conceprocity tends to prefer the use of more notions – often procedures – to make clearer the relationship between, for example, two concepts. An intermediate procedure can be a function which transforms one concept to another. Then if concepts, procedures and principles are well named, there is no additional value in labelling relationships.
Share with your friends: |