throbber
Real-Time Software Design and Analysis of
`Reconfigurable Multi-Sensor Based Systems
`
`David Bernard Stewart
`
`Submitted in partial fulfillment
`of the requirements for the degree of
`Doctor of Philosophy
`in Electrical Engineering
`
`Department of Electrical and Computer Engineering
`Carnegie Mellon University
`Pittsburgh, Pennsylvania 15213-3890
`
`April 1, 1994
`
`
`
`Copyright © 1994 Carnegie Mellon University
`
`ABB Inc.
`
`EXHIBIT 1004
`
`Page 1 of 196
`
`

`

`ii
`ii
`
`Page 2 of 196
`Page 2 of 196
`
`

`

`Table of Contents
`
`List of Illustrations......................................................................................vii
`List of Abbreviations and Acronyms .........................................................ix
`Abstract.........................................................................................................xi
`Acknowledgments ..................................................................................... xiii
`Chapter 1
`Introduction...................................................................................................1
`1.1 Overview...............................................................................................................1
`1.2 Motivation.............................................................................................................1
`1.3 Goals and Contributions .......................................................................................4
`1.4 Organization of Thesis..........................................................................................5
`
`Chapter 2
`A Review of Related Research .....................................................................7
`2.1 Introduction...........................................................................................................7
`2.2 Software Reuse for Real-Time Applications........................................................7
`2.2.1 Software Synthesis.......................................................................................7
`2.2.2 Interface Adaptation Methods......................................................................9
`2.2.3 Object-based and Object-oriented design ..................................................10
`2.3 Port automaton theory.........................................................................................11
`2.4 Reconfigurable Real-Time Systems ...................................................................12
`2.5 Software Architectures for Robotics...................................................................13
`2.6 Real-Time Systems Theory.................................................................................14
`2.7 Real-time operating systems...............................................................................16
`2.8 Summary.............................................................................................................17
`
`iii
`Page 3 of 196
`
`

`

`Chapter 3
`Port-Based Objects......................................................................................19
`3.1 Introduction.........................................................................................................19
`3.2 Terminology........................................................................................................19
`3.3 Port-Based Objects..............................................................................................24
`3.3.1 Configuration Verification.........................................................................27
`3.4 Control Module Integration ................................................................................28
`3.5 Generic Framework of a Port-Based Object.......................................................30
`3.6 C-language Interface Specification for Port-Based Objects...............................35
`3.7 Automatic Generation of the C-Language Framework ......................................42
`3.8 Reconfigurable Module Specification: The .rmod file .......................................43
`3.8.1 Combining Objects ....................................................................................46
`3.9 Software Libraries...............................................................................................47
`3.10 Dynamic Reconfigurability.................................................................................48
`3.11 Summary.............................................................................................................52
`
`Chapter 4
`Software Assembly ......................................................................................53
`4.1 Introduction.........................................................................................................53
`4.2 Structure of SBS master task ..............................................................................53
`4.3 The Subsystem Definition (.sbs) File..................................................................54
`4.4 Interface Commands ...........................................................................................55
`4.4.1 Command-line interface.............................................................................55
`4.4.2 External Subsystem Interface ....................................................................59
`4.4.3 Graphical User Interface............................................................................60
`4.4.4 Autonomous Program................................................................................61
`4.5 SBS Subsystem Internals ....................................................................................63
`4.5.1 SBS Master Task Initialization ..................................................................64
`4.5.2 Spawn: creating a new task........................................................................67
`4.5.3 Sending Signals to Tasks ...........................................................................68
`4.6 Summary.............................................................................................................69
`
`iv
`
`Page 4 of 196
`
`

