ColdFrame: Error messages
This is a list of error and warning messages that you may see from
ColdFrame.
Bugs in ColdFrame
Messages beginning "CF:" indicate an internal error. Report to the
author. You'll need to include the model or the extracted .rr
file (for ArgoUML) or .xmi file (for textuml) if you want
anything to happen!
User problems
"Normalization" messages
- Error: abbreviation of name is reserved word
- For class name, the standard abbreviation (for names of more than one word, formed from the initial letters of the words) makes an Ada reserved word. Specify your own, using the {abbreviation} tag.
- Error: attribute Class.Attribute used to formalize non-existent Association
- The formalizes annotation has been used naming an association that doesn't exist.
- Error: attribute Class.Name marked as «class» and «id»
- Class attributes can't be identifying attributes as well.
- Error: both ends of name are marked as source
- The {source} tag has been specified on both ends of the named association.
- Error: can't specify priority for non-active class Class
- Priority can only be specified for «active» classes.
- Error: can't specify stack for non-active class Class
- Stack size can only be specified for «active» classes.
- Error: Class tried to set Role as source for Association
- Probably, you've used {source} in a disallowed way (on the many end of an association).
- Error: Class tried to set Role as source for Association when Role already is.
- Probably, you've used {source} on both ends of the named association.
- Error: discriminated type type has no attributes
- Discriminated types must have attributes.
- Error: duplicate definition of class name
- A class has been defined more than once.
- Error: duplicate definition of type name
- A type has been defined more than once.
- Error: function name can't be an entry
- An entry operation can't be a function.
- Error: illegal lower bound 1 in cardinality "cardinality" for name
- In class name, 1..1 is legal for a class's cardinality, otherwise it must be 1, n or 0..m.
- Error: illegal lower bound (b) of multiplicity in role Association.Role
- The lower bound of a role multiplicity must be 0 or 1.
- Error: illegal lower bound bound in cardinality "cardinality" for name
- In class name, 1..1 is legal for a class's cardinality, otherwise it must be 1, the literal n or 0..m.
- Error: illegal M:M association Association
- Many-to-many associations must have an association class.
- Error: illegal name "name" in Class.Operation
- There's some illegal character in an operation's parameter (you may have used a semicolon rather than a comma to separate parameters).
- Error: illegal name "name" in <tag>
- There's some illegal character in a <tag> element (eg, a <class>.
- Error: illegal tag name in {tag}
- There's some illegal character in a tagged value's tag name.
- Error: inconsistent constraints for Type
- The tagged
value specifying Type is inconsistent (for example,
string can't be both fixed-length (fixed) and
variable-length (max)).
- Error: kind kind (class name) not handled
- A class kind that isn't handled has been specified.
- Error: missing attribute name in Class
- One of the attributes of the named class has no name.
- Error: missing attribute type for Class.Attribute
- The named attribute has no type specified.
- Error: missing parameter name in Class.Operation
- There's a problem with one of the named operation's parameters.
- Error: missing parameter type for Class.Operation(Param)
- There's a problem with the named operation parameter.
- Error: multiple parents (Class, Class) for Inheritance
- More than one class appears as parent in the named inheritance relationship.
- Error: must specify cardinality for name as 0..bound
- In class name, 1..1 is legal for a class's cardinality, otherwise it must be 1, the literal n or 0..m.
- Error: name has no identifier
- Ordinary classes must have identifiers.
- Error: neither end of biconditional name is marked as source
- Symmetric 0..1:0..1 associations must have the source end marked. Place {source} on the end you want it to be most efficient to navigate to.
- Error: neither end of unconditional name is marked as source
- Symmetric 1:1 associations must have the source end marked. Place {source} on the end you want it to be most efficient to navigate to.
- Error: no index type for array type type
- You must specify the type of the index of an array.
- Error: operation Class.Name can't be class and teardown
- Teardown operations are per-instance.
- Error: operation class.name can't be abstract and an accessor
- Accessor operations have to be concrete.
- Error: protected type type has no attributes
- A protected type must have attributes.
- Error: public name can't be active
- Public classes may not be active.
- Error: public name has a state machine
- Public classes may not have state machines.
- Error: required constraint not found for Type
- The
tagged value specifying Type doesn't contain all the required
information (for example, unsigned requires mod).
- Error: reserved word "word" in <tag>
- You've used an Ada reserved word as a name.
- Error: singleton name has identifier
- Singleton's aren't allowed to have identifiers.
- Error: spare . in name
- The name has a leading or trailing period.
- Error: tried to extend type, which has no attributes
- If a type is to be extended, it must have attributes.
- Error: type name can't be active
- Types may not be active.
- Error: type name can't be atomic
- Record and protected types may not be atomic.
- Error: type name can't be volatile
- Record and protected types may not be volatile.
- Error: type name has a state machine
- Types may not have state machines.
- Error: type name has identifier
- name is a «type»; it can't have an identifier.
- Error: type name is marked {tag} but has attributes
- The tag {tag} (eg, {renames}) isn't consistent with having attributes.
- Error: unnamed association between "Class" and "Class"
- Missing association name.
- Error: unnamed inheritance of Parent by Child
- All branches of an inheritance relationship must have a name.
- Error: unnamed role in association name
- Each end of an association must be named.
- Error: unrecognised cardinality "cardinality" in name
- In class name, 1..1 is legal for a class's cardinality, otherwise it must be 1, the literal n or 0..m.
- Error: unrecognised multiplicity "string" in role Association.Role
- Multiplicities should be 1, 0..1, 1..*, 0..*, * or n.
- Error: unrecognised parameter mode mode
- A parameter mode must be in, inout or out.
- Error: utility name can't be active
- Utility classes may not be active.
- Error: utility name has attributes/associations
- Utility classes may not have parameters or take part in associations.
- Error: utility name has a state machine
- Utility classes may not have state machines.
- Error: utility name is a type
- Utility classes may not be «type»s.
- Warning: annotation not handled, "entity [[annotation : value]]"
- The given annotation wasn't understood.
- Warning: can't open file: reason
- Unable to open case exception file.
- Warning: datatype type Name can't be atomic
- Marking the type {atomic} isn't supported.
- Warning: datatype type Name can't be volatile
- Marking the type {volatile} isn't supported.
- Warning: <<init>> operation Class.Name was marked 'private'
- The operation needs to be visible for domain initialization to work, and has been made so.
- Warning: invalid constraint constraint in type Type
- A tagged value specifying Type is invalid (for example,
lower in {unsigned = mod 8 | lower 2}
- Warning: no tags to indicate type of Type, treated as {null}
- Type has been stereotyped as type but no detail is given.
- Warning: stereotype not handled, "Entity «stereotype»"
- The given stereotype wasn't understood.
- Warning: unrecognised hash mechanism "mechanism" for Type
- The hash mechanism specified wasn't understood.
- Warning: upper bound (u) of multiplicity in role Association.Role treated as *
- The upper bounds of associations are always treated as indefinite.
- Warning: use of {image} in Type deprecated -- use {field-image}
- Convert to use of {field-image}.
- Info: {tag=value} not handled in name
- The given tagged value wasn't understood.
Code generation messages
- Error: Class.Event's payload is of the wrong type (Type): Operation expects Type
- If an entry action has a parameter, it must be of the type of the associated event's payload.
- Error: Class.Operation takes a parameter, can't be used in drop-through action
- If an entry action has a parameter, there must be an associated event/payload to provide the parameter.
- Error: Class.Operation is wrongly stereotyped as an accessor
- The operation's name or profile don't match any parameter (name, type, class-ness).
- Error: Class.State, a singleton entry action may not delete the instance
- It's not permitted to delete a singleton.
- Error: Class.State, Operation has too many parameters to be an entry action
- An entry action in the model can have at most one parameter (the event payload). Of course, for non-singleton classes there will be an initial This parameter in the generated code.
- Error: Class.State, Operation is a function, can't be an entry action
- Only procedures are allowed to be state machine entry actions.
- Error: completion (drop-through) and triggered transitions from state Class.State
- Triggered transitions can never be taken if there's a drop-through.
- Error: completion (drop-through) transition after final state Class.State
- After an instance has been deleted, there can be no more processing associated with the triggering event.
- Error: entry action(s) after final action Class.Operation in Class.State
- An entry action that deletes the instance must be the last action.
- Error: entry action(s) after final action on transition to Class.State
- If a transition action deletes the instance, you can't put entry actions on the target state.
- Error: illegal association Association with class Class
- Associations with «public» classes aren't allowed.
- Error: illegal finalize operation Class.Operation
- «finalize» operations must not be «abstract» or «class», or return a value, or have parameters; and «singleton»s can't have «finalize» operations at all.
- Error: "inherited" private operation Parent.Operation in Child
- Implementations of abstract operations must be public (or protected).
- Error: invalid use of Autonumber in Class
- Probably, you've specified an identifier with other attributes besides an Autonumber one (Autonumber attributes are expected to be the only identifying ones).
- Error: more than one completion (drop-through) transition from state Class.State
- There can be at most one drop-through (untriggered) transition from any state.
- Error: more than one handler for Class.Event
- There must be one handler for each class event.
- Error: more than one transition triggered by Event from state Class.State
- An event can trigger at most one transition from any state.
- Error: no operation for Class, state State, action Action
- No matching operation was found in this class (or any parent class).
- Error: no concrete operation for Parent.Operation in Leaf
- Operation was specified «abstract» in Parent, but no implementation has been found in the branch leading to the leaf class Leaf.
- Error: no handler for Class.Event
- There must be one handler for each class event.
- Error: no initial state in Class
- Each state machine must have an initial state.
- Error: protected type type has no operations
- A protected type must have operations.
- Warning: Class: no rule to hash Type
- ColdFrame doesn't know how to hash values of type Type in order to make a reasonable hash function. This normally happens when Type is {imported}. The generated code will still operate, but it's best if you can replace the default Class.Instance_Hash.
If the imported type is discrete (for example, an integer or an enumeration), you can say {hash=discrete} or {hash=enumeration}.
- Warning: possible problems with type Type
- The type has an attribute, or is an array involving, or is a protected type with an operation involving, a type or types that haven't been specified. The possibly-undefined types are listed. Note, this can occur with a public type that depends on a private type, or, if the domain is a child domain (Parent.Child), it may be a type defined in Parent.
- Warning: upper or lower bound not specified for Type
- Provide both upper and lower bounds for {integer} or {real} types.