Project - Crazyflie design and analysis using AADL
About this project
For this project, we aim at using AADL to analyze an existing design of a small UAV, the Crazyflie, and then to extend it to add new capabilities.
This project is organized in multiple parts:
Part 0 is an introduction to AADL and toolchain. Please reference the attached « Tool Installation Instructions.doc. file. It only contains instructions to install the tools. I would recommend to use the option to install manually.
Part 1 is a walkthrough of the provided Crazyflie model (see attached 'Crazyflie-master.zip' file.), where you'll perform multiple analysis and then expand the model;
PART 0 - AADL LANGUAGE AND TOOLCHAIN
In this part, we introduce the basic elements of the AADL Language and its tool chain.
These suggested readings may serve as a more comprehensive first reference to the AADL:
- Julien Delange, AADL in Practice,
- John J. Hudak, Peter H. Feiler, Developing AADL Models for Control Systems: A Practitioner's Guide, Software Engineering Institute (SEI) Technical Report CMU/SEI-2007-TR-014, July 2007.
PART 1 - Unboxing the Crazyflie
Part 1.1 - Flow latency analysis
Q1: List all end-to-end flows in the model, and propose additional flows that may be missing. You will justify their inclusion and the associated configuration parameters.
Q2: Can you avoid modeling some end-to-end flows using the symmetry of the model?
Q3: Add these flows to the AADL models.
For each of them, you'll use specific notation to indicate the modified elements. Suggested annotation is to use AADL comments, like
-- John Doe begin of addition for question Q42
-- John Doe end of addition for question Q42
where John Doe is changed to your actual name, and question adjusted accordingly.
Q4: The previous parts provided some high-level requirements for the end-to-end latency for some flows. Are these requirements valid? Does the current architecture meets these requirements?
Part 1.2 - Simulation of the model
Q5: Simulate the model using the AADL Inspector simulator. Are all elements executed? How would you correct the system?
Q6: Does the execution match your expected behavior for this system? In particular, you want to assess whether all ports are correctly dimensioned, if a thread may miss its deadline, etc.
Part 1.3 - Scheduling analysis of the model
In this part, we continue exploring the analysis of the model with AADL Inspector.
Scheduling analysis provides a mechanism to assess schedulability of a system. AADL Inspector has multiple plug-ins to perform scheduling analysis.
Q7: Run scheduling analysis on the system, what can you conclude?
Q8: How would you relate flow analysis, simulation and scheduling analysis? What is their benefit in a complete Systems Engineering process?
Part 1.4 - Adding new component: Flow Deck
Q9: Provide an expanded model with the Flow Deck integrated. Ensure all previous analysis are still feasible. You'll provide the rationale for all the updates you performed.
Assignment Files -
https://www.dropbox.com/s/kau0l08vcfiuglj/Project%20Crazyflie%20design%20Assignment%20Files.rar?dl=0