`

`Chapter 5
`Multiprocessor Real-Time Communication .............................................71
`5.1 Introduction.........................................................................................................71
`5.2 Review Of A Typical Backplane Configuration.................................................72
`5.3 Express Mail .......................................................................................................75
`5.3.1 Mailbox Structure ......................................................................................77
`5.3.2 Interfacing with the Host Workstation.......................................................82
`5.4 Basic IPC ............................................................................................................84
`5.4.1 Dynamically Allocatable Global Shared Memory.....................................86
`5.4.2 Remote Semaphores...................................................................................87
`5.4.3 Prioritized Message Passing ......................................................................88
`5.5 Global State Variable Table Mechanism ............................................................92
`5.5.1 Implementation Overview .........................................................................94
`5.5.2 State Variable Configuration File..............................................................96
`5.6 Inter-subsystem Communication ........................................................................98
`5.6.1 Chimera Implementation of TBUF..........................................................101
`5.7 Summary...........................................................................................................102
`Chapter 6
`Real-time Scheduling for Reconfigurable Systems ................................103
`6.1 Introduction.......................................................................................................103
`6.2 Local Real-Time Scheduling ............................................................................104
`6.2.1 Rate Monotonic Algorithm......................................................................104
`6.2.2 Earliest-Deadline-First Scheduling Algorithm ........................................105
`6.2.3 Maximum-Urgency-First Algorithm (MUF)...........................................106
`6.2.4 Considering Data Flow in Scheduling Priority Assignment....................110
`6.3 Timing Failure Detection and Handling ...........................................................113
`6.4 Soft Real-Time Tasks .......................................................................................116
`6.4.1 Implementation ........................................................................................118
`6.5 Aperiodic Servers..............................................................................................119
`6.5.1 Aperiodic Servers for the RM Algorithm................................................120
`6.5.2 MUF Aperiodic Servers...........................................................................121
`6.5.3 Comparison of Aperiodic Servers............................................................127
`
`v
`Page 5 of 196
`
`

`

`6.6 Multiprocessor Synchronization and Communication......................................128
`
`6.6.1 Performance.............................................................................................133
`6.7 Automatic Real-Time Task Profiling................................................................136
`
`6.7.1 Implementation ........................................................................................137
`6.7.2 Manual Task Timing................................................................................141
`6.8 Summary...........................................................................................................142
`
`Chapter 7
`Generic Hardware/Software Interfaces ..................................................143
`
`7.1 Introduction.......................................................................................................143
`
`7.2 Reconfigurable I/O Device Drivers ..................................................................144
`
`7.2.1 IOD Programmer’s Interface ...................................................................146
`7.3 Sensor/Actuator Independent Interface.............................................................152
`
`7.4 Special Purpose Processors...............................................................................155
`
`7.4.1 SPP Objects..............................................................................................156
`7.4.2 Chimera SPP Real-Time Executive.........................................................158
`7.5 Summary...........................................................................................................160
`
`Chapter 8
`Fault Detection and Handling ..................................................................161
`
`8.1 Introduction.......................................................................................................161
`
`8.2 Global Error Handling ......................................................................................162
`
`8.2.1 Implementation ........................................................................................163
`8.3 Summary...........................................................................................................164
`
`Chapter 9
`Summary, Contributions, and Future Research ....................................165
`
`Appendix ....................................................................................................169
`
`Bibliography ..............................................................................................173
`
`vi
`
`Page 6 of 196
`
`

`

`List of Illustrations
`
`Figure 3.1: Reusable software control modules within a reconfigurable system ..............20
`Figure 3.2: Software framework for reconfigurable systems ............................................22
`Figure 3.3: Typical target hardware for a reconfigurable sensor-based control system....25
`Figure 3.4: Simple model of a port-based object, also called a control module................26
`Figure 3.5: Fanning an output into multiple inputs ...........................................................26
`Figure 3.6: Joining multiple outputs into a single input ....................................................26
`Figure 3.7: Example of PID joint control. .........................................................................27
`Figure 3.8: Structure of state variable table mechanism for control module integration 29
`Figure 3.9: Example of module integration: Cartesian teleoperation................................31
`Figure 3.10: Generic framework of a port-based object....................................................33
`Figure 3.11: Sample control module to be implemented...................................................42
`Figure 3.12: Example of reconfigurable module specification (.rmod) files.....................44
`Figure 3.13: Example of combining modules: a computed torque controller ...................47
`Figure 3.14: Sample control module library......................................................................49
`Figure 3.15: Example of visual servoing using inverse dynamics control module ...........50
`Figure 3.16: Example of visual servoing using damped least squares control module ...50
`
`Figure 4.1: The client-server model used for implementing the SBS mechanism ............54
`Figure 4.2: Structure of Chimera real-time IPC mechanisms............................................64
`
`Figure 5.1: Memory map of express mail buffers for a system with 3 RTPUs.................77
`Figure 5.2: Initial structure of a message queue object. ....................................................89
`Figure 5.3: Flowchart of the sender and receiver for triple-buffered communication ...100
`
`vii
`Page 7 of 196
`
`

`

