Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
hekate:xtt [2008/04/30 13:52] gjn attributive lang and rules imported |
hekate:xtt [2019/06/27 15:49] (current) |
| |
===== Attributive language ===== | ===== Attributive language ===== |
====== Introduction ====== | ==== Introduction ==== |
| |
We need attributes to build descriptions of state of the system. | We need attributes to build descriptions of state of the system. |
* attribute algebra, what can we do with attributes, expressions, and how we do it | * attribute algebra, what can we do with attributes, expressions, and how we do it |
| |
===== Attribute description ===== | ==== Attribute description ==== |
| |
==== Type ==== | === Type === |
| |
For each attribute a type has to be stated. | For each attribute a type has to be stated. |
| |
| |
==== Primitive Types ==== | === Primitive Types === |
| |
What do we need types for anyway? | What do we need types for anyway? |
While it might look similar to structures, it still does have a //different// semantics. | While it might look similar to structures, it still does have a //different// semantics. |
| |
=== Type mappings === | == Type mappings == |
Current type specs has Prolog, SQL and Java mapping in mind (we map to Java object, not basic types, so Integer, not int). | Current type specs has Prolog, SQL and Java mapping in mind (we map to Java object, not basic types, so Integer, not int). |
* For RDB2Prolog see [[http://www.swi-prolog.org/packages/odbc.html#sec:2.6|SWI ODBC]] | * For RDB2Prolog see [[http://www.swi-prolog.org/packages/odbc.html#sec:2.6|SWI ODBC]] |
| |
| |
==== Domains ==== | === Domains === |
A domain is a discrete, finite set of allowed attribute values. | A domain is a discrete, finite set of allowed attribute values. |
| |
Additionally a set of values, narrowing the above, can be introduced. | Additionally a set of values, narrowing the above, can be introduced. |
| |
=== Ordered symbolic domains === | == Ordered symbolic domains == |
In the original XTT there was a feature called //enum//. | In the original XTT there was a feature called //enum//. |
This was in fact an ordered symbolic domain. | This was in fact an ordered symbolic domain. |
This corresponds to the so-called linguistic variables in other formalisms. | This corresponds to the so-called linguistic variables in other formalisms. |
| |
==== Contexts ==== | === Contexts === |
In the original XTT attributes could be used in four contexts: | In the original XTT attributes could be used in four contexts: |
conditional, assert, retract, decision. | conditional, assert, retract, decision. |
* decision context | * decision context |
| |
==== Values ==== | === Values === |
| |
Attributes can have atomic or non-atomic values (multiple) -- this has to be specified explicitly. | Attributes can have atomic or non-atomic values (multiple) -- this has to be specified explicitly. |
Upon setting attribute value the same notation as for the domains should be used (a sum of ranges or values), i.e. S=<5,8>u{3} | Upon setting attribute value the same notation as for the domains should be used (a sum of ranges or values), i.e. S=<5,8>u{3} |
| |
==== Description ==== | === Description === |
In a general sense, an attribute | In a general sense, an attribute |
* is identified by name | * is identified by name |
| |
| |
==== Grouped attributes ==== | === Grouped attributes === |
| |
=== The original desc === | == The original desc == |
(as from the //progrulesext// papers)) | (as from the //progrulesext// papers)) |
| |
</code> | </code> |
| |
=== Discussion === | == Discussion == |
Now, considering the primitive types discussion, as well as type system extension possiblity I would refine the GA proposal, as it might/should? be the key to type expressiveness. | Now, considering the primitive types discussion, as well as type system extension possiblity I would refine the GA proposal, as it might/should? be the key to type expressiveness. |
| |
| |
| |
===== Defining Attributes ===== | ==== Defining Attributes ==== |
| |
...or the short attribute quickstart with examples. | ...or the short attribute quickstart with examples. |
The CASE tools should support a concept of an attribute library, where some predefined types are available. | The CASE tools should support a concept of an attribute library, where some predefined types are available. |
| |
===== Attributes and ARD ===== | ==== Attributes and ARD ==== |
We should try to establish relationship/s (if any?) between: | We should try to establish relationship/s (if any?) between: |
* groupped attributes | * groupped attributes |
FIXME | FIXME |
| |
===== Attribute Markup ===== | ==== Attribute Markup ==== |
| |
see: [[hekate markup language]] | see: [[hekate markup language]] |