Reengineering of old systems to an object-oriented architecture
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
HRT-HOOD: a structured design method for hard real-time systems
Real-Time Systems
Holistic schedulability analysis for distributed hard real-time systems
Microprocessing and Microprogramming - Parallel processing in embedded real-time systems
Small-scale structural reengineering of software
ISAW '96 Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops
Systems reengineering patterns
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Performance Estimation for Real-Time Distributed Embedded Systems
IEEE Transactions on Parallel and Distributed Systems
On Exploiting Task Duplication in Parallel Program Scheduling
IEEE Transactions on Parallel and Distributed Systems
Reverse engineering and reengineering of a large serial system into a distributed-parallel version
SAC '95 Proceedings of the 1995 ACM symposium on Applied computing
Software Design Methods for Concurrent and Real-Time Systems
Software Design Methods for Concurrent and Real-Time Systems
Co-Synthesis of Hardware and Software for Digital Embedded Systems
Co-Synthesis of Hardware and Software for Digital Embedded Systems
Hardware-Software Cosynthesis for Microcontrollers
IEEE Design & Test
Reengineering Legacy Embedded Systems
IEEE Design & Test
System on Chip or System on Package?
IEEE Design & Test
An Accurate Worst Case Timing Analysis for RISC Processors
IEEE Transactions on Software Engineering
A Tool for Analyzing and Fine Tuning the Real-Time Properties of an Embedded System
IEEE Transactions on Software Engineering
SEW: A Toolset For Design and Analysis of Distributed Real-Time Systems
RTAS '97 Proceedings of the 3rd IEEE Real-Time Technology and Applications Symposium (RTAS '97)
RTSS '01 Proceedings of the 22nd IEEE Real-Time Systems Symposium
Hi-index | 0.00 |
This paper presents a systematic methodology aimed at rapid and cost-effective re-engineering of distributed embedded systems. We define embedded system re-engineering as an analysis and alteration of a legacy system to guarantee newly imposed performance requirements such as throughput and input-to-output latency. Our methodology pinpoints performance bottlenecks of a system and selectively upgrades processing elements at the least cost. Inputs for our methodology include a system design specified by a process network over a set of processing elements and a new throughput requirement. The output is a set of scaling factors that represent the ratios of the performance upgrades for processing elements. Our methodology works in two steps. First, it estimates the latency of each process and identifies bottleneck processes. Second, it derives a system of constraints with scaling factors being free variables and formulates an optimization problem. Then, it solves the optimization problem for scaling factors with an objective of minimizing upgrade cost. For this methodology, we propose an accurate latency analysis technique for precedence-constrained tasks under preemptive fixed priority scheduling. We also propose a k-level diagonal search algorithm that allows us to trade optimality for search time. Our experimental results show the effectiveness of the proposed re-engineering approach.