Technical Report


Modeling the Dynamic Behavior of Objects - On Events, Messages and Methods


Author(s): R. Breu, R. Grosu
Year: 1998
Number: TUM-I9804
Editor:
CR Classification: C.2.1, D.1.3, D.1.7, D.2.1, D.2.2, D.2.4, D.3.2, D.4.1, F.1.1, F.1.2, F.3.2
CR General Terms: Design, Languages, Theory
Keywords: Visual Formalisms, design, cuncurrent objects, events, messages, message passing, life-cycle, multiple threads, object model
Abstract:Events, messages and methods are concepts supported by most object-oriented analysis and design techniques. The interrelation between these concepts is however not yet fully understood and guidelines and techniques for method specification remain unprecise and incomplete. In this paper we provide a simple object model which we use both to clarify the above interrelation and to devise a method for specifying the dynamic behavior of objects. In a two layered approach, this method integrates the description of the object's life-cycles with the specification of the object's methods. Our object model is characterized by two important assumptions, namely that methods are virtual objects and that messages sent to inexistent objects are returned back as an error. Both assumptions are supported by practical evidence and allow us to model internal concurrency, multiple threads and attribute sharing in a very simple and elegant way. Our ideas are illustrated on a simple banking example.


Available as compressed Postscript

BibTeX-Entry:

@techreport{BreuGrosuTUM-I9804, author = {R. Breu and R. Grosu}, title = {Modeling the Dynamic Behavior of Objects - On Events, Messages and Methods}, number = {TUM-I9804}, institution = {Technische Univerit\"at M\"unchen}, year = {1998}, url = {http://www4.informatik.tu-muenchen.de/reports/BreuGrosuTUM-I9804.html}, abstract = {Events, messages and methods are concepts supported by most object-oriented analysis and design techniques. The interrelation between these concepts is however not yet fully understood and guidelines and techniques for method specification remain unprecise and incomplete. In this paper we provide a simple object model which we use both to clarify the above interrelation and to devise a method for specifying the dynamic behavior of objects. In a two layered approach, this method integrates the description of the object's life-cycles with the specification of the object's methods. Our object model is characterized by two important assumptions, namely that methods are virtual objects and that messages sent to inexistent objects are returned back as an error. Both assumptions are supported by practical evidence and allow us to model internal concurrency, multiple threads and attribute sharing in a very simple and elegant way. Our ideas are illustrated on a simple banking example.}, CRClassification = {C.2.1, D.1.3, D.1.7, D.2.1, D.2.2, D.2.4, D.3.2, D.4.1, F.1.1, F.1.2, F.3.2}, CRGenTerms = {Design, Languages, Theory}}