Click on the image below to view it full size in an image viewer !
The server processes the requests and returns a response back to the client.

This introduces a *Response, and we look now at a few different ways of representing this in a traceable way.

A *Request and *Response can be shown nicely on a delegation Connector, however the «wrapper» Component won't "see" them directly as conveyed information, so these classes need to at least appear directly wrapped, so they are related (by ComponentRealization), but that alone won't say much about what happens with and to instances of those classes.

We can also use a Dependency and/or Association to carry information about what does what to what, where possible taken directly from the analysed source text.

WARNING: some fundamentalist UML purists and perhaps even more RDF and OWL purists could get hot under the collar when they see this, so don't show them .. (or look away if you are one of them). Yes, this is like (subject, predicate, object) triples.

The name of an Association can be used to carry source document text, and it can be given direction - at least graphically - and the UML2 specification is clear in stating that this does indicate an order of Association ends, however the directional information can't be reliably extracted from XML project files (the "repository") all UML tools. This approach does however have the advantage for UML™ Parsing Analysis (which BTW is not OWL, and has a slightly different purpose from pure "semantic web" ontology modelling), that a ComponentRealization is generated automatically between the «wrapper» Component and the Association, as shown.

The name of Dependency can be very safely used to carry text with a directional sense, in a way which is 100% extractable in every UML2-compliant tool, HOWEVER that Dependency is not then so easy to trace to a «wrapper» Component; ownership can't be used, because that is unique, and the whole point of UML™ Parsing Analysis is to use arbitrarily many logical groupings according to contexts provided by source texts snippets. One can however create a Dependency "manually" from a «wrapper» Component to the annotated Dependency (as shown above).

Finally, an analysis Operation is shown accepting a *Request and returning a *Response, and it too can only be easily traced to the «wrapper» Component with a manual Dependency (as shown above).

OK, enough theory; let's look at some types of clients ..