From wupc@ccs.neu.edu Wed Dec 5 15:25:57 2001 X-UIDL: dee1211c2b6a0f72a783b1bf71a057cf Return-Path: Received: from acrux.ccs.neu.edu (acrux.ccs.neu.edu [129.10.117.161]) by amber.ccs.neu.edu (8.10.0.Beta10/8.10.0.Beta10) with ESMTP id fB5KPsH22359; Wed, 5 Dec 2001 15:25:54 -0500 (EST) Date: Wed, 5 Dec 2001 15:25:53 -0500 (EST) From: Pengcheng Wu To: Doug Orleans cc: Karl Lieberherr , skotthe@ccs.neu.edu, edwards@intranet.com, johan@ccs.neu.edu, john_j_sung@yahoo.com, neerajsangal@mediaone.net, robby@ccs.neu.edu Subject: Re: contracts and AOP In-Reply-To: <15374.27170.744534.145317@vega.ccs.neu.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO Content-Length: 1065 One of the problems with the aspects that invalidate pre- and post- conditions of existing code is that the end-user programmers have to know how many aspects are related to the code and how they are related to the code(in what way they change the pre- and post- conditions), and the aspects can not be freely attached to or detached from the base program, which may undermine the objective of AOP to separate concerns. --Pengcheng On Wed, 5 Dec 2001, Doug Orleans wrote: > Karl Lieberherr writes: > > 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. > > I think "proposed" is a better word than "proclaimed". Or more like, > "hypothesized". I think Theo is right, it depends on the aspect. > Perhaps that would be a way to categorize aspects: those that preserve > contracts and those that invalidate contracts, without making a value > judgement on the latter category. > > --Doug >