comp.lang.ada
 help / color / mirror / Atom feed
From: "Hibou57 (Yannick Duchêne)" <yannick_duchene@yahoo.fr>
Subject: Re: Specifying the order of ops on an ADT with aspects
Date: Thu, 4 Feb 2010 10:07:17 -0800 (PST)
Date: 2010-02-04T10:07:17-08:00	[thread overview]
Message-ID: <91ab6070-fc9e-4575-a967-8fe43353ba26@36g2000yqu.googlegroups.com> (raw)
In-Reply-To: 4b6aaed4$0$7625$9b4e6d93@newsspool1.arcor-online.net

On 4 fév, 12:26, Georg Bauhaus <rm.dash-bauh...@futureapps.de> wrote:
> Defining a private type, I'd like to know whether
> it is possible to specify, with the help of the new
> aspects, possible orders of calling the operations.
> Showing my ignorance, to which extent might it be
> possible to analyse the order of calls at compile time?

Your package example looks good to me, except the assumption you've
made about “ analyse the order of calls at compile time ”

The new pre-post-condition which will comes for 2015 (I suppose), is
not intended to be checked at compile time nor even at runtime. I
gonna miss this last one (the first one would be a heavy pain to
implement), but I suppose some compiler vendors will probably have an
option for that and will go the Eiffel way with this contract
clauses : enable or disable clauses-check, just like you can enable or
disable generation of debugging information with any compiler.

AI05-0145-2 says
http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0145-2.txt?rev=1.4
> This is based on the previous alternative AI05-0145-1. The
> Pre/Post aspects are specified using the aspect_specification
> syntax defined in AI05-0183-1. There is no message associated
> with the failure of a precondition or postcondition check: it
> was deemed that these annotations are intended for verification,
> and that for debugging purposes the Assert pragma is sufficient.
The last sentence is the most important for you topic.

All providing I've really understood your question

“ intended for verification, and that for debugging purposes the
Assert pragma is sufficient ”

I was exactly feeling the opposite, that Assert pragmas are not
sufficient and are hard to maintain and copy in implementations
accordingly to contracts in specifications.



  reply	other threads:[~2010-02-04 18:07 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-04 11:26 Specifying the order of ops on an ADT with aspects Georg Bauhaus
2010-02-04 18:07 ` Hibou57 (Yannick Duchêne) [this message]
2010-02-05 16:44   ` Colin Paul Gloster
2010-02-05 16:55     ` Hibou57 (Yannick Duchêne)
2010-02-05 18:34       ` Dmitry A. Kazakov
2010-02-08 10:41         ` Colin Paul Gloster
2010-02-05 22:15   ` Randy Brukardt
2010-02-05 22:45     ` Hibou57 (Yannick Duchêne)
2010-02-06  3:35       ` Hibou57 (Yannick Duchêne)
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox