------------------------------- LAMP ONLINE ANALYSIS EXAMPLES ------------------------------- This project contains examples of use of online analysis of AADL models with the LAMP annex. LAMP uses standard Prolog language syntax and semantics and the same Prolog API as for the LMP (Logic Model Processing) framework to access AADL model elements. - LAMPExample1 shows basic cases of access to AADL declarative model elements. - LAMPExample2 provides a few timing assurance cases. Also have a look to the end_to_end_flow example to view how LAMP is used to compute end to end flow latency. LAMP libraries are automatically loaded while running the LAMP engine. These libraries can be viewed in the Environment/Ellidiss/LAMPLib project. They provide utilitiy rules to: - access the AADL declarative model elements (LAMPDeclarative) - access the AADL instance model elements (LAMPInstance) - access the AADL Behavior Annex model elements (LAMPBehavior) - access the AADL Error Annex model elements (LAMPError) - access outputs of response time computation (LAMPResponseTime) - access simulation events (LAMPSimulation) - explore AADL End To End Flows (LAMPFlows) - specify SysML to AADL transformation rules (SysML2AADL) - specify FACE to AADL transformation rules (FACE2AADL) - specify Cyber Security rules (LAMPSecurity) - generate AADL specifications (LAMPAADLGen) - perform general purpose actions (LAMPLexical, LAMPPrinting) Select each aadl example file individually (green tick in the project browser) before clicking on one of the two LAMP buttons in the "LAMP Lab" tab. The first button launches the LAMP engine after having loaded the contents of all the LAMP annexes that can be found in the selected AADL files and LAMPLib libraries. The goals to reach must also be embedded within a LAMP annex. The second button does the same after, however the goal to reach must be specify within the proposed interactive dialog, and the embedded goals will be ignored. The other buttons under the "LAMP Lab" tab can be used to load and show additional Prolog facts bases generated from a XML/XMI, FACE, UML/SysML file or internal analysis tools (Responses Time computation, simulation events). - "D" (for Declarative): shows the low level facts base generated by the AADL parser. - "I" (for Instance): shows computed AADL instance model facts base. - "X" (for Xml): shows imported XML/XMI facts base. - "Y" (for sYsml): shows imported UML/SysML facts base. - "F" (for Face): shows imported FACE facts base. - "S" (for Simulation): shows the facts base of the last run simulation events. - "R" (for Response time): shows the facts base generated by the timing analysis tools. - "P" (for Prolog): shows loaded plain prolog facts base. LAMP annex subclauses may be inserted either within any AADL component to express goals (typically in the root system implementation) and in packages to define user libraries of processing rules. Both use standard Prolog language syntax but goals need to be wrapped inside generated glue code, so they have the following restrictions: - they must be structured as a sequence of logical ands (commas) - they must not end with a dot