`Figure 6.1: Example comparing RM, EDF, and MUF algorithms ..................................109
`Figure 6.2: Encoded n-bit Urgency Value .......................................................................110
`Figure 6.3: Example of a simple two-task configuration.................................................111
`Figure 6.4: The effect of not considering data-flow in real-time scheduling. .................112
`Figure 6.5: Average error due to data-flow as a function of the tasks’ periods...............113
`Figure 6.6: Sample execution profile of a soft real-time task..........................................116
`Figure 6.7: Server size as a function of periodic task utilization
`for various aperiodic servers................................................................................128
`Figure 6.8: Worst-case schedulable bound as a function of periodic task utilization when
`using various aperiodic servers............................................................................129
`Figure 6.9: Worst-case schedulable bound as a function of the
` server size for various aperiodic servers.............................................................130
`Figure 6.10: Configuration for joint teleoperation of a PUMA manipulator...................134
`
`Figure 7.1: Sample PID control loop, demonstrating the use of constants for
`configuring a controller to a specific manipulator...............................................153
`
`viii
`
`Page 8 of 196
`
`

`

`List of Abbreviations and Acronyms
`
`ADC
`
`BLK
`
`CF
`
`CFIG
`
`CMU
`
`CPU
`
`CRIT
`
`Analog-to-Digital Converter
`Block (when used as a prefix)
`Cross Reference (“see also”)
`Chimera Configuration File
`Reading Utility
`Carnegie Mellon University
`Central Processing Unit (i.e. a
`microprocessor)
`Criticality
`Digital-to-Analog Converter
`DAC
`DDARM Direct Drive Arm [27], [78]
`Denavit-Hartenberg Robot
`DH
`Parameters
`Degrees of Freedom
`Earliest-Deadline-First
`Chimera Ethernet Interface
`First-In First-Out
`Floating Point Accelerator
`Frequency
`Highest Priority First
`Hertz (cycles per second)
`HZ
`INCONST Input Port Constant
`Input Port Variable
`INVAR
`Input/Output
`
`DOF
`
`EDF
`
`ENET
`
`FIFO
`
`FPA
`
`FREQ
`
`HPF
`
`I/O
`
`IOD
`
`IPC
`
`LAN
`
`LIFO
`
`MAX
`
`MDS
`
`MEM
`
`MEZ
`
`MSS
`
`MUF
`
`NDOF
`
`OOPL
`
`OS
`
`Input/Output Device
`Interprocessor Communication
`Local-Area Network
`Last-In First-Out
`Maximum
`MUF Deferrable Server
`Memory or Memory Board
`Measured
`Minimum
`MIN
`MSEC Milliseconds
`Message
`MSG
`MUF Sporadic Server
`Maximum-Urgency-First
`Number of Degrees of
`Freedom
`Object Oriented Database
`Object Oriented Programming
`Language
`Operating System
`Output Port Constant
`
`OODB
`
`OUT-
`CONST
`OUTVAR Output Port Variable
`Parallel Input/Output
`PIO
`Joint Position
`
`Q
`
`ix
`Page 9 of 196
`
`

`

`RCB
`
`RDS
`
`REF
`
`RIPE
`
`Q^ or QD “Q-dot”, Joint Velocity
`Robotics and Automation
`R&A
`Robot Control Board
`RM Deferrable Server
`Reference
`Robot Indepent Programming
`Environment [42]
`Rate-Monotonic
`Reconfigurable Modular
`Manipulator System [54]
`Reconfigurable Software
`Module
`Read-Modify-Write intrusction
`Remote Procedure Call
`RM Sporadic Server
`Real-time
`Real-Time Operating System
`Real-Time Processing Unit
`(i.e. a Single Board Computer)
`
`RM
`
`RMMS
`
`RMOD
`
`RMW
`
`RPC
`
`RSS
`
`RT
`
`RTOS
`
`RTPU
`
`SAI
`
`SBS
`
`SEM
`
`SHM
`
`SIG
`
`SIO
`
`SPP
`
`STASK
`
`SVAR
`
`TAS
`
`TBUF
`
`USEC
`
`X
`
`Sensor-Actuator Interface
`Chimera Subsystem interface
`mechanism
`Semaphore
`Shared Memory
`Signal
`Serial Input/Output
`Special Purpose Processor
`Subsystem Task
`State Variable
`Test-and-set.
`Chimera Triple-buffer
`Communication Mechanism
`Microseconds (also μsec)
`Cartesian Position (SVAR
`prefix)
`X^ or XD “X-dot” Cartesian Velocity
`(SVAR prefix)
`Express Mail
`
`XM
`
`x
`
`Page 10 of 196
`
`

`

