This Article 
 Bibliographic References 
 Add to: 
Introducing Objectcharts or How to Use Statecharts in Object-Oriented Design
January 1992 (vol. 18 no. 1)
pp. 9-18

A notation called Objectcharts for specifying object classes is introduced. An Objectchart diagram is an extended form of a Statechart, which characterizes the behavior of a class as a state machine. The Objectchart transitions correspond to the state-changing methods that the class provides and those that it requires of other classes. Object attributes and observer methods annotate Objectchart states. Firing and postconditions are used to specify the effect of transitions on class attributes. The Objectchart notions is described through the development of an alarm clock application. How Objectcharts can be used to find subtyping inheritance relationships between classes and a systematic approach for evolving Objectchart specifications are shown.

[1] G. Booth,Object-Oriented Design with Applications. Redwood City, CA: Benjamin Cummings, 1991.
[2] C.A.R. Hoare,Communicating Sequential Processes, Prentice Hall, Englewood, N.J., 1985.
[3] D. Harel, A. Pnueli, J. P. Schmidt, and R. Sherman, "On the formal semantics of statecharts," inProc. 2nd IEEE Symp. on Logic of Computer Sci., 1987, pp. 54-64.
[4] G. Booch, "Object-oriented development,"IEEE Trans. Software Eng., vol. SE-12, pp. 211-221, Feb. 1986.
[5] D. Harel, "Statecharts: A visual formalism for complex systems,"Sci. Comput. Program., vol. 8, pp. 231-274, 1987.
[6] F. Hayes and D. Coleman, "Coherent models for object-oriented analysis," Hewlett-Packard Labs., Bristol, UK, Tech. Rep. HPL-91-47, Apr. 1991 (to be published inProc. OOPSLA'91).
[7] I. Ramos, "Logics and OO-databases: a declarative approach," inProc. DEXA'90(Vienna). Berlin: Springer-Verlag, 1990.
[8] I. Ramos, O. Pastor, and A. Gonzalez del Rio, "Object-oriented specification and prototyping of database conceptual schemas," Univ. Politecnica de Valencia, Tech. Rep. 1990.
[9] C. B. Jones.Systematic Software Development Using VDM, 2nd ed. Englewood Cliffs, NJ: Prentice-Hall, 1990.
[10] O. Pasor, "Oasis: an object-oriented specification language," Hewlett-Packard Labs., Bristol, UK, Tech. Rep. HPL-91-48, 1991.
[11] M. Page-Jones and S. Weiss, "Synthesis, Course notes on the Synthesis object-oriented analysis and design method, 1989.
[12] P. J. Denning, J. B. Dennis, and J. E. Qualitz,Machines, Languages and Computation. Englewood Cliffs, NJ: Prentice-Hall, 1978.
[13] R. Wirts-Brock and R. E. Johnson, "Surveying current research in object-oriented design,"Commun. ACM, vol. 33, no. 9, pp. 104-124, 1990.
[14] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen,Object-Oriented Modeling and Design. Englewood Cliffs, NJ: Prentice-Hall, 1991.
[15] S. Shlaer and S. J. Mellor,Object-Oriented Systems Analysis: Modeling the World in Data. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[16] R. Wrifs-Brock, B. Wilkerson, and L. Wiener,Designing Object-Oriented Software. Englewood Cliffs, NJ: Prentice-Hall, 1990.

Index Terms:
object classes; Statechart; state machine; Objectchart transitions; state-changing methods; observer methods; Objectchart states; postconditions; Objectchart notions; alarm clock application; subtyping inheritance relationships; Objectchart specifications; data structures; diagrams; formal specification; object-oriented programming
D. Coleman, F. Hayes, S. Bear, "Introducing Objectcharts or How to Use Statecharts in Object-Oriented Design," IEEE Transactions on Software Engineering, vol. 18, no. 1, pp. 9-18, Jan. 1992, doi:10.1109/32.120312
Usage of this product signifies your acceptance of the Terms of Use.