Team 8: SAE AADL Simulation and Modeling Tools
Members Chaz Beck Software Engineering Shaun Brockhoff Software Engineering Jason Lackore Software Engineering Marcus Rosenow Software Engineering
Faculty Advisor Suraj Kothari Professor in Computer\Electrical Engineering Client Barry Buelow Retiree of Rockwell Collins Consults for CSI
Technologies AADL o Architecture Analysis and Design Language o Used for analysis and specification of complex real- time systems o Model-Driven development Model-Driven Development o Creating a model, generating code, or verifying the model o Allows for very formal & precise specification of requirements
Technologies Eclipse o Java based IDE o Extended primarily by plug-ins OSATE o Open Source AADL Tool Environment o Plug-in for Eclipse which allows textual editing/creation of AADL models TOPCASED o Toolkit in OPen source for Critical Applications and SystEm Development o Eclipse/OSATE plug-in o Allows for graphical editing of AADL models
Technologies Markov Chains o In general, "given the present state, future states are independent of the past states" (Wikipedia) o Our usage - to perform error analysis on AADL models to generate fault trees o Used to determine the probability of a specific combination of events occurring.
Technologies Fault Tree o Combining a set of switches or conditions to determine the probability of failure of a system o Uses combination of AND/OR and other logical gates Simple fault tree example:
Client Requirements Use OSATE/Eclipse/TOPCASE’s API View models in an abstract interface to allow setting predefined variables in the model for the simulations to use. Viewing the results of the failure analysis in a fault-tree view. Applying abstraction to both setting variables and viewing results.
Project Plan Iterative development model for understanding client’s needs o Learn AADL through OSATE and setup Eclipse o Take simple models and analyze them o View models using TOPCASE o Generate Markov probabilities using Error Annex plug-in o Learn how to manually produce a fault-tree from probabilities Steps for Development o Prototypes for Eclipse plug-in o Prototypes for OSATE plug-in o Automating fault tree generation from Markov probabilities o Create GUI for client’s input o Create training documentation for experienced AADL engineers
Spiral Life-Cycle Process Model Ideal for rapid prototyping Each quadrant is a week
Risks Losing a team member - MED/LOW o Make sure we are sharing information Complexity of writing Eclipse/OSATE Plugin - HIGH o Prototype early Complexity involved in generating fault trees from Markov Chains - HIGH o Prototype early Producing system not to client's expectations or specifications - HIGH o We are meeting with the client at least once per month Scaling our solution from simple models to more complex models - MED o Gradually increase model complexity as we develop
System Diagram
Sequence Diagram