Skip to content

Latest commit

 

History

History
431 lines (366 loc) · 35.7 KB

File metadata and controls

431 lines (366 loc) · 35.7 KB

RTS

The data, links, and images in this file are auto-generated from HAMR's report generation facility. Additional text explanations have been added for readability.

AADL Architecture

AADL Arch

The following documentation blocks provide links to AADL textual representation source of the Thread components in the system.

  • "Type" links to the AADL component type declaration (providing the port-based interface for the component)
  • "Behavior Specification" (when present) links to the GUMBO behavior contract for the component. HAMR automatically compiles the GUMBO contract to both an code-level contract used for Logika code verification as well as an executable representation of the contract (as pure boolean functions) used in unit and system testing.
System: RTS::RTS.i
Thread: TPAU_tempPressA_actuator
Type: Actuation::Actuator
Implementation: Actuation::Actuator.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 14
Thread: SAU_satActuator_actuator
Type: Actuation::Actuator
Implementation: Actuation::Actuator.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 16
Thread: au1_temp_coincidenceLogic
Type: Actuation::CoincidenceLogic
Implementation: Actuation::CoincidenceLogic.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 5
Thread: au1_press_coincidenceLogic
Type: Actuation::CoincidenceLogic
Implementation: Actuation::CoincidenceLogic.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 6
Thread: au1_satLogic_coincidenceLogic
Type: Actuation::CoincidenceLogic
Implementation: Actuation::CoincidenceLogic.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 7
Thread: au2_temp_coincidenceLogic
Type: Actuation::CoincidenceLogic
Implementation: Actuation::CoincidenceLogic.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 9
Thread: au2_press_coincidenceLogic
Type: Actuation::CoincidenceLogic
Implementation: Actuation::CoincidenceLogic.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 10
Thread: au2_sat_coincidenceLogic
Type: Actuation::CoincidenceLogic
Implementation: Actuation::CoincidenceLogic.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 11
Thread: au1_tempPressTripOut_orLogic
Type: Actuation::OrLogic
Implementation: Actuation::OrLogic.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 8
Thread: au2_tempPressTripOut_orLogic
Type: Actuation::OrLogic
Implementation: Actuation::OrLogic.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 12
Thread: TPAU_actTempPA_orLogic
Type: Actuation::OrLogic
Implementation: Actuation::OrLogic.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 13
Thread: SAU_actSatActuator_orLogic
Type: Actuation::OrLogic
Implementation: Actuation::OrLogic.i
Behavior Specification: GUMBO
Periodic: 1000 ms
Domain: 15
Thread: actuatorsMockThread
Type: Actuators::ActuatorsMockThread
Implementation: Actuators::ActuatorsMockThread.i
Periodic: 1000 ms
Domain: 4
Thread: eventControlMockThread
Type: EventControl::EventControlMockThread
Implementation: EventControl::EventControlMockThread.i
Periodic: 1000 ms
Domain: 3
Thread: instrumentationMockThread
Type: Instrumentation::InstrumentationMockThread
Implementation: Instrumentation::InstrumentationMockThread.i
Periodic: 1000 ms
Domain: 2

Behavior Code

The following items link to the Slang source code for the application logic of each thread. In the HAMR development workflow, skeletons for these files are automatically created, along with APIs for communicating over model-declared ports in the component type. GUMBO component contracts in the AADL model are automatically translated to Slang/Logika contracts and included in the generated skeletons. Then, the application developer uses a conventional development approach for coding the application logic in Slang (C workflows are also supported). Logika can be applied to verify that the user's application code conforms to the generated Logika contracts (which are derived automatically from model-level GUMBO contracts). The HAMR build framework will integrate the user-code application logic for each component (below) with auto-generated threading and communication infrastructure code, along with HAMR's implementation of AADL run-time (based on AADL's standardized Run-Time Services). Note that HAMR is smart enough to accommodate changes to model-level interface declarations (ports, etc.) as well as changes to GUMBO contracts -- user code will not be clobbered when the model is changed and HAMR code generation is rerun. Instead, HAMR uses specially designed delimiters in the application code files to, e.g., re-weave updated contracts into the application code.

Executable Slang versions of the GUMBO contracts (referred to as "GUMBOX" contracts) are also automatically generated in the code generation process. These executable contracts are automatically integrated into the unit testing process: appropriate portions of the executable contracts are invoked in the pre-state and the post-state of a thread dispatch to dynamically check that the thread's behavior for that particular dispatch conforms to the model-level GUMBO contracts.

instrumentationMockThread

eventControlMockThread

actuatorsMockThread

au1_temp_coincidenceLogic
GumboX

au1_press_coincidenceLogic
GumboX

au1_satLogic_coincidenceLogic
GumboX

au1_tempPressTripOut_orLogic
GumboX

au2_temp_coincidenceLogic
GumboX

au2_press_coincidenceLogic
GumboX

au2_sat_coincidenceLogic
GumboX

au2_tempPressTripOut_orLogic
GumboX

TPAU_actTempPA_orLogic
GumboX

TPAU_tempPressA_actuator
GumboX

SAU_actSatActuator_orLogic
GumboX

SAU_satActuator_actuator
GumboX

Metrics

AADL Metrics

The following section provides statistics about the AADL model to give a rough idea of its size (in terms of number of AADL modeling elements that impact the size of the deployed system).

Threads 15
Ports 76
Connections 38

JVM Metrics

The following section provides statistics about the Slang source code.

Directories Scanned Using https://github.com/AlDanial/cloc v1.94:

Total LOC

Total number of HAMR-generated and developer-written lines of code

Language files blank comment code
Scala 175 5991 2558 25421
-------- -------- -------- -------- --------
SUM: 175 5991 2558 25421

User LOC

The number of lines of code written by the developer. "Log" are lines of code used for logging that likely would be excluded in a release build

Type code
Behavior 156
Log 6
-------- --------
SUM: 162

GUMBOX Unit Testing

Unit Test Run Configurations

SAU_satActuator_actuator

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link

TPAU_tempPressA_actuator

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link

au1_press_coincidenceLogic

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link

au1_satLogic_coincidenceLogic

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link

au1_temp_coincidenceLogic

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link

au2_press_coincidenceLogic

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link

au2_sat_coincidenceLogic

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link

au2_temp_coincidenceLogic

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link

au1_tempPressTripOut_orLogic

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link

au2_tempPressTripOut_orLogic

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link

SAU_actSatActuator_orLogic

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link

TPAU_actTempPA_orLogic

  • Auto-generated GUMBOX Unit Test Harness link

  • Auto-generated component coverage report using the configurations below link