Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
hekate:ardplus [2009/03/23 08:48] kinio |
hekate:ardplus [2019/06/27 15:49] (current) |
| |
Conceptual attribute names are capitalized, e.g.: ''WaterLevel''. | Conceptual attribute names are capitalized, e.g.: ''WaterLevel''. |
Conceptual attributes are being //finalized// during the design process, into, possibly multiple, physical attributes, see Def. [[.:ardplustransformation#finalization_transformation|finalization]]. | Conceptual attributes are being //finalized// during the design process, into, possibly multiple, physical attributes, see Def. [[#finalization_transformation|finalization]]. |
| |
=== Physical Attribute === | === Physical Attribute === |
| |
Names of physical attributes are not capitalized, e.g. ''theWaterLevelInTank1''. | Names of physical attributes are not capitalized, e.g. ''theWaterLevelInTank1''. |
By finalization, a physical attribute origins from one or more (indirectly) conceptual attributes, see Def. [[.:ardplustransformation#finalization_transformation|finalization]]. | By finalization, a physical attribute origins from one or more (indirectly) conceptual attributes, see Def. [[#finalization_transformation|finalization]]. |
Physical attributes cannot be finalized, they are present in the final rules capturing knowledge about the system. | Physical attributes cannot be finalized, they are present in the final rules capturing knowledge about the system. |
| |
A transformed diagram ''G<sub>2</sub>'' constitutes a more detailed //diagram level//. | A transformed diagram ''G<sub>2</sub>'' constitutes a more detailed //diagram level//. |
| |
Please read the [[.:ardplus:ardplustransformation|ARD+ TRANSFORMATION]] page for details. | === Finalization Transformation === |
| Finalization ''TF'' is a function |
| which transforms a //DPD// ''R'' into ''R<sub>TF</sub>'' by transforming a simple property ''PS'' consisting of a single conceptual attribute into a ''P<sub>new</sub>'', where the attribute belonging to ''PS'' is substituted by one or more conceptual or physical attributes belonging to ''P''; |
| appropriate dependencies must be transformed as well and a derivative has to be introduced. |
| |
| It introduces more attributes (more knowledge) regarding particular property. |
| An interpretation of the substitution is, that new attributes belonging to ''P'' are more detailed and specific than attributes belonging to ''PS''. |
| |
| === Split Transformation === |
| A split transforms a //DPD// ''R'' into ''R<sub>TS</sub>'' by transforming a complex property ''PC'' into some number of properties (a set) ''P<sub>new</sub>''; appropriate dependencies and derivatives must be introduced. |
| |
| This transformation introduces new properties and defines functional relationships among them. |
| |
| === Attribute Disjunction === |
| Attribute sets belonging to each of the properties ''P<sub>1</sub> ... P<sub>r</sub>'' have to be disjoint. |
| |
| === Attribute Matching === |
| All attributes ''PC'' consists of have to belong to properties ''P<sub>1</sub>, ... P<sub>r</sub>''. |
| No new attributes can be introduced for properties ''P<sub>1</sub> ... P<sub>r</sub>''. |
| Such introduction is possible through //finalization// only (see Def. [[#Finalization_Transformation|finalization]]). |
| |
| === Attribute Pool === |
| All attributes ''PC'' consists of have to belong to ''[P<sub>1</sub>, ... P<sub>r</sub>]''. |
| |
| === Dependency Inheritance === |
| All dependencies in ''D<sub>PC</sub>'' have to be covered by dependencies in ''D<sub>new</sub>''. |
| If a ''PC'' depends on some property ''P<sub>x</sub>'' (or some property depends on it), such a dependence must be stated (in ''D<sub>new</sub>'') regarding at least one of the elements from ''P<sub>new</sub>'' and ''P<sub>x</sub>''. |
| |
| === Transformation Limit === |
| A number of transformations in a single design step |
| is limited to //one per property//. |
| It means that a property can be either //split// or //finalized// but not both. |
| |
==== Refactoring ==== | ==== Refactoring ==== |
| |
Identifying all possible properties and attributes in a system could be a very complex task. | Identifying all possible properties and attributes in a system could be a very complex task. |
Transformations (see page [[.:ardplus:ardplustransformation|transformation]]) allow to gradually refine properties, attributes and functional dependencies in the system being designed. | Transformations (see [[#transformations|transformation]]) allow to gradually refine properties, attributes and functional dependencies in the system being designed. |
This process ends when all properties are described by //physical attributes// and all functional dependencies among properties are defined. | This process ends when all properties are described by //physical attributes// and all functional dependencies among properties are defined. |
| |
* big picture of the designed system. | * big picture of the designed system. |
| |
The implementation of such hierarchical model is provided through storing the lowest available, most detailed diagram level, and, additionally, information needed to recreate all of the higher levels, so called //Transformation Process History//, TPH for short (see Def. [[.ardplus:ardplussyntax#TPH|TPH]]). | The implementation of such hierarchical model is provided through storing the lowest available, most detailed diagram level, and, additionally, information needed to recreate all of the higher levels, so called //Transformation Process History//, TPH for short (see Def. [[#TPH|TPH]]). |
| |
The TPH captures information about changes made to properties at consecutive diagram levels. | The TPH captures information about changes made to properties at consecutive diagram levels. |
These changes are carried out through the transformations: split or finalization. | These changes are carried out through the transformations: split or finalization. |
The TPH forms a tree structure then, denoting what particular properties is split into or what attributes a particular property attribute is finalized into, according to Def. [[.ardplus:ardplussyntax#TPH|TPH]]. | The TPH forms a tree structure then, denoting what particular properties is split into or what attributes a particular property attribute is finalized into, according to Def. [[#TPH|TPH]]. |
| |
An example TPH for the transformation is given in Figure: | An example TPH for the transformation is given in Figure: |
| |
| |
Having a complete TPH and the most detailed level (namely ARD+), which constitute the //DPD// (according to Def. [[.:ardplus:ardplussyntax#DPD|DPD]]) it is possible to automatically recreate any, more general, level. | Having a complete TPH and the most detailed level (namely ARD+), which constitute the //DPD// (according to Def. [[#DPD|DPD]]) it is possible to automatically recreate any, more general, level. |
| |
===== Rule Prototyping Algorithm ===== | ===== Rule Prototyping Algorithm ===== |