Statecharts: A visual formalism for complex systems
Science of Computer Programming
The complementation problem for Bu¨chi automata with applications to temporal logic
Theoretical Computer Science
Object-oriented software engineering
Object-oriented software engineering
Object-oriented modeling and design
Object-oriented modeling and design
Object-oriented analysis and design with applications (2nd ed.)
Object-oriented analysis and design with applications (2nd ed.)
On the power of bounded concurrency I: finite automata
Journal of the ACM (JACM)
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Designing object systems: object-oriented modelling with Syntropy
Designing object systems: object-oriented modelling with Syntropy
Regular types for active objects
Object-oriented software composition
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
LSCs: Breathing Life into Message Sequence Charts
Formal Methods in System Design
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
A Calculus of Communicating Systems
A Calculus of Communicating Systems
On the complexity of verifying concurrent transition systems
Information and Computation
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Linear and Branching Structures in the Semantics and Logics of Reactive Systems
Proceedings of the 12th Colloquium on Automata, Languages and Programming
Specifications and Their Use in Defining Subtypes
ZUM '95 Proceedings of the 9th International Conference of Z Usres on The Z Formal Specification Notation
Verification of Fair Transisiton Systems
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
UML behavior: inheritance and implementation in current object-oriented languages
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
Proceedings of the 28th international conference on Software engineering
Component composition preserving behavioral contracts based on communication traces
Theoretical Computer Science - Implementation and application of automata
ACM Transactions on Software Engineering and Methodology (TOSEM)
Tracing correct usage of design patterns
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
Approaches for inheritance in the TMO programming scheme
Proceedings of the 12th Monterey conference on Reliable systems on unreliable networked platforms
Complementation constructions for nondeterministic automata on infinite words
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
ArchiTRIO: a UML-Compatible language for architectural description and its formal semantics
FORTE'05 Proceedings of the 25th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Component composition preserving behavioural contracts based on communication traces
CIAA'05 Proceedings of the 10th international conference on Implementation and Application of Automata
Polymorphic scenario-based specification models: semantics and applications
Software and Systems Modeling (SoSyM)
Hi-index | 0.01 |
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.