Combined MR for 4388, 4420,4456, 4464,4467, 4471

This is a collected merge request for closing all of these issues:

Closes af3#4388 (closed) (recursive checks)

Closes af3#4420 (closed) (more ConsistencyProviders for AF3)

Closes af3#4456 (closed) (custom res folder for checker)

Closes af3#4458 (closed) (temporary merge)

Closes af3#4463 (closed) (practical course state - cleaned res folder)

Closes af3#4464 (closed) (prevent failed rule evaluations)

Closes af3#4467 (closed) (custom res folder for AF3 c-adapter)

Closes af3#4471 (closed) (logging)

It needs to be performed with MR in af3 repo: af3!206 (merged)

Test procedure:

  1. Checkout branch 4471 on kernel repo and branch 4467 on af3 repo.
  2. Start AF3 and import this test project: https://git.fortiss.org/consistencychecking/consistencyresources/-/blob/d417b9c29b2199412b5376830f47b6a30bb032fc/af3_models_for_consistency_testing/basic_AF3-OM_test/ff1_rover_consistency_test.af3_23
  3. Start the consistency stuff as usual: expert mode and then via context menu "Consistency Manager" > "Consistency Environment" > Start C4 and AF3 adapter (the C4 start will block shortly AF3 for few seconds due to the creation of the OCL evaluator - this will be investigated further). First observation: you are asked if you want to use the default resource folder or an own resource folder (covered by af3#4456 (closed) and af3#4467 (closed)). If you use the default resource folders, you will notice that there are nearly no rules and links contained (only for a requirement example), which is why you cannot really test anything (covered by af3#4463 (closed)). Therefore, please use https://git.fortiss.org/consistencychecking/consistencyresources/-/tree/main/res_for_C4_localhost_full for the C4 resource folder and https://git.fortiss.org/consistencychecking/consistencyresources/-/tree/main/res_for_AF3_localhost for the AF3 consistecny adapter resource folder.
  4. After startup, you can test several checks, e.g., on the Component "Control" (inside "FF1_System"). If you place an empty component inside "Control" it should give you some violations. You can also trigger a check for a data dictionary entry, e.g., "ACCELERATION_ECO", and for a state automaton, e.g., in "Vehicle Architecture" > "FF1_System" > "Planning" > "Manual_Driving" > "Gear Shifting". They will not lead to any explicit evaluations, because we don't have rules for them, but it shows that these types are not supported via a ConsistencyProvider (otherwise, a check would result in an error like if you trigger a check on the "Task Architecture"). This shows issue af3#4420 (closed) and af3#4464 (closed).
  5. Besides requesting a single check, you can now also check several elements at once (recursively). This is done via the second trigger entry in "Consistency Manager". You can try it out, e.g., on "FF1_System". It will give you first all errors due to contained elements whose types are not yet supported, but if you click "OK", it will then check all other supported types, which are mainly Components. It will takes several seconds and afterwards you will get several (16) violations, because there are some rules that cannot be executed for some components (since the OM adapter needs to be started for that and it needs to support ArchitectureElement, etc.). Nevertheless, this shows that issue af3#4388 (closed) is covered.
  6. Close AF3. Look at the Eclipse console: You will see a bit more information about what happend than before. If you now go into the resource folders that you selected for the C4 and for the AF3 adapter, and there into the logs folders, you can open the latest log file (in each folder) and see that there are much more internally logged details, especially about which elements are checked and exchanged, which rules are analyzed, and how long this lasted (plus information about the feedback, including violations, etc.). This is covered by issue af3#4471 (closed).
  7. You have checked/tested all important changes of all combined commits/issues and can now review them regarding their code (quality).

Issue-Ref: 4471 Issue-Url: af3#4471 (closed)

Signed-off-by: Sebastian Bergemann bergemann@fortiss.org

Edited by Sebastian Bergemann

Merge request reports

Loading