TY - GEN
T1 - Object-oriented state machines
T2 - 10th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 1995
AU - Sane, Aamod
AU - Campbell, Roy
PY - 1995
Y1 - 1995
N2 - Software specification and implementation techniques based on state machines simplify design, coding, and validation. However, large systems require complex state machines. Incremental construction techniques can control this complexity. In this paper, we present a construction technique that permits derivation of complex state machines from simpler state machines. The technique uses subclassing, composition, delegation, and genericity to incrementally modify and combine simpler machines.In addition, we present a novel implementation technique that uses exactly one table-lookup and one addition to dispatch events on derived state machines, no matter the depth of the derivation. As an example, we describe the derivation of a complicated distributed virtual memory scheme from a simple paging virtual memory scheme.
AB - Software specification and implementation techniques based on state machines simplify design, coding, and validation. However, large systems require complex state machines. Incremental construction techniques can control this complexity. In this paper, we present a construction technique that permits derivation of complex state machines from simpler state machines. The technique uses subclassing, composition, delegation, and genericity to incrementally modify and combine simpler machines.In addition, we present a novel implementation technique that uses exactly one table-lookup and one addition to dispatch events on derived state machines, no matter the depth of the derivation. As an example, we describe the derivation of a complicated distributed virtual memory scheme from a simple paging virtual memory scheme.
UR - http://www.scopus.com/inward/record.url?scp=0029458266&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0029458266&partnerID=8YFLogxK
U2 - 10.1145/217838.217841
DO - 10.1145/217838.217841
M3 - Conference contribution
AN - SCOPUS:0029458266
SN - 0897917030
SN - 9780897917032
T3 - Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA
SP - 17
EP - 32
BT - Proceedings of the 10th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 1995
Y2 - 15 October 1995 through 19 October 1995
ER -