Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!jarthur!uunet!cimshop!davidm From: cimshop!davidm@uunet.UU.NET (David S. Masterson) Newsgroups: comp.object Subject: Re: Void references Message-ID: Date: 24 Nov 90 21:54:39 GMT References: <1990Nov7.220902.13393@Neon.Stanford.EDU> <460@eiffel.UUCP> Sender: davidm@cimshop.UUCP Distribution: comp Organization: Consilium Inc., Mountain View, California. Lines: 33 In-reply-to: bertrand@eiffel.UUCP's message of 20 Nov 90 06:45:55 GMT X-Posting-Software: GNUS 3.12 [ NNTP-based News Reader for GNU Emacs ] >>>>> On 20 Nov 90 06:45:55 GMT, bertrand@eiffel.UUCP (Bertrand Meyer) said: Bertrand> An assertion violation is a routine precondition that is not Bertrand> satisfied on routine entry, a routine postcondition not satisfied on Bertrand> routine exit, or a class invariant not satisfied in either case. Bertrand> (There are also other cases involving loop invariants and check Bertrand> instructions.) Hmmm. A question from relational database constraint resolution. Within a relational database, one can define constraints that updates to the database must satisfy before the update is allowed. Might this be considered an assertion (most likely a routine postcondition)? If so, its possible to define constraints on two (or more) different tables (objects?) that are mutually exclusive (updating any of the tables violates a constraint). I can't think of an example at the moment of when this would occur (its usually rather complex), but the resolution of the problem is to check constraints at transaction commit time (when all updates are done) rather than after every update. The user of the objects makes the determination whether to consider each update atomic or take all updates together as atomic. Would this be expressable under assertion methodologies (control of assertion checking being outside of the object) or is this something that is just avoided in development of objects? -- ==================================================================== David Masterson Consilium, Inc. (415) 691-6311 640 Clyde Ct. uunet!cimshop!davidm Mtn. View, CA 94043 ==================================================================== "If someone thinks they know what I said, then I didn't say it!"