103

Component Contracts

Workshop 170 minutes

Should clients care about collaborations?

John Daniels

It's fashionable to say that a component is specified in terms of what it provides and what it requires. For the purposes of this session we can restrict this to specifying the interfaces it provides and the interfaces (of other components) with which it collaborates to carry out its responsibilities.

The question addressed by this workshop is "Does information about what a component requires form part of its contract with its clients?".

If we answer "yes" then that implies that the clients depend in some way on the downstream collaborations of the component and may be affected by changes to them. But if we say "no" then we must ensure that the component's interface definitions are sufficient to provide all the information required by the client. For example, if a client uses the OrderManager and CreditCheck interfaces provided by two separate components, does the client need to know that these two components, in turn, get their information about customers from the same CustomerManager interface?

It appears that a common reason for answering "yes" to this question is the hope or belief that knowledge of downstream collaborations will allow the client to deduce the set of *instances* being manipulated. Using the previous example, a client might assume that since OrderManager and CreditCheck both use CustomerManager they share a set of underlying customers, with consequential consistency of customer keys. It might of might not be valid to make such an assumption, depending on the semantics of the modelling language.This workshop will therefore also examine the difference between specifications of behviour of types and specifications of information sets.

John Daniels (jdaniels@cix.co.uk)

Syntropy Limited

John Daniels is an object technology pioneer, with more than 15 years experience of object modelling and design. He has helped many organisations exploit object technology - and now components!

The content of this workshop is based on John's experience working with Sterling Software, where he helped create a meta-model for a component modelling language based on UML and Catalysis.

John has been a session leader at every OT conference, and has a track-record of enthusiastic participant response and high ratings.

Topics

Benefits

  • Improved understanding of component contracts

    Session: Workshop 170 minutes Level: intermediate/advanced
    Audience: architects, specifiers and designers Max none

    Material

    Participants will be provided with a statement of the problem being considered plus examples. In the first part of the workshop groups will follow a worksheet containing exercises that explore the issues. A questionaire and template will be provided to aid the creation of posters.

    Delivery

    The outputs will be the questionaires completed by each group plus a consolidated position poster. A summary will be posted on a web site after the event.

    Format

    Group working, with groups joining to find a consensus.
    103