Text Properties

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:
UNIT
The name of the unit. Generally a verb with a description of the primary entities. Specific forms are define below:
NOTES
PATTERN
REF-LINES
ROLE
SCOPE
TEXT
USERS
USES
VAR-DECL

List Properties

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.

Mode Values

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 Forms

Name Mode Role and Description
Define Entity definition A name is introduced and it's value and form are both provided. Typical forms are:
Define exit code forConcernName()
Entity is exit code
Define VariableDescr(VariableName(
Entity is Variable
Declares Entity definition A name is introduced and it's form is provided. Typical forms are:
DeclaresDeclares
The function name and body is added to the composition.
Parses