|
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. |
 |
|
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
and the Software Design Document, 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 |
 |
|
|
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 system calls that make easy work of your state
transitions, system timer services and inter-task communication. |
 |
|
|
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 digital hardware design
principles. To learn more about Staccato™
and the Crossroads SDK with IEEE-CEU Certified Training Package,
click here. |
|
©
2008 Mapletech Productions LLC, All Rights Reserved |
|