The CONCEPT statement
A concept statement defines a concept in natural language. A concept is a name for similar things. For example:
Barack are things you might want to call
KD-686-D could be instances of the concept
CONCEPT <Uppercase identifier> <String> <String>?
This statement may occur anywhere within a context, either inside or outside a pattern.
This statement means that there exists a concept called
<Uppercase identifier> in the current context.
<Uppercase identifier>specifies the name of the concept.
Stringcontains a definition of the concept. This definition is used by the documentation generator, which expects it to be a grammatically correct and complete sentence.
String?is an (optional) reference to the source of the definition. It is meant for traceability.
CONCEPT Person "A person is a human creature." "Ventroli1997"
CONCEPT Organization "An organization is a collection of persons that work together to achieve specific objectives."
CONCEPT Criterion "A criterion is a standard on which a judgment or decision may be based." "Merriam-Webster"
- The name of a concept starts with an uppercase.
- A concept should be used for immutable concepts. E.g. use a concept
Personto express that a person will always be a person and will not change in, let us say, a table. However, don't use
Employee, because termination of an employee's contract causes a person to be an employee no longer. So employees are not immutable. To be an employee is a dynamic property, so model it as a relation.
- The description will be printed in the functional specification, so please check that your definition is a complete sentence.
- Concepts need not be defined. If you use a concept without a definition, Ampersand defines it for you (regardless of whether you defined it or not).