Object-oriented cosynthesis of distributed embedded systems

This article describes a new hardware-software cosynthesis algorithm that takes advantage of the structure inherent in an object-oriented specification. The algorithm creates a distributed system implementation with arbitrary topology, using the object-oriented structure to partition functionality in addition to scheduling and allocating processes. Process partitioning is an especially important optimization for such systems because the specification will not, in general, take into account the process structure required for efficient execution on the distributed engine. The object-oriented specification naturally provides both coarse-grained and fine-grained partitions of the system. Our algorithm uses that multilevel structure to guide synthesis. Experimental results show that our algorithm takes advantage of the object-oriented specification to quickly converge on high-quality implementations.

[1]  Wayne Wolf,et al.  Hardware-software co-design of embedded systems , 1994, Proc. IEEE.

[2]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[3]  Grady Booch Object-oriented design , 1982, ALET.

[4]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[5]  Wayne Wolf,et al.  Communication synthesis for distributed embedded systems , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[6]  Giovanni De Micheli,et al.  Hardware-software cosynthesis for digital systems , 1993, IEEE Design & Test of Computers.

[7]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[8]  Andy Wellings,et al.  Embedded Real-Time Systems: a Specification and Design Methodology , 1994 .

[9]  Marilyn Wolf,et al.  An architectural co-synthesis algorithm for distributed, embedded computing systems , 1997, IEEE Trans. Very Large Scale Integr. Syst..

[10]  Krithi Ramamritham,et al.  Efficient Scheduling Algorithms for Real-Time Multiprocessor Systems , 1989, IEEE Trans. Parallel Distributed Syst..

[11]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[12]  Frank Vahid,et al.  A binary-constraint search algorithm for minimizing hardware during hardware/software partitioning , 1994, EURO-DAC '94.

[13]  Jean Paul Calvez Embedded real-time systems: a specification and design methodology , 1993 .

[14]  Ahmed Amine Jerraya,et al.  Interactive system-level partitioning with PARTIF , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[15]  Wayne H. Wolf,et al.  Communication synthesis for distributed embedded systems , 1995, ICCAD.

[16]  James P. Huang Modeling of Software Partition for Distributed Real-Time Applications , 1985, IEEE Transactions on Software Engineering.

[17]  Roger S. Pressman,et al.  Software engineering (3rd ed.): a practitioner's approach , 1992 .

[18]  Jörg Henkel,et al.  Hardware-software cosynthesis for microcontrollers , 1993, IEEE Design & Test of Computers.

[19]  Alice C. Parker,et al.  SOS: Synthesis of application-specific heterogeneous multiprocessor systems , 2001, J. Parallel Distributed Comput..

[20]  Stephen J. Mellor,et al.  Object lifecycles: modeling the world in states , 1992 .

[21]  R S Pressman,et al.  Software engineering: a practitioner's approach (2nd ed.) , 1986 .

[22]  Wolfgang Rosenstiel,et al.  A method for partitioning UNITY language in hardware and software , 1994, EURO-DAC '94.

[23]  Donald E. Thomas,et al.  Architectural partitioning for system level synthesis of integrated circuits , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[24]  Ti-Yen Yen,et al.  Sensitivity-driven co-synthesis of distributed embedded systems , 1995 .

[25]  Pamela Zave,et al.  A compositional approach to multiparadigm programming , 1989, IEEE Software.

[26]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[27]  Jean Paul Calvez,et al.  Embedded Real-Time Systems , 1993 .

[28]  Karl J. Lieberherr,et al.  Object-oriented design , 1996, CSUR.

[29]  Wesley W. Chu,et al.  Task Allocation and Precedence Relations for Distributed Real-Time Systems , 1987, IEEE Transactions on Computers.