|
||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
|
|
Real-Time Simulation Tools Reduce Time To Market By B.J. Singh, Vice President of Marketing, Emultek Ltd.
Introduction
Incorporating Customer Demands
Creating the simulation
Concurrent product development
Automatic Specifications Generation
Automatically outputting C or C++ Code and data for production
Introduction Simulation and prototyping have long been traditional solutions to these obstacles. "Prototyping" means different things to different people. It encompasses conventional methods like physical rapid prototyping and computer-aided design (CAD) as well as new and much more powerful solutions such as virtual prototyping. Physical prototyping usually involves creating physical molds and the external structural design of a product. CAD software is also used to design the external look of the product. Both of these methods typically facilitate ergonomics testing and ensure that marketing and engineering teams agree on the look and feel of the next product. However, these methods have had one major drawback--they cannot reflect the behavior of the system. This drawback, combined with the fact that most physical prototyping solutions are fairly expensive, has led to a new generation of "virtual prototyping" tools. Virtual prototyping is usually a software solution that enables users to design not only the look of a system but also its behavior. The ability to create fully functional simulation has major advantages. It greatly enhances communications between marketing and engineering teams; it allows companies to do focus groups and test the product before spending even a dime on development, and it greatly reduces errors that occur in a typical development process. Emultek's latest Windows-based Rapid PLUS software automates several of the time-consuming steps in the development process, and is the tool of choice for Motorola, Samsung, Yamaha, Matshushita, Panasonic and others.
Incorporating Customer Demands Because Rapid is based on object-oriented technology, changes can be made and tested quickly and easily. The simulation can also be connected to external devices. For example, a physical prototype of a cellular phone with just a live keypad and display can be connected to a PC that contains the logic for this phone. While the customer manipulates the physical prototype, the logic is actually processed on the connected PC. The ability to incorporate customer demands before spending any time or money on actual product development has tremendous benefits. Using textual descriptions to perform usability testing is confusing and inefficient at best. Making changes after the first version of a physical product has been developed is often too time consuming and costly. With the fierce competition in the marketplace today, every day that a product is late to market can result in thousands of dollars in lost revenue. In fact, consultants McKinsey and Co. have reported that a product that is six months late but on budget will generate 33 percent less revenue over a five year period than it would if it were on time.
Creating the simulation Second, a description of a complex embedded device would have many other modes in addition to "on" and "off". While the device is on, there are several possible modes that could be implemented or requested by marketing. The device could be in one or several of these modes at any given time. A mode can be as brief as a fraction of a second, or extend to several seconds, minutes, or hours. Each mode, no matter how brief, is a distinct unit within the system's life cycle. Emultek's solution allows developers to depict all the modes of a system as they occur in real life. Third, the basic building blocks of any simulation application are the objects. Objects are visual and non-visual elements participating in a system such as lamps, switches and timers. Every object has a pre-defined set of properties and functions that describe everything it can do in a real-time situation. A push button, for example, could either be in or out. Fourth, to build the logic flow of the system, all the transitions between modes and the triggers that initiate them are defined. For example, the transition from one navigation screen to the next is triggered by the arrow key. Every transition has one or more triggers associated with it. The transition occurs only when one of these triggers is activated. Triggers are statements such as, "when the button is in." Finally, to define the actual behavior of the device (i.e., what the simulation does in each mode), all the activities that are performed in each mode are specified. These activities only occur when their mode becomes active. Activities are statements such as "switch the lamp on", "start the timer" or "blink the display". Activities are also constructed using the objects' properties and functions.
Concurrent product development
Automatic Specifications Generation This document can also contain use cases. These use cases can either be in a textual format or can include screen captures of the entire procedure and its output. Furthermore, a single mouse click can play back the entire use case on the actual simulation. These specifications can be used to plan the entire development phase and various departments can start their respective tasks concurrently.
Automatically outputting C or C++ Code and data for production Once the simulation of the embedded product is finalized, the tool package can automatically generate C or C++ code. The software architecture of the final image to be loaded into the user target system consists of two main domains: the Rapid PLUS-generated domain and the user-application domain. The user-application domain includes all the end-user tasks in the user-designed configuration. The Rapid-generated domain includes the Rapid state-machine kernel and Rapid-generated code. Both run in the context of one Human Machine Interface (HMI) task. Rapid-generated code corresponds to the logic written by the developer, and data representing the objects, modes, and data required by the state machine to simulate the model. The state machine implements the behavior of the system by converting input events into transitions within the hierarchical state charts, and then implementing these transitions. The state-machine kernel represents the engine that executes the generated code. The communication layer between the two domains is the operating system's message-passing mechanism such as mailboxes or queues. User-application domain tasks send messages to the MMI task by dropping the message in the input mailbox or queue; the generated domain sends information to the user-application domain by using one or several output mailboxes or queues.
Example
Additional Information Home | Product Report | Feature Story | Application Note | Vendor Tools | Feedback
|
|||||||||||||||||||||||||||||||||||
|
Copyright © 2003 ChipCenter-QuestLink About ChipCenter-Questlink |
||||||||||||||||||||||||||||||||||||