Download EMBEDDED PROGRAMMING

Transcript
FEATURE
ARTICLE
Irv Badr
Object-Oriented Design
of Real-Time Systems
A Multidisciplinary Challenge
During the design
stage, the system,
hardware, and software engineers all
have their own issues
and development
tools. Irv presents a
way to balance and
coordinate the efforts
so we can all speak
a common language
at last.
26
Issue 101 December 1998
d
esigning realtime embedded
systems involves a
multidisciplinary team of
engineers. System engineers get the
process started, and because they are
primarily concerned with the overall
architecture, they often make tradeoffs that influence the hardware and
software composition.
Hardware engineers design circuitry
that fulfills the system requirements
as determined by the system engineers.
And, because the majority of the system functionality lies in the software,
the software engineers have the largest design and implementation task.
Photo 1—There’s
more than one way to
incorporate hardware
properties into the
System Architecture
diagram. In this case,
the values refer to the
RS-232 interface on
the modem-controller
board.
Circuit Cellar INK®
The challenge in coordinating these
disciplines is compounded because all
three have different concerns, use
different tools, and work somewhat
independently of one another.
The system engineer, in an effort
to refine system requirements and
assess feasability, is concerned with
state modeling of the control system
or communications protocols. The
hardware engineer tends to think in
terms of processors and circuits within
the domain of schematic capture, ASIC
design, VHDL, circuit simulation, and
board layout. The software engineer is
thinking about functional decomposition or an object model.
There’s no proven methodology to
bridge these disciplines and implement
a more collaborative system development. Most organizations rely on a
document or drawing tool to capture
system architecture.
Although keeping that document
current is challenging, making it relevant to the software engineer is more
difficult. Few software engineers read
schematic diagrams or other hardware
documents when considering how to
interface their software to the hardware.
In this article, I consider the possibility of coordinating system, hardware,
and software development by using
object-oriented (OO) technology—
specifically, the Unified Modeling
Language (UML). The UML extensions
are from Artisian Software Tools’ RealTime Studio, a tool designed to enable
collaborative system development.
UNIFIED MODELING LANGUAGE
A result of the Object Management
Group (OMG) and the efforts of many
methodologists, UML has become the
most widespread notational scheme
for system modeling. It has made