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

Ch54-I044963.fm  Page 268  Thursday, July 27, 2006  8:16 AM
            Ch54-I044963.fm
               268
               268    Page 268  Thursday, July 27, 2006  8:16 AM



                                                     Other Atomi 2
                                          public bus  | Other Atomi 2  |
                                          public bus
                                                      th
                                                     Other Atomi 1
                                         private bus   \  I O er Atomi 1
                                         private bus
                                                    NT"
                                                 child Atomi
                                              New child Atomi   |
                                                         |
                                                     Parent Atomi 1
                                        Parent Atomi 3
                                        Parent Atomi 3  Parent Atomi 1
                                                 •  "  • •
                                        Parent Atomi 4
                                                    Parent Atomi 2
                                        | Parent Atomi 4  11 Parent Atomi 2  |.
                                     private class members   public class members
                                                   public class members
                                     private class members
                                         Figure 2 High-level inheritance
               Low  level  inheritance  is  in  question  when  a  completely  new  Atomi  is  to  be  created.  In  this  case,
               inheritance  is realized  as a template or base Atomi  object.  A template Atomi  object,  which  can  also be
               thought  of  as a generalized  abstraction  of  an Atomi, contains the schematic  and layout  drawings  of  an
               Atomi  consisting  of  the  common  hardware  for  the  basic  Atomi  interface.  Correspondingly,  there  is a
               software  template  for  operating this basic hardware. Thus, inheriting the base  Atomi  object  to create a
               new  object  is  realized  as  copying  the  templates  and  adding  the  new  components  into  half-ready
               schematics  and  PCB  layout  and  the  corresponding  control  functions  for  the  software.  In  our  test
               system,  the  common  hardware  means  an  MCU  and  connectors,  and  the  software  means  a  field  bus
               code with  some interface-related  code. The low-level  inheritance is very important  for the flexibility  of
               this architecture,  as it enables  fully  customized  Atomis to be created.  It also presents  a problem  for  the
               ease  of  the  Atomi  system,  as  it  requires  hardware  development  and  hence  also  some  skills  and
               resources  in  electronics.  However,  there  is  still  a  significant  advantage  over  designing  a  whole  new
               system, because large parts of the design process for the new Atomi are available as templates.
               The characteristics  of OOT  include the  idea of increasing  complexity by creating new objects  out  of a
               set  of  other  objects.  This realizes  in  the high  level  inheritance,  and  it  can be  realized  also by  normal
               aggregation,  i.e.  by  creating  a  new  object  that  includes  other  objects.  In  the  physical  Atomi
               architecture  however,  both  inheritance  and  aggregation  realizes  similarly,  and there  is  thus  not  much
               difference.  Since  new  objects  can  be  created  by  inheriting/aggregating  objects  that  already  have
               inherited/aggregated  objects,  the  complexity  of  objects  and  hence  the  device  can  be  increased  as
               needed.  However,  physical  restrictions  may  become  a  problem  at  some  point.  The  major  restricting
               factor  for  object-oriented  architecture  is  the  field  bus.  The  field  bus  capacity  defines  the  real-time
               capabilities  of the  system  and the  maximum  number  of  objects  in one  bus. However,  the  architecture
               can  be  realized  using  almost  any  field  bus.  Thus,  larger  systems  may  use  faster  buses.  Another
               restricting  factor  could be the  processing  power  of the MCU, but  as the encapsulation  suggests,  each
               object  can  implement  its functions  hidden  from  others. Thus, the objects  can use any MCU  that meets
               the processing requirements  of its functions,  as long as it just implements  its  interface.


               DISCUSSION

               Towards high-level development
               The  object-oriented  embedded  system  method  has  been  tested  in  some  devices  (Vallius  &  Roning,
               2005a, Vallius & Roning, 2005b, Tikanmaki, Vallius & Roning, 2004) and it is found to be  functional.
               The  object-oriented  embedded  system  method  brings  the  development  process  one  step  closer  to  a
               high-level  software  programming  language:  an embedded  system can be built  by  stacking up  suitable
               embedded  objects  and then just  adding a control  code to a specific  control  object.  In other  words, the
   279   280   281   282   283   284   285   286   287   288   289