`Abstract
`
`Development time and cost of software for real-time multi-sensor based systems can be sig-
`nificantly reduced by reusing software from previous applications. With today’s systems,
`however, even if some software is reused, a large amount of new code is still required to
`create the “glue” which integrates modules created by programmers at different sites.
`
`In this dissertation, the design and analysis of reconfigurable real-time software which sup-
`ports a software assembly paradigm is presented. The primary contributions of the work are
`a framework based on modelling software modules as dynamically reconfigurable port-
`based objects; and the identification, design, and implementation of operating system ser-
`vices required to support the new paradigm.
`
`A port-based object combines the design of software using objects with the use of the port-
`automata theory for formally modelling concurrent processes. Each object executes asyn-
`chronously, and has a predefined set of methods. Communication with other objects occurs
`only through its ports, which are implemented as state variables within a distributed shared
`memory hardware environment. The operating system services that have been designed
`and implemented to support the integration of reconfigurable port-based objects without
`the need for writing or generating new glue code include a global state variable communi-
`cation mechanism, multiprocessor subsystem control, automatic task profiling, reconfig-
`urable device drivers, global error handling, and external subsystem interfaces.
`
`In order to support the real-time scheduling of these dynamically reconfigurable task sets,
`a mixed-priority algorithm has been developed which combines the advantages of the rate
`
`xi
`Page 11 of 196
`
`

`

`monotonic and earliest-deadline-first algorithms, and provides improved support of aperi-
`odic servers and guarantees for soft real-time tasks.
`
`Our reconfigurable software has been demonstrated in a joint Sandia National Laboratory
`and Carnegie Mellon University virtual laboratory demo, and is already being used by sev-
`eral institutions including NASA’s Jet Propulsion Laboratory, Wright Patterson Air Force
`Base, and NIST (National Institute of Standards and Technology).
`
`xii
`Page 12 of 196
`
`

`

`Acknowledgments
`
`In the last several years that I have studied at Carnegie Mellon, I have accumulated a large
`list of people whom I would like to thank for their help, support, and friendship.
`
`First, I would like to thank my advisor, Pradeep Khosla, for standing behind me the entire
`way, even though many of my ideas represented a radical change from traditional research
`in robotics. Not only did Pradeep provide guidance for me through my Masters and Ph.D.
`work, but he has also been a great publicist, giving me valuable exposure to the “real
`world.” I would also like to thank my undergraduate advisor at Concordia University, Rajni
`Patel, for encouraging me to apply to Carnegie Mellon, and hooking me up with Pradeep.
`Looking back through the years, I feel that coming to Carnegie Mellon is the best decision
`I could have made. I would also like to thank my committee members Takeo Kanade, Zary
`Segall, Jon Peha, and Samad Hayati for all of their useful comments and recommendations,
`as well as Mary Shaw, Ragunathan Rajkumar, Jay Strosnider, and Dan Katcher for their
`constructive criticism on draft copies of my technical reports and papers.
`
`I am extremely grateful to Debbie Scappatura for all of the time and work she contributed
`to making my life as a graduate student much easier, even though she was under no obliga-
`tion to do any of it. She and the other Porter Hall secretary and very good friend, Beth Cum-
`mins have also been great in bringing life to Porter Hall through their unique view of all of
`us engineers. I sincerely wish the best to both Debbie and Beth in finding an “I told you
`so.” I would like to thank Takeo’s secretaries Pauletta Pan and Carolyn Kraft for their help
`through the years. I am also grateful to Lynn Phillibin and Elaine Lawrence from the grad-
`uate office who continually provided guidance, especially in my first year at Carnegie Mel-
`lon when I was a lost puppy wandering aimlessly through the halls of Hammerschlag.
`
`xiii
`Page 13 of 196
`
`

`

