From skotthe@ccs.neu.edu Wed Dec 5 13:21:41 2001 X-UIDL: ba64139a95ae94a43be30d9886131ee6 Return-Path: Received: from sulafat.ccs.neu.edu (sulafat.ccs.neu.edu [129.10.117.167]) by amber.ccs.neu.edu (8.10.0.Beta10/8.10.0.Beta10) with ESMTP id fB5ILcH11265; Wed, 5 Dec 2001 13:21:38 -0500 (EST) Date: Wed, 5 Dec 2001 13:21:37 -0500 (EST) From: Therapon Skotiniotis To: Karl Lieberherr cc: dougo@ccs.neu.edu, edwards@intranet.com, johan@ccs.neu.edu, john_j_sung@yahoo.com, neerajsangal@mediaone.net, robby@ccs.neu.edu, wupc@ccs.neu.edu Subject: Re: contracts and AOP In-Reply-To: <200112051636.fB5Ga8h22013@gomeisa.ccs.neu.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO Content-Length: 962 Hi : Well, yes, if you constraint yourself to aspects that have a "static" (or in aspectJ terms) debugging behavior that simply report back information without altering anything. However going to production aspects (aspectJ definition) or to aspects that do alter the basic systems functionality then you have to consider the possible invalidation . These issues also relate to the "nature of your aspects" (types ?!). But the guidelines are on the right track ... Theo On Wed, 5 Dec 2001, Karl Lieberherr wrote: > Hi Theo: > > yesterday Doug and I had a discussion on contracts and AOP: > > Doug proclaimed the following guidelines: > > Adding an aspect should not change (invalidate?) > pre- and post- conditions of existing code. > > Adding an aspect should lead to a behavioral subtype. > > For example: > adding logging, synchronization, etc. should not affect the standard behavior. > > Do you agree with those guidelines? > > -- Karl >