Nr. |
Constraint to Manually Activate on IDE |
Description/Purpose |
Location (AF3 Package Name + Java Class) |
Applies to ECore Model Element |
1
|
"All requirements have an author"
|
The Author field of the requirement is not empty or null.
|
org.fortiss.af3.mira.constraints.AuthorConstraint.java
|
Requirement
|
2
|
"All requirements are reviewed as per the checklist"
|
Each element in the Checklist Tab of the requirement is set to "Approved"
|
org.fortiss.af3.mira.constraints.CheckListReviewConstraint.java
|
Requirement
|
3
|
"All component packages has at least one component"
|
The component package contains components.
|
org.fortiss.af3.mira.constraints.ComponentExistsConstraint.java
|
ComponentArchitecture
|
4
|
"All requirements should not have words \"and/or\" in their description"
|
The description of the requirement does not contain certain words "and/or"
|
org.fortiss.af3.mira.constraints.DescriptionAndOrConstraint.java
|
Requirement
|
5
|
"All requirements have a description"
|
The description of the requirement is not empty or null.
|
org.fortiss.af3.mira.constraints.DescriptionConstraint.java
|
Requirement
|
6
|
"All functional requirements should have at least one non-functional aspect defined"
|
A functional requirement has at least one non-functional aspect.
|
org.fortiss.af3.mira.constraints.FunctionalReqsHaveOneNonFunctionalReq.java
|
Requirement
|
7
|
"All requirements having glossary terms that are fully defined"
|
All of the glossary terms used in the description of the requirement are fully defined.
|
org.fortiss.af3.mira.constraints.GlossaryTermsDefinitionConstraint.java
|
Requirement
|
8
|
"All requirements have an id"
|
The requirement has an id.
|
org.fortiss.af3.mira.constraints.IDConstraint.java
|
Requirement
|
9
|
"All functional requirements should have \"input(s)/output(s)\" defined"
|
A functional requirement has input/output defined.
|
org.fortiss.af3.mira.constraints.IdentifiedInputOutputDefinedConstraint.java
|
Requirement
|
10
|
"All requirements should have only one aspect"
|
Each requirement has one or more aspects (either functional or non-functional)
|
org.fortiss.af3.mira.constraints.MultipleAspectsConstraint.java
|
Requirement
|
11
|
"All requirements have a name"
|
The requirement has a name.
|
org.fortiss.af3.mira.constraints.NameConstraint.java
|
Requirement
|
12
|
"All non-functional requirements should have exactly one functional aspect defined"
|
A non-functional requirement has exactly one non-functional aspect.
|
org.fortiss.af3.mira.constraints.NonFunctionalReqsHaveExactlyOneFunctionalReq.java
|
Requirement
|
13
|
"Only one requirement should define an safety level"
|
Only one requirement defines a safety integrity level.
|
org.fortiss.af3.mira.constraints.OnlyOneSILConstraint.java
|
Requirement
|
14
|
"All requirements with parameters that have a type"
|
The parameterType of a constraint is non-empty and set to an appropriate type.
|
org.fortiss.af3.mira.constraints.ParameterTypeConstraint.java
|
Requirement
|
15
|
"All requirements have a rationale"
|
The rationale of a requirement is non-empty.
|
org.fortiss.af3.mira.constraints.RationaleConstraint.java
|
Requirement
|
16
|
"All requirements have a test suite"
|
The requirement's test-suite is non-empty.
|
org.fortiss.af3.mira.constraints.RequirementContainsTestSuiteConstraint.java
|
Requirement
|
17
|
"All requirement packages have at least one requirement"
|
The requirements package has at least one requirement.
|
org.fortiss.af3.mira.constraints.RequirementExistsConstraint.java
|
RequirementsContainer
|
18
|
"All components having traces to requirement are correct"
|
The component implementing the requirement is checked by the user if the trace to requirement exists and the check-box "Requirement Impl Correctly" is selected.
|
org.fortiss.af3.mira.constraints.RequirementImplementedCorrectlyConstraint.java
|
Requirement
|
19
|
"All requirements have signals that are uniquely defined"
|
The signal has an unique name among all the signals defined.
|
org.fortiss.af3.mira.constraints.SignalConstraints.java (UniqueSignalNameConstraint)
|
Requirement
|
20
|
"All requirements with signals defined have a type"
|
The signal has a defined type (integer/boolean).
|
org.fortiss.af3.mira.constraints.SignalConstraints.java (SignalTypeConstraint)
|
Requirement
|
21
|
"All requirements with signals should have initial value set and between ranges (i.e., [From,To]) for int data type and true/false for boolean data type"
|
The signal has a initial value set based on the type of the Signal.
|
org.fortiss.af3.mira.constraints.SignalConstraints.java (SignalInitialValueConstraint)
|
Requirement
|
22
|
"All requirements have a source"
|
The source of the requirement is set and non-empty.
|
org.fortiss.af3.mira.constraints.SourceConstraint.java
|
Requirement
|
23
|
"All requirements traces are up to date."
|
All traces are up-to-date.
|
org.fortiss.af3.mira.constraints.TraceConstraint.java
|
Trace
|
24
|
"All requirements are implemented"
|
The requirement is traceable from some artifact.
|
org.fortiss.af3.mira.constraints.TraceNotEmptyConstraint.java
|
Requirement
|
25
|
"All components should have a meaningful name"
|
The component has a meaningful name (i.e., No default names like "Component" or "Component1", "Component2").
|
org.fortiss.af3.mira.constraints.ComponentNameMeaningfulConstraint.java
|
Component
|
26
|
"All components should have a trace to requirement"
|
The component has a trace to a requirement.
|
org.fortiss.af3.mira.constraints.ComponentToRequirementTraceExistsConstraint.java
|
Component
|
27
|
"Port values are within their bounds"
|
The the bounds (or "ranges") of the ports provided in all components are within bounds by performing the "port bound analysis" (Reference: Bound_Check_Analysis).
|
org.fortiss.af3.specification.constraint.BoundsConstraint.java
|
Component
|
28
|
"All OCRA contracts satisfied"
|
All OCRA contracts are satisfied.
|
org.fortiss.af3.specification.constraint.ContractConstraint.java
|
ContractContainer
|
29
|
"All state automata are deterministic"
|
All states in the state automata in the current project are reachable by running the determinism analysis (Reference: Non_Determinism_Analysis).
|
org.fortiss.af3.specification.constraint.DeterminismConstraint.java
|
StateAutomaton in Component
|
30
|
"If a component is traced to a functional requirement, its interface includes the one of the requirement."
|
Every port in an interface requirement traced to a component is present in this component.
|
org.fortiss.af3.specification.constraint.InterfaceTraceMatchConstraint.java
|
Trace
|
31
|
"All states are reachable"
|
All state automata of the project have 100% state coverage (Reference: Reachability_Analysis).
|
org.fortiss.af3.specification.constraint.ReachabilityConstraint.java
|
StateAutomaton in Component
|
32
|
"All temporal logic specifications are verified"
|
All temporal logic specifications are verified.
|
org.fortiss.af3.specification.constraint.TLSpecificationConstraint.java
|
TLSpecification of Component
|
33
|
"Every top-level port of the component architecture shall be defined as a signal in the requirements."
|
Every port of the top level component is defined a requirement signal.
|
org.fortiss.af3.specification.constraint.TopComponentSignalsConstraint.java
|
ComponentArchitecture and Analysis
|
34
|
"All tests are successful"
|
All tests of related to Component are successful.
|
org.fortiss.af3.testing.constraint.TestSuiteConstraint.java
|
ComponentArchitecture and Analysis
|
35
|
"All argument elements shall be connected to the safety argument structure"
|
The inspected argument element is connected to the whole argumentation structure.
|
org.fortiss.af3.safetycases.constraint.ArgumentElementBaseInterconnectionConstraint.java
|
ContextualElement or SpinalElement
|
36
|
"All argument elements shall have a name"
|
The inspected argument element base has a designated GSN name.
|
org.fortiss.af3.safetycases.constraint.ArgumentElementBaseNameConstraint.java
|
ArgumentElementBase
|
37
|
"All argument elements shall be instantiated"
|
The inspected argument element is instantiated.
|
org.fortiss.af3.safetycases.constraint.ArgumentElementInstantiatedConstraint.java
|
ArgumentElement
|
38
|
"All away argument elements shall be connected to an external argument element"
|
That the inspected away argument element references an argument element located in another module.
|
org.fortiss.af3.safetycases.constraint.AwayArgumentElementReferenceConstraint.java
|
AwayArgumentElement
|
39
|
"All optional connections are only for safety arguments patterns"
|
The inspected argument element the given safety case connection is marked as optional.
|
org.fortiss.af3.safetycases.constraint.ConnectionIsOptionalConstraint.java
|
SafetyCasesConnection
|
40
|
"All connections with multiplicity are only for safety arguments patterns"
|
The inspected safety case connection is marked with multiplicity.
|
org.fortiss.af3.safetycases.constraint.ConnectionMultiplicityConstraint.java
|
SafetyCasesConnection
|
41
|
"All goals shall be supported ultimately by a solution"
|
The inspected goal is supported by a solution.
|
org.fortiss.af3.safetycases.constraint.GoalSupportingSolutionConstraint.java
|
Goal
|
42
|
"All option entities are only for safety arguments patterns"
|
Option entities should not exist in a safety case but only in patterns.
|
org.fortiss.af3.safetycases.constraint.OptionEntityExistanceConstraint.java
|
OptionEntity
|
43
|
"All option entities shall be supported by options"
|
The inspected option entity is supported by goals.
|
org.fortiss.af3.safetycases.constraint.OptionEntityOptionsConstraint.java
|
OptionEntity
|
44
|
"All solutions shall be connected to an evidence artefact"
|
The inspected solution references to an evidence.
|
org.fortiss.af3.safetycases.constraint.SolutionReferenceToEvidenceConstraint.java
|
Solution
|
45
|
"All solution shall have up-to-date test coverage status"
|
The test coverage status of the solution is not out-dated.
|
org.fortiss.af3.safetycases.constraint.SolutionTestCoverageOutdatedConstraint.java
|
Solution
|
46
|
"All strategies shall be supported by sub-goals!"
|
The inspected strategy is supported by sub-goals.
|
org.fortiss.af3.safetycases.constraint.StrategySubgoalsConstraint.java
|
Strategy
|