`Three months after I started at Carnegie Mellon, I remember telling my Dad that I felt that
`I did not belong here, as everybody around seemed so much more knowledgeable and ex-
`perienced than me. That quickly changed in the spring of 1989 when I met and began to
`work with Don Schmitz and Rich Volpe. Don had developed Chimera, and with him we
`worked on the initial designs of Chimera II. Although Don left Carnegie Mellon shortly af-
`ter, the many hours of meetings every day got me up to par with the design and implemen-
`tation of real-time operating systems. Rich was not only a colleague but a great friend. As
`a colleague we spent many late hours in the lab, discussing the needs and requirements of
`a software environment for robotics. The origins of the reconfigurable software methodol-
`ogy presented in this dissertation came from those meetings with him. As a friend, we hung
`out regularly and explored many places in Pittsburgh and surrounding areas. Even now that
`we live on opposite ends of the continent we still get together yearly to catch up and remi-
`nisce about old times and old girlfriends.
`
`I would like to thank my friend and office-mate Matthew Gertz who was the first person,
`and may be the only person, to ever read through this dissertation word-for-word cover-to-
`cover. We spent several years working together, and I have to thank him for developing On-
`ika which provides a colorful way for me to show off my work! He was also the source of
`many interesting stories over the years which broke the monotony of spending countless
`hours in the office, even though his puns are sometimes worse than my jokes. I would like
`to thank my other office-mates through the years: Wayne Carriker, Dean Hering, Marcel
`Bergerman, Fred Au, and Arun Krishnan. They provided a very friendly and often amusing
`atmosphere in Porter Hall B51. Many thanks to Matt Vea as well, who was my original of-
`fice-mate in the dungeons of Porter Hall before the big move, and who taught me all of the
`ins and outs of life at Carnegie Mellon.
`
`I would like to thank all the other members of the Advanced Manipulators Laboratory, in-
`cluding Nikolaous Papanikolopoulos, Chris Paredis, Brad Nelson, Richard Voyles, Dan
`Morrow, Anne Murray, Raju Matikalli, Eric Hoffman, Ben Brown, Todd Newton, and
`Mark Delouis, who constantly provided feedback to me about Chimera and the reconfig-
`
`xiv
`
`Page 14 of 196
`
`

`

`urable software, provided hardware support, and put up with constant revisions and bugs
`that creeped up during the initial test versions of the software. I would like to thank Darin
`Ingimarson for coming to Carnegie Mellon and taking over the grunt work in maintaining
`and continuing to develop Chimera so that my work will live on beyond my stay as a grad-
`uate student. He is not only an excellent engineer, but a great friend. I would also like to
`thank his wife Carolyn for the delicious dinners that she made during holidays when I could
`not be with my family back home.
`
`While in Pittsburgh I have met many new people and made many friends. I would like to
`extend a heartfelt thank you to those friends for making these years my most memorable
`ones, especially to Becks Anderson, Bryce Cogswell, Amy Evans, Jill Hackenberg, Linda
`Helble, Maral Halajian, Machele Jaquai, Dipti Jani, Padma Lakshman, Jonathan Luntz,
`Parastu Mehta, Julie Reyer, Michael Schwartz, Dana Siciliano, and Joni Tornichio. I also
`want to thank one special friend, Laurie McNair, for all of our TB dinners and long talks.
`She was great for cheering me up when I was down, giving me a women’s point of view,
`and being a great listener whenever I needed to confide in someone.
`
`Pinball is my greatest diversion from the everyday dealings of work at Carnegie Mellon. I
`used the sport to meet new people, relieve any stress built up at school, as a fun pasttime,
`and to satisfy my competitive urges. I would like to acknowledge my pinball buddies, who
`are all great friends and were always ready to play whenever I needed to get away from the
`office, including Robert Chesnavich, Ellen Frankel, Nancee Kumpfmiller, Jennifer Merri-
`man, Bill Kurtz, Steve Zumoff, Leslie Donovan, Jacki Hays, Kim McGuire, Melissa Scha-
`fer, and Paul Sonier. I would also like to thank them for their support which propelled me
`to a second place finish at the 1994 World Pinball Championships.
`
`I would like to thank the many organizations who have provided financial support for my
`research, including the Electrical and Computer Engineering Department and The Robotics
`Institute at Carnegie Mellon University, The Natural Sciences and Engineering Research
`Council (NSERC) of Canada, The Jet Propulsion Laboratory, NASA, ARPA, and Sandia
`National Laboratories.
`
`xv
`Page 15 of 196
`
`

`

`Over five years ago I left my entire family to come to Pittsburgh. I would like to thank both
`the Propoggio family and the Pelaia family for making me part of their families.
`
`Finally, and most importantly, I must thank my immediate family for their continued sup-
`port and encouragement, which gave me the motivation and confidence necessary to com-
`plete my studies. In deepest appreciation, I dedicate my work and this dissertation to my
`Mom, Theresa, my Dad, John, and my brothers Andrew, Peter and John.
`
`xvi
`
`Page 16 of 196
`
`

`

