| 103 | ![]() ![]()
|
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.
|
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.
|
| Session: Workshop 170 minutes | Level: intermediate/advanced |
| Audience: architects, specifiers and designers | Max none |
| 103 | ![]() ![]()
|