TY - JOUR
T1 - On object systems and behavioral inheritance
AU - Harel, David
AU - Kupferman, Orna
PY - 2002/9
Y1 - 2002/9
N2 - We consider state-based behavior in object-oriented analysis and design, as it arises, for example, in specifying behavior in the UML using statecharts. We first provide a rigorous and analyzable model of object systems and their reactivity. The definition is for basic one-thread systems, but can be extended in appropriate ways to more elaborate models. We then address the notion of inheritance and behavioral conformity and the resulting substitutability of classes, whereby inheriting should retain the system's original behaviors. Inheritance is a central issue of crucial importance to the modeling, design, and verification of object-oriented systems, and the many deep and unresolved questions around it cannot be addressed without a precise definition of the systems under consideration. We use our definition to give a clear and rigorous picture of what exactly is meant by behavioral conformity and how computationally complex it is to detect.
AB - We consider state-based behavior in object-oriented analysis and design, as it arises, for example, in specifying behavior in the UML using statecharts. We first provide a rigorous and analyzable model of object systems and their reactivity. The definition is for basic one-thread systems, but can be extended in appropriate ways to more elaborate models. We then address the notion of inheritance and behavioral conformity and the resulting substitutability of classes, whereby inheriting should retain the system's original behaviors. Inheritance is a central issue of crucial importance to the modeling, design, and verification of object-oriented systems, and the many deep and unresolved questions around it cannot be addressed without a precise definition of the systems under consideration. We use our definition to give a clear and rigorous picture of what exactly is meant by behavioral conformity and how computationally complex it is to detect.
KW - Inheritance
KW - Object systems
KW - Object-oriented analysis and design
KW - Simulation
KW - Trace containment
KW - Verification
UR - http://www.scopus.com/inward/record.url?scp=0036709535&partnerID=8YFLogxK
U2 - 10.1109/TSE.2002.1033228
DO - 10.1109/TSE.2002.1033228
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:0036709535
SN - 0098-5589
VL - 28
SP - 889
EP - 903
JO - IEEE Transactions on Software Engineering
JF - IEEE Transactions on Software Engineering
IS - 9
ER -