Spis treści

View page as slide show

The ARD+ Knowledge Representation

Author: Grzegorz J. Nalepa and Igor Wojnicki

Version: Draft 2008Q3

ARD+ stands for Attribute Relationship Diagrams. It is aimed to be as the final ARD version for the official HeKatE project (grant).

FIXME

Introduction

Introduction

Introduction

Introduction

Motivation

Motivation

Preliminary Concepts

Preliminary Concepts

The main concepts behind ARD+ are:

Preliminary Concepts

Syntax

Syntax: Attribute

Let there be given the following, pairwise disjoint sets of symbols:
O – a set of object name symbols,
A – a set of attribute names,
D – a set of attribute values (the domains).

An attribute Ai is a function (or partial function) of the form:

Ai:o → Di.

where o ∈ O.

Syntax: Attribute

A generalized attribute $A<sub>i</sub>$ is a function (or partial function) of the form Ai:o → 2Di, where 2Di is the family of all the subsets of Di, to let the attribute take more than a single value at a time.

A relaxed attribute definition, regarding a single object can be stated as: Ai: Ai → Di.

Syntax: Conceptual Attribute

A conceptual attribute A is an attribute describing some general, abstract aspect of the system

to be specified and refined.

Conceptual attribute names are capitalized, e.g.: WaterLevel. Conceptual attributes are being finalized during the design process, into, possibly multiple, physical attributes, see Def. finalization.

Syntax: Physical Attribute

A physical attribute a is an attribute describing an aspect of the system with its domain defined.

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. finalization. Physical attributes cannot be finalized, they are present in the final rules capturing knowledge about the system.

Syntax: Property

P is a non-empty set of attributes representing knowledge about certain part of the system being designed. Such attributes describe the property.

Syntax: Simple Property

PS is a property which consists of (is described by) a single attribute.

Syntax: Complex Property

PC is a property which consists of (is described by) multiple attributes.

Syntax: Dependency

A dependency D is an ordered pair of properties D1,2=[P1, P2], where P1 is the independent property, and P2 depends functionally on P1.

Syntax: Derivative

V is an ordered pair of properties, such as: V=[P1, P2], where P2 is derived from P1 upon transformation.

Syntax: DPD

A Design Process Diagram is a triple R=[P,D,V] where P is a set of properties, D is a set of dependencies and V is a set of derivatives.

Syntax: ARD+

An Attribute Relationship Diagram
G is a pair
G=[P, D],
where P is a set of properties, and D is a set of dependencies if there is a DPD G=[P,D,V].

Diagram Restrictions

The diagram constitutes a directed graph with possible cycles.

TPH

A Transformation Process History TPH is a pair: TPH=[P,V] if there is a DPD G=[P,D,V].

The TPH can be expressed as a directed graph with properties being nodes and derivatives being edges.

Transformations

Finalization Transformation

Split Transformation

Attribute Disjunction

Attribute Matching

Attribute Pool

Dependency Inheritance

Transformation Limit

Refactoring

Finalization

Split

Split

Semantics

Semantics

Semantics

Semantics

An example of the finalization is given in Figures:

Semantics

Semantics

An example of simple finalization is given in Figure:

Semantics

Another ARD+ transformation is the split. An example is given in Figure:

Semantics

Semantics

During the split, some of the properties can be defined as functionally independent. An example of such a split is given in Figure:

Semantics

The ARD+ design process based on transformations leads to a diagram representing properties described only by physical attributes. An example of such a diagram is given in Figure:

Semantics

Hierarchical Model

Hierarchical Model

Hierarchical Model

An example TPH for the transformation is given in Figure:

Hierarchical Model

Another TPH example for the split transformation is given in Figure:

Hierarchical Model

Rule Prototyping Algorithm

Rule Prototyping Algorithm

rule: condition atts | decision atts

Rule Prototyping Algorithm

In order to formulate the algorithm some basic subgraphs in the ARD+ structure are considered. These are presented in Figures:


Rule Prototyping Algorithm

Now, considering the ARD+ semantics (functional dependencies among properties), the corresponding rule prototypes are as follows:

rule: e       | f, g, h
rule: a, b, c | d

Rule Prototyping Algorithm

In a general case a subgraph in Figure:

is considered.

rule: alpha, beta, gamma, aa | bb
rule: aa                     | xx, yy, zz

Rule Prototyping Algorithm

Analyzing these cases a general prototyping algorithm has been formulated. Assuming that a dependency between two properties is formulated as: D(IndependentProperty,DependentProperty), the algorithm is as follows:

Rule Prototyping Algorithm

rule: F, FT1, FT2,... | T
rule: F               | TF1, TF2,...
rule: F | T, TF1, TF2,...
rule: F, FT1, FT2,... | T
rule: F | T

Rule Prototyping Algorithm

Design Tool Prototype

SPOOL