— We present design patterns used by software components in the TinyOS operating system. They differ significantly from traditional software design patterns due to TinyOS’s fo...
Aspect-Oriented Programming promises separation of concerns at the implementation level. However, aspects are not always orthogonal and aspect interaction is a fundamental problem...
Software systems are becoming heterogeneous: instead of a small number of large programs from well-established sources, a user's desktop may now consist of many smaller compo...
Symbolic model checking has proved highly successful for large nite-state systems, in which states can be compactly encoded using binary decision diagrams (BDDs) or their variants...
Large scale software is composed of libraries produced by different entities. Non-intrusive and efficient mechanisms for adapting data structures from one library to conform to AP...