Name | Parent | Role and Description |
ALT-LINES | The C source code that would be present if this code unit were removed. If it is empty, the unit represents a simple insertion unit. Non-empty ALT-LINES indicate that the unit does a modification strategy for transformation. | |
ASPECTJ-CONTEXT | ||
ATTN | ||
BECOMES | ||
C-CONTEXT | SEGMENT | The C-level entity that owns these lines
in the original program. Typical values are the owning function
(keycompare()), the owning structure (struct line{}), or
global. This could be determined from a separate concern mapping that identified the relevant units in the source. This could be determined from a separate concern mapping that identified the relevant units in the source. The value would then be generated by lookup. Certain conflicts in convention could be detected (i.e. no segments that span a C-CONTEXT). |
CLASS | ||
CONSTRAINT | ||
CORE-LINES | ||
EFF-LINES | The C source code that would be added if
this code unit added. Generally, if several units (concerns) reference a line,
the total semantics should be made up from the collection of EFF-LINES.
EFF-LINES should not be present unless ther are ALT-LINES.
Does tangling when SumOf(EFF-LINES) <> REF-LINES? Do all EFF-LINES have ALT-LINES? |
|
EXTENDS | ||
EXTENDERS | ||
EXTENDS | ||
INTENT | ||
LABEL | ||
MODE | A summary of the semantic effect achieved
by the inclusion of the code unit.
It is generally the concatentation of the semantic change and the code transformation strategy. For declaration, the class of the object is given. For execution changes, the type of code modification is listed. The code transformation strategy is either insertion or modification. |
|
NAME | Depends on containing object:
|
|
NOTES | ||
PATTERN | ||
REF-LINES | ||
ROLE | ||
SCOPE | ||
TEXT | ||
USERS | ||
USES | ||
VAR-DECL |
Name | Role and Description | |
CONCERN | A chunk of properties and segments that describe a minimal subset concern. | |
INJECTION | ||
ISSUES | ||
MAP | ||
NOTES | ||
OBJECTS | ||
CLASS | ||
SEGMENT | A chunk of code that belongs to the concern. Segments can be nested, in which case child segements are expected to inherit properties from their parents. Parent segments may derive properties from their set of children. |
Name | Base Mode | Relationship | Role and Description |
Argument insertion | Code modification | Extends | Add an argument (expression) to a function call. The argument can be inserted anywhere in the list. It is commonly added at the end. A form of code modification. |
Argument modification | Code modification | Extends | Change one or more arguments (expressions) to a function call. May also include changes to the number of arguments. |
Array declaration
Rename to array allocation? |
declaration | Extends | Provide an array's name, type, and allocation. |
Array definition | Array declaration | Extends | Provide an array's name, type, allocation and initial (or constant) value. |
Code elision | root | Extends (subsumes) | Code that would have been present if the existing capability was removed. Often the removed code is transferred from one C-CONTEXT to another. |
Code insertion | root | Extends | The lines should simply be added to the underlying concern. |
Code modification | root | Extends | The lines were modified to add this capability. |
Comment insertion | Code modification | Extends | Lines of comment text that belongs to a concern without being associated with a code change or a declaration. Typically the comment text provides the value for an embedded identification concern. |
Constant definition | declaration | Extends | Provides a constant's name, type, values. |
Field declaration | declaration | Extends | Provides a field's name, type, and any allocation. |
Function declaration | declaration | Extends | Provides a function's name and parameters. |
Function definition | declaration | Extends | Provides a function's name, parameters, and body. |
Imported declaration | declaration | Extends | Provides a variable's name and type. |
Imported definition | Import declaration | Extends | Provides a constant's name, type, and value. |
Imported function | Import declaration | Extends | Provides a function's name and parameters. |
Macro definition | definition | Extends | Provides a macro's name, parameters, and body. |
Parameter insertion | declaration | Extends | Inserts a parameter to an underlying concern. Provides name, type, and insertion point. |
Parameter modification | declaration | Extends | Changes the parameters in an underlying concern. Provides names, types, and modification points for each change. |
Structure declaration | declaration | Extends | Provides a structures's name and fields. |
Text insertion | Argument Modifcation | Extends | Inserts text into the middle of an existing string. |
Type definition | definition | Extends | Provides a type's name and properties. Not used for structures. A set of enumeration values. |
Variable declaration | declaration | Extends | Provides a variables name and type. |
Variable definition | declaration | Extends | Provides a variables name, name, and initial value |
Argument insertions and modifications are normally paired with Paramenter insertions and modifications in the affected routines.
Name | Mode | Role and Description |
Define | Entity definition | A name is introduced and it's value and
form are both provided. Typical forms are:
|
Declares | Entity definition | A name is introduced and it's form is
provided. Typical forms are:
|
Parses | ||