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