|
Defect types found using OOmCFP | OCL rules |
|
Defect: An object model without a specification of an agent class | context Agent inv: body self.allInstances-size()0 |
Defect: An OO-Method Conceptual Model without a definition of the presentation model | context ConceptualModel inv: body self.presentation-size()0 |
Defect: A presentation model without the specification of one or more interaction units | context PresentationModel inv: body self.interactionUnit-size()0 |
Defect: An object model without the specifications of one or more classes | context StructuralModel inv: body self.ownedClass-size()0 |
Defect: A class without a name | context Class inv: body Class.allInstances()-select(c c.name.isEmpty())-isEmpty() |
Defect: Classes with a repeated name | context Class inv: body self.allInstances()-forAll(c1, c2 c1 c2 implies c1.name c2.name) |
Defect: A class without the definition of one or more attributes | context Class inv: body self.features-select(t t.oclIsKindOf(TypedProperty))-collect(t t.oclAsType (TypedProperty))-size()0 |
Defect: A class with attributes with repeated names | context Class inv: body self.features-select(t t.oclIsKindOf(TypedProperty))-collect(t t.oclAsType (TypedProperty))-forAll(a1, a2 a1 a2 implies a1.name a2.name) |
Defect: An instance interaction unit without a display pattern | context InstanceIU inv: body self.displaySet-size()0 |
Defect: A population interaction unit without a display pattern | context PopulationIU inv: body self.displaySet-size()0 |
Defect: A display pattern without attributes | context DisplaySet inv: body self.relatedAttribute-size()0 |
Defect: Derived attributes without a derivation formula | context DerivedAttribute inv: body self.derValue.effect-select(f f.value.isEmpty())-isEmpty() |
Defect: A filter without a filter formula | context Filter inv: body self.filterFormula-select(f f.value.isEmpty())-isEmpty() |
Defect: An event of a class of the object diagram without valuations (excluding creation or destruction events) | context Event inv: body self.allInstances-select(e (e.kind ServiceKind::creation and e.kind ServiceKind::destruction) implies e.valuation.size() 0) |
Defect: A class without a creation event | context Class inv: body self.features-select(s s.oclIsKindOf(Service))-collect(s s.oclAsType (Service))- select(s s.kind = ServiceKind::creation)-notEmpty() |
Defect: Transactions without a specification of a sequence of services (service formula) | context Transaction inv: body self.effect-select(f f.value.isEmpty())-isEmpty() |
Defect: Operations without a specification of a sequence of services (service formula) | context Operarion inv: body self.effect-select(f f.value.isEmpty())-isEmpty() |
Defect: A service without arguments | context Service inv: body self.argument-size()0 |
Defect: A service with arguments with repeated names | context Service inv: body self.argument-forAll(a1, a2 a1 a2 implies a1.name a2.name) |
Defect: A precondition without the specification of the precondition formula | context Service inv: body self.precondition.effect-select(f f.value.isEmpty())-isEmpty() |
Defect: A precondition without an error message | context Service inv: body self.precondition-select (.errorMsg.isEmpty())-isEmpty() |
Defect: An integrity constraint without the specification of the integrity formula | context Constraint inv: body self.effect-select(f f.value.isEmpty())-isEmpty() |
Defect: An integrity constraint without an error message | context Constraint inv: body self.allInstances-select (.errorMsg.isEmpty())-isEmpty() |
|