Page 285 - Mechatronics for Safety, Security and Dependability in a New Era
P. 285
Ch54-I044963.fm Page 269 Thursday, July 27, 2006 8:16 AM
Thursday, July 27, 2006
Page 269
Ch54-I044963.fm
8:16 AM
269
269
lower-level software and hardware are available as objects, and only the high-level control must be
developed. This corresponds to high-level software development tools, by which you may create new
applications by selecting appropriate software objects from a library and use them with you own
control code.
To create a new device, common object-oriented design methods can be used to break up the basic
functionality into smaller modules. Usually, the modular diagram of the designed system consists of
some functional modules and a control module. In that diagram, the modules correspond directly to
Atomi objects, which gives us interesting options. One option is that the control module is a computer.
Software creation for a computer is easy because of the great processing power and easy debugging. In
the computer one can also use high-level software languages, which makes code generation easy.
Another option is to use an Atomi object to control the other objects. If the system is designed
properly, the control module could simply contain the mainQ-function that controls the other Atomi
objects. In many software development methods, the control module usually contains a state machine,
which controls the other modules. Since a state machine is a very trivial code structure, it is easy to
program with almost any programming language. To make it easier, there can also be template state
machine code structures, where the user fills in the states and transitions, compiles the code and inserts
it into the control module. A graphical state machine editor can be used to make its programming as
easy as possible. The control module could even contain a neural network Atomi object. With this
approach, some advanced learning methods could be used to teach the device to perform the desired
operations. The device could also work without a separate control module. Since all modules can
produce events, these events can be set to trigger actions on other modules and thus make the whole
device work reactively. These options require still more research and will be considered later.
Cost
If devices designed with this architecture were to be mass-produced, the costs would most likely
exceed the cost of an embedded system made with a traditional architecture because of several extra
components. On the other hand, if only a few devices were needed of one system, this architecture
could be more cost-effective. Depending on the suitability of ready-made modules, the speed of
producing a complete device would be faster with the object-oriented embedded system method. The
biggest time advantage would most likely come at the debugging phase of the hardware and the
software. The hardware and software of a system made with traditional methods or with object-
oriented methods, where the objects do not remain independent in the resulting hardware, and the
processes do not run in independent processors in the resulting software, the mixing of new hardware
and software or existing library objects can cause interference to existing objects. Since the embedded
object method is completely encapsulated in software and almost completely in hardware, the risk of
malfunctions in library objects is likely to be reduced.
The possibility of high-level system development may also bring cost benefits in the form of a reduced
need for expertise. In situations where needed embedded objects are already available, a non-
hardware-oriented person is able to create a simple embedded system, provided that the needed objects
are available, and no custom objects are needed. Luckily, many sensors and actuators uses common
interfaces, such as analog voltage output, serial port, i2c bus, SPI, pulse width modulation, or 8-bit
data bus. Thus, with only a few Atomi objects, considerably many kinds of peripherals can be
controlled by merely choosing suitable connectors for them.
Success in creating a high-level language embedded system creation method could also inspire IC
manufacturers to develop an Atomi-like packaging method for integrated circuits. This kind of a trend
can already be seen in the electronics industry, as more integrated and easy-to-use modules come to
the market all the time. Only the common interface is missing, and that is what makes Atomi objects
feasible.