Page 283 - Mechatronics for Safety, Security and Dependability in a New Era
P. 283

Ch54-I044963.fm  Page 267  Thursday, July 27, 2006  8:16 AM
                                          8:16 AM
                            Thursday, July 27, 2006
                      Page 267
            Ch54-I044963.fm
                                                                                          267
                                                                                          267
                  (MCU).  In  other  words,  the  physical  architecture  is  a  regular  field  bus  device  network,  where  the
                  Atomis  are the nodes  of the bus, but  which  is extended  towards  object-oriented  thinking  as  combined
                  software  and hardware objects, and implemented  in a small physical scale.
                                           Field bus
                                           Field bus  Simple device
                                                     Simple device
                                                     7V— Device main control object
                                                         Device main control object
                                                       A-Servo control object
                                                        Servo control object
                                   Servo   •'
                                    Servo
                                                         AD-conversions object
                                   connectors           I- AD-conversions object
                                    connectors
                                     Sensor
                                     connectors
                                   Figure  1 Device built with embedded objects i.e. Atomis
                  Object-oriented  thinking
                  The  advantages  of  object-oriented  techniques  (OOT)  for  software  are  well  known  (Booch,  1991,
                  Yourdon,  1994, Martin  and  Odell,  1992). Many  of  them  apply  directly  to hardware  or  an  embedded
                  system,  such  as maintainability,  reusability,  stability, reliability,  faster  designing,  and extensibility.  In
                  our case, one of the main  reasons  for  using object-oriented  technology  is  the goal  of  making  an easy,
                  high-level  method  to  create  embedded  systems.  We  consider  Atomi  as  combined  software  and
                  hardware  object:  each  Atomi  contains  its  own  properties,  events,  and  methods,  which  are  related  to
                  each Atomi's hardware functionalities.  As the benefits  of the OOT are achieved via some  fundamental
                  elements,  such  as modularity,  encapsulation,  abstraction,  hierarchy, inheritance,  and concurrency,  it is
                  relevant to study how they can be realized in Atomis.

                  Atomis  realize  modularity,  encapsulation  and  concurrency  naturally  via  their  modular  architecture.
                  Modularity  is important element for the high-level  development  goal, since it enables the use of library
                  objects  i.e. Atomis  with  ready-made low-level  code and hardware. The idea  of encapsulation  is that the
                  internal  data  is  hidden  from  the  other  objects,  and  only  accessible  via  specific  methods.  Since  the
                  software  of  an Atomi corresponds directly to the hardware, and Atomis are accessible only through the
                  field  bus  interface,  this  realizes  naturally.  Concurrency  means  the  handling  of  different  events
                  simultaneously. In the Atomi context it is realized through the multiprocessor architecture.

                  Abstraction  and  hierarchy  are  combined  through  inheritance.  Abstraction  means  presenting  the
                  essential  characteristics  of  an  object  that  distinguishes  it  from  other  types  of  objects,  and  hierarchy
                  means  ranking  or  ordering  these  abstractions.  Inheritance  represents  a  hierarchy  of  abstractions,  in
                  which a subclass (child) inherits  from  one or more  superclasses  (parents)  (Booch,  1991). In the Atomi
                  architecture, inheritance is realized  at two levels. A new object inheriting  another object  or objects  can
                  be  realized  by just  stacking  the  objects,  i.e.  Atomis,  together  and  writing  new  software  for  the  new
                  child  object.  This  we  call  high-level  inheritance  (see  Figure  2).  Here,  the  child  object  controls  the
                  parent objects, while the interfacing  to others takes place via the interface  of the new child object. This
                  procedure  implements  the inheritance  of  the parents  as public  class members,  since others  can  access
                  them  directly because they  are  all  on  the  same bus. However,  the  new  child object  can  also have two
                  interfaces  (field  bus  interfaces  and  software  protocol  stacks)  and  thus  implement  the  inheritance  as
                  private  class members by attaching  objects  into the  second bus, which is  separated  from  the  common
                  bus.
   278   279   280   281   282   283   284   285   286   287   288