Multiple asynchronous clock domains have been increasingly employed in System-on-Chip (SoC) designs for different I/O interfaces. Functional validation is one of the most expensiv...
While developing the Simple Gesturing User Interface (SGUI) API for incorporating simple gestures into personal digital assistant (PDA) user interfaces, we developed an object-bas...
Software patterns are a new design paradigm used to solve problems that arise when developing software within a particular context. Patterns capture the static and dynamic structu...
Refactorings are behavior-preserving program transformations that automate design evolution in object-oriented applications. Three kinds of design evolution are: schema transformat...
The implementation of software systems with large numbers of heterogeneous components calls for a powerful design methodology. Although several such methodologies have been propos...