An Introduction to Embedded Software Architecture and Design Class 5: Software Architecture of a UAV December 5, 2014 Jacob Beningo, CSDP
Course Overview Introduction to Embedded Software Architecture Software Architecture using UML Understanding Embedded Software Architectures From Architecture to Implementation Software Architecture of a UAV and Review
Session Overview Introduction System Architecture Software Architecture Review
Introduction
Introduction Commercialized UAVS Open Source Platforms Quadcopters Octocopters Open Source Platforms Open Hardware Systems COTS Sensors
System Architecture
System Architecture Automated Control Manual Control
System Architecture
System Architecture
System Architecture
Software Architecture Review Architecture describes Fundamental organization and interaction of the system and subsystem components It hides the implementation as much as possible! Should NOT be easily changed Should BE easily scaled
Software Architecture Review What is design? Detailed planning of the software to the lowest levels Such as ….. Flowcharting Function definitions Variable naming Task declarations API’s
Software Architecture Review UML diagram vs model Diagrams describe different views of the model More than one diagram of the same kind may exist A poorly formed model can be seen by incoherent diagrams. (once that don’t agree)
Software Architecture Review
Software Architecture Review Collaboration Object Use Case Class UML Model Diagrams Sequence Deployment Statecharts Component Activity
Software Architecture Review Favorite Architectural Diagrams Use Cases Statecharts Component
Software Architecture Review The bottom line Architecture design improves the design and implementation phases Thought out architecture allows ease of diagnostics, testing and expandability Decreases bugs, time to market and costs Allows for reuse Makes the developers life easier
Additional Resources Download Course Material for Edraw UML Templates Updated C Doxygen Templates Misc Papers and Websites for further reading From www.beningo.com under - Blog and Articles > Software Techniques > CEC Software Architecture Materials
Jacob Beningo Newsletters P.O. Box 400 Embedded Monthly Linden, Michigan 48451 www.beningo.com Newsletters Embedded Monthly Low Power Design http://eepurl.com/2xJFr Training Bootloaders Embedded Software C/C++ : jacob@beningo.com : 810-844-1522 : Jacob_Beningo : Beningo Engineering : JacobBeningo : Embedded Basics Jacob Beningo Principal Consultant