HOME PRODUCTS TUTORIALS COMMENTARY CONTACT
tutorials

 

Earn IEEE Continuing Education Units (CEUs) for learning the Staccato™ Software Design Method and Finite State Machine Architecture for your embedded system.

Click here...

 

Tutorial 3: Staccato™ Overview

The Staccato™ Software Design Method and Architecture for Embedded Systems

Staccato™ Design Method

As a design method, it provides guidelines to ensure that your project gets off to a good start by generating Software Requirements Specifications (SRS) based on the Product Specifications. Your software development team will work closely with your hardware engineers to derive a meaningful set of Test Plans.

The next step is to partition your system into 'application' tasks, and design State Diagrams for each of the required tasks. The use of State Diagrams to describe the behavior of tasks over time is similar to the design methods used by hardware engineers in designing complex integrated circuit components, including processors, microcontrollers, FPGAs, ASICs, etc.

The Software Detailed Design document will contain these State Diagrams, along with relevant hardware block diagrams, data flow, and system partitioning to properly describe your software design.

Staccato(TM) Software Design Method Diagram

Using these consistent design guidelines will allow your entire design team, software, hardware and team leaders to perform very meaningful reviews of the embedded system before any coding begins. After the requisite changes have been made to the design, code and testing can proceed upon approval of the design by the development team. With more people involved in using a consistent design method, project risks are reduced considerably.

 The Staccato Design Method allows for tight coupling with the hardware. During the integration with the hardware platform, you can use this method to simulate input and output to external devices which can be part of your system test plans.

Finally, an Independent Validation and Verification can be performed by a 'customer-engineer'. Upon reviewing the recommended Product Specifications, the Software Requirements Specification (SRS) and the Software Design Document (SDD), the design can be validated. By performing the approved Test Plans, verification of the Embedded System Software can be verified in a meaningful manner.

The Staccato Software Design Method and Architecture for Embedded Systems is based on a 'system of Finite State Machines'

As part of the Software Design process, you will partition your system into application tasks. Each of these tasks will be responsible for an interface to an internal or external device, a communication protocol, or some algorithmic processing of data, as encoded in its State Diagram. By adding a customizable data structure that is analogous to the internal registers of a general-purpose processor, the application task Staccato(TM) Software State Machine Architecture Overview Diagram
now constitutes a virtual processor. In other words, each application task has a virtual processor and its own program to execute. The 'executive' represents the host hard processor, applying its execution capabilities to each of the virtual processor application tasks. Very clever and very efficient! Easy to design, code, test, debug and maintain! Expect great real-time performance, as well!

The Staccato Design Method requires that your application tasks be implemented as Finite State Machines (FSMs)

State Diagrams are the best way to convey the behavior of a task, as it responds to events and conditions over time. These state machines can be coded directly into the task modules. The Staccato System Core provides API system calls that make easy work of your state transitions, system timer services and inter-task communication. Basic Mealy State Diagram

By learning more about these design concepts, it becomes evident that Staccato is truly a software design method and architecture specifically for embedded systems. The Staccato software architecture is based on a 'system of Finite State Machines' and could be considered an abstraction of proven Mealy-Moore digital hardware design principles.

To learn more about Staccato and the Crossroads SDK with IEEE-CEU Certified Training Packageclick here.

 

© 2010 Mapletech Productions LLC, All Rights Reserved