an obsm method for real time embedded systems veronica eyo sharvari joshi
TRANSCRIPT
![Page 1: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/1.jpg)
An OBSM method for Real Time Embedded Systems
Veronica EyoSharvari Joshi
![Page 2: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/2.jpg)
What is OBSM?On Board Software MaintenanceSoftware
maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment
(Source: Wikipedia)
![Page 3: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/3.jpg)
Related WorkReduce the size of patchAssign more memory to each
module at compilation timeOnly that module is rebootedDisadvantage: difficult to predict
the memory size of future patches
![Page 4: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/4.jpg)
Related work continuedOn-Board Control ProceduresIs a stand alone programCapable of interacting with other
on-board subsystems, with similar capabilities
![Page 5: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/5.jpg)
Related work continuedProvide hardware redundancyNew version software runs with
old versionOld version guards upgradingUpgrades only if the new version
works as expected for some timeElse rollback to a checkpoint
![Page 6: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/6.jpg)
Component-based Dynamic ArchitectureIs a configuration language for
describing dynamic architectureSpecify the structure of
Distributive systemsSeparates the description of
structure from that of computation and interaction
Use connectors for communication
![Page 7: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/7.jpg)
Distributed object-based approachClient object can transparently
invoke a method on a server object
Requires CORBA architectureReliable group communicationFrequent checkpoint mechanism
![Page 8: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/8.jpg)
Need to replace redundancyHigh cost to have hardware or
software redundancyCommunication and
synchronization is time consuming
![Page 9: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/9.jpg)
FrameworkCompilerSoftware Development
Environment (SDE)Software Validation Facility (SVF)A generator for patch
telecommandsA mission database of "memory
images"
![Page 10: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/10.jpg)
Framework
SDEPatch Maker
OB Softwar
eSVF
Find Error
Modify Information
Verif
yUpload Patch
![Page 11: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/11.jpg)
Types of ModificationsKernel ModificationUser Application ModificationParameter Modification
![Page 12: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/12.jpg)
Kernel ModificationOS may have bugsIf Preemptible Kernel:
◦PC register of each task may point to an instruction that will be modified
◦All the tasks must be stopped except the patch handle task
If Non-preemptible Kernel:◦Task that is not ready needs to be
restarted
![Page 13: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/13.jpg)
User Application ModificationMore common to modify user
applicationDifferent applications have
different tasksTo upgrade the task is killedBetter than the approach of
updating the whole and then rebooting the system.
![Page 14: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/14.jpg)
Parameter ModificationParameters refer to a global
variable or static variable or a data area in memory
Local variable is in a stack and cannot be modified
Variables and data can be modified by rewriting the memory
![Page 15: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/15.jpg)
Patch Information Fetching
SDE informs OBSM to fetch patch information
OBSM finds the files updated by the user modification
Comparison is carried out to find out which files have been modified
![Page 16: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/16.jpg)
Task AnalysisDependencySoftware upgrading and function
upgradingParameter modification
necessitates that the task be restarted
![Page 17: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/17.jpg)
Task Analysis
![Page 18: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/18.jpg)
Caller GraphA caller graph is
createdUse breadth-first
traversal to find all the dependant tasks
A list of all the functions that depend on the given function and find tasks whose entry points are in these functions.
![Page 19: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/19.jpg)
Relocation and Re-relocationTo upgrade software we need a
memory table which is costly to maintain
Implement it in the host machineIf a new version function is larger
than the old one new function will be placed in a new location
Need re-relocation after the patch is uploaded
![Page 20: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/20.jpg)
Relocation and Re-relocation
![Page 21: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/21.jpg)
PatchingReceive the patchSuspend the affected taskUpdate the parameter value or
codeRestart the taskThe task priority, entry point,
base of stack and arguments are needed
![Page 22: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/22.jpg)
Resource ProtectionResource releaseNeed to protect the resource
when the task is killedRegister MechanismReboot delayed mechanism
![Page 23: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/23.jpg)
ResultsPentium-s, 100 MHz3 source files modification (20
functions)Conventional method: 2sec and
110µsecOverhead of OBSM is15µsec
![Page 24: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/24.jpg)
ConclusionDevelop a method to update the
software by writing the patch to memory directly
To reduce overhead classify the type of modification
Task dependency analysis and resource protection help in correct upgrading
This method has some overhead but will be useful for applications which require frequent upgrading
![Page 25: An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi](https://reader036.vdocument.in/reader036/viewer/2022062422/56649f355503460f94c52d0e/html5/thumbnails/25.jpg)
Questions?