Article View: ch.si.choose
Article #5Seminar: Design by Contract using Java
From: Silvano Maffeis
Date: Fri, 05 Dec 1997 00:00
Date: Fri, 05 Dec 1997 00:00
116 lines
4905 bytes
4905 bytes
Java Users Group Switzerland invites you to the following
seminar. This will be a rather technical talk aimed at Java developers.
The presentation will be ca. 45 minutes, followed by a discussion.
Please send e-mail to maffeis@acm.org if you are planning to attend.
Admission is free for JUGS members. For membership information visit
http://www.jugs.ch/
Best Regards,
The JUGS board
-------------------------------------------------------------------------------
Design by Contract using Java
iContract
a Tool that Supports UML compatible
'Design by Contract' in Java(tm)
Wednesday, December 17., 1997 1700-1900h, Technopark Zurich
Reto Kramer
Olsen & Associates, Zuerich
kramer@acm.org
SEMINAR ABSTRACT
Design by contract refers to the concept of viewing the interfaces among
system components as contracts that are specified as integral parts of
the
source-code. Based on this single source-code technique the
documentation and
the generated assertion-check code can be guaranteed to always match
which is
essential to the cost-effective adoption of dependable component based
software-systems.
Until today, the explicit specification of contracts by means of class
invariants and message pre- and post-conditions was only available to
Eiffel
developers. iContract is the first tool that provides the same thorough
support
for Java, enabling developer's to take advantage of the following
benefits:
(a) supports design for testability by enhancing the systems
observability
(failure occurs close to fault), (b) uniform implementation of
invariant-,
pre- and post-condition-checks throughout your team, (c) documentation
and
code are always in synch and (d)semantic level specification of what
requirements/benefits a class/message offers.
iContract is a freely available source-code pre-processor which
instruments
the code with checks for class invariants, pre- and post-conditions that
may
be associated with methods in classes and interfaces. Special comment
tags
(e.g. @pre, @post) are interpreted by iContract and converted into
assertion
checks code that is inserted into the source-code. The expressions are a
superset of Java, compatible with a subset of the latest UML "Object
Constraint Language (OCL)". Highlight features include old- and
return-value
references in post-conditions, implications and the naming of exception
classes
to throw. iContract fully supports the propagation of invariants, pre-
and post-conditions via inheritance and multiple interface
implementation, as
well as multiple interface extension mechanisms. The instrumentation
level
(e.g. only pre-condition checks) can be chosen on a per file level
enabling
fine grained, vertical (inheritance, implementation) and horizontal
(delegation) performance control throughout your system.
Due to the non-mandatory nature of the comment tags, source code that
contains
design by contract annotations is still fully compatible with Java and
can
thus be processed with standard java compilers enabling a risk-free
adoption
of the technique in your organisation.
REGISTRATION
Please send e-mail to maffeis@acm.org if you are planning to attend.
The event is free of charge for JUGS members. For membership information
visit http://www.jugs.ch/
TRAVEL DIRECTIONS
From Zurich Main Station (Hauptbahnhof) by train or tram:
- Take any of the S3, S5, S6, S7, S9, or S1 trains from the main station
to
railway station "Hardbr�cke". It's a 2 minutes ride and from there 8
minutes
walking distance to the Technopark.
- Or take tram No. 4 from the main station to tram station
"F�rrlibuckstrasse".
It's a 15 minutes ride and from there 4 minutes walking distance to
the
Technopark.
By car:
We recommend taking a public transportation system. There are only few
parking lots available at the Technopark parking. Further parking lots
can be found at
Welti-Furrer and Cinemax.
Street address:
Technopark Z�rich, Technoparkstrasse 1, 8005 Z�rich
Location map:
http://www.tpzh.ch/public/tpkr01de.htm
Technical Details
Message-ID:
<3487A66E.41C67EA6@acm.org>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII X-Google-Thread: 10843a,bf62f8710459a604,start X-Google-Attributes: gid10843a,public X-Google-Thread: f61ec,bf62f8710459a604,start X-Google-Attributes: gidf61ec,public X-Google-Thread: f778e,bf62f8710459a604,start X-Google-Attributes: gidf778e,public From: Silvano Maffeis <maffeis@acm.org> Subject: Seminar: Design by Contract using Java Date: 1997/12/05 Message-ID: <3487A66E.41C67EA6@acm.org> X-Deja-AN: 295401665 Organization: Olsen & Associates, Zurich Newsgroups: ch.si.choose,ch.si.general,ch.general