`Chapter 1
`Introduction
`
`1.1 Overview
`
`This dissertation addresses the software engineering of real-time systems as applied to
`multi-sensor based systems which are implemented in a multiprocessor environment. We
`present a comprehensive domain-specific software framework for the design and analysis
`of reconfigurable real-time systems, which can be used as the basis for software assembly.
`The framework includes software models for control modules, sensors, actuators, I/O de-
`vices, and special purpose processors. It includes analytical models for real-time schedul-
`ing of hard and soft real-time tasks, aperiodic servers, and communication mechanisms.
`System services have been incorporated into a real-time operating system in order to ease
`the development of multiprocessor applications, automatically profile user tasks, generate
`and handle various user and error signals, and communicate with external subsystems and
`hypermedia user interfaces.
`
`The remainder of this chapter is organized as follows: we first present the motivation for
`our research in Section 1.2. The goals and contributions of this work are summarized in
`Section 1.3. Finally, in Section 1.4, the organization of the rest of this dissertation is out-
`lined.
`
`1.2 Motivation
`
`Transfer and reuse of real-time application software is difficult and often seemingly impos-
`sible due to the incompatibility between hardware and systems software at different sites.
`This has meant that new technology developed at one site must be reinvented at other sites,
`if in fact it can be incorporated at all. Technology transfer, therefore, has been a very ex-
`pensive endeavor, and the reuse of software from previous applications has been virtually
`non-existent.
`
`1.1 Overview
`
`1
`Page 17 of 196
`
`

`

`For example, a user developing a real-time application may be in need of a specific soft-
`ware algorithm developed elsewhere. Currently, users may go to the library or search
`through the network for keywords, then find a book or journal article describing the math-
`ematical theory or computer science algorithm, and perhaps also providing a description of
`their implementation. After they have printed a copy of the paper, they read the article
`closely, then spend significant time writing, testing, and debugging code to implement the
`algorithm. Once that is done, they write more code to integrate the new algorithm into their
`existing system, and perform further testing and debugging. This process can easily take
`days or weeks of the person’s time for each algorithm needed for their application, and thus
`take many months to complete the programming of an entire application.
`
`The ultimate application programming environment, however, would allow for complete
`software reuse and the ability to quickly transfer technology from remote sites. There
`would exist a global distributed software library based on the information super-highway,
`similar to the hypertext information system currently available through Mosaic. The user
`who needs the algorithm searches the library to find the appropriate book or article as they
`do today. However, when they find a suitable article, they not only get the theory from the
`article, but they can also follow a link to a reusable software module created by the authors
`with the algorithm already programmed and fully tested and debugged. With an action as
`simple as a mouse-click, that software algorithm is copied into the user’s personal library,
`and is ready to be used in their application. This process takes a few minutes at most. The
`user can then assemble their software application by putting together these software build-
`ing-blocks through use of a graphical user interface. Within hours, a complete application
`could have been assembled, as compared to the months that it would take using conven-
`tional methods.
`
`These capabilities directly lead to the development of virtual laboratories, wherein applica-
`tions for a sensor-based system located at a particular location can be created by assembling
`software modules designed at other sites, and executed in combination upon a hardware
`setup at yet another site. Ultimately, such systems will lead to the development of rapidly
`deployable systems and virtual factories, wherein sensor-based applications can be per-
`
`2
`
`Chapter 1. Introduction
`Page 18 of 196
`
`

`

`formed remotely, using network-accessible time-shared facilities, from sites which other-
`wise would lack the necessary resources to accomplish the task. [17]
`
`The transition from current programming practices to supporting the desirable environment
`outlined above for developing multi sensor-based systems can only occur if the following
`two issues are resolved:
`
`• Development of reconfigurable software modules, and
`
`• Automatic integration of these modules.
`
`A reconfigurable software module is defined as being both modular and reusable, and im-
`plemented such that it is independent of the target application and independent of the target
`hardware setup [68]. Software that is stored in a global library and made available for im-
`mediate use by others must have these characteristics. Solving this issue involves develop-
`ing models and interface specifications for software components that are independent of
`both the final application and semantics of the module, thus allowing it to be sufficiently
`general for implementing any functionality.
`
`The integration of reconfigurable software modules involves providing the inter-module
`communication, executing the tasks in a multiprocessor environment, and guaranteeing
`that

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket