Book a Demo

Author Topic: Classifiers vs Instances  (Read 10307 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Classifiers vs Instances
« on: September 19, 2005, 04:11:07 pm »
The UML 2 Superstructure Specification (abridged) states that:
7.3.8 Classifier (from Kernel, Dependencies, PowerTypes)
A classifier is a classification of instances — it describes a set of instances that have features in common.

So, a Classifier can't be an Instance.

An Object is the Instance of a Class.
A Component is a Classifier - so the instance is a ComponentInstance?
An Artifact is a Classifier - so the instance is an ArtifactInstance?

What do these mean?

I've rationalised it as:  I have a Component called "EA Model Emitter".  I have a ComponentInstance called that "EA Model Emitter in C#".
I have an artifact called "CEAUPXMLEmitter" which is one of the source files that make up the artifact.  I have an Artifact Instance called "CEAUPXMLEmitter.cs" which is CEAUPXMLEmitter in C#.

Does this make sense?

Assuming you think it does, how do I represent these instances in the EA diagram?

I've resorted to stereotyping Objects with the appropriate names «componentInstance» and «artifactInstance»

Any better ideas?

Cheerz.
Paolo
« Last Edit: September 19, 2005, 04:12:37 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Classifiers vs Instances
« Reply #1 on: September 19, 2005, 06:12:56 pm »
Ok, I'll bite.  :)

I offer this diagram for discussion:


Does this make any more sense??
« Last Edit: September 19, 2005, 09:30:49 pm by jeshaw2 »
Verbal Use Cases aren't worth the paper they are written upon.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Classifiers vs Instances
« Reply #2 on: September 19, 2005, 07:04:45 pm »
OK Jim,

I'll see your diagram and raise...  ;D


Seriously though, I hope this makes sense because this is how I'm implementing it and traversing the model to emit the code...

As a consequence of the source file manifesting the class, the C# instance must create an instance of the class and nest it.  So, if I open my VS 2003 Solution, I'll find a EAUPXMLEmitter Project inside which I'll find a CEAUPXMLEmitter.cs file with the CEAUPXMLEmitter class within it.

Paolo

FWIW:  The three classifers on the left are examples of a PIM (Platform Independent Model).  The three instances on the right are PSM (Platform Specific Model) instances.
« Last Edit: September 19, 2005, 07:11:58 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Classifiers vs Instances
« Reply #3 on: September 19, 2005, 07:59:33 pm »
This is going to be pedantry so ignore it if you will.

Quote
So, a Classifier can't be an Instance.


In fact each and every classifer in a model is an instance of the meta-classifier "classifier" (or UML would not work!).

The real question is whether a classifier can be an instance of itself.  IOW to you I put the following - can your emitter emit itself?

I have actually seen a very similar looking beast written in Delphi.  At the macro level it was a form designer that was used to design itself.  Strangely enough it worked like a charm - as new widgets were dreamt up the designer was used to design the changes that were needed to itself in order to generate forms that used the widgets.  These widgets were used in a high end clinical system so they did things like display fourier transforms of brain wave patterns etc.  At that point of understanding my own brain waves suffered a collapse of the wave function reverted to particles and underwent gravitational collapse so I never did find out how it worked.... just put it down to "Hmmm tricky."

bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Classifiers vs Instances
« Reply #4 on: September 19, 2005, 08:52:41 pm »
Quote
This is going to be pedantry so ignore it if you will.
[size=13][SNIP][/size]
In fact each and every classifer in a model is an instance of the meta-classifier "classifier" (or UML would not work!).
[size=13][SNIP][/size]
bruce
I stand erected! ;D

Paolo
« Last Edit: September 19, 2005, 08:52:58 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Classifiers vs Instances
« Reply #5 on: September 19, 2005, 08:56:50 pm »
Quote
[size=13][SNIP][/size]
The real question is whether a classifier can be an instance of itself.  IOW to you I put the following - can your emitter emit itself?
[size=13][SNIP][/size]
bruce
I've been diverted to another project, but the first thing my emitter will emit IS itself!

I'll reverse engineer the working emitter.  Add the additional metadata and then re-emit itself and rebuild...

Wish me luck!

Paolo
« Last Edit: September 19, 2005, 08:58:17 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Classifiers vs Instances
« Reply #6 on: September 19, 2005, 09:28:00 pm »
Your diagram almost makes sense, it is not too far from what I diagrammed.

I'm having trouble with your use of <<Instance>> associations.  I thought, in another thread topic, it was agreed that instantiation of a class was a realization of that class..??  My version of EA provides predefinitions of <<Instantiate>> and <<InstanceOf>>.  
From the Superstructure 10.3.10:
Quote
A manifestation is notated in the same way as an abstraction dependency, i.e. as a general dashed line with an open arrow-head labeled with the keyword <<manifest>>.

I'm just now becomming aware of the manifesting relationship.  Wish I could internalize its definition better.  However, from the same section:
Quote
Semantics
An artifact embodies or manifests a number of model elements. The artifact owns the manifestations, each representing the utilization of a packageable element.
Specific profiles are expected to stereotype the manifestation relationship to indicate particular forms of manifestation, e.g. <<tool generated>> and <<custom code>> might be two manifestations for different classes embodied in an artifact.

I'm not sure I understand your stereotyping on the associations...But, it is after mid-night my time and I'm not thinking clearly at the moment.

Can you provide a textual walk-through of your diagram?  

I'm off to bed...will be back in the morning with a sharper mind.

G'nite mates!
Verbal Use Cases aren't worth the paper they are written upon.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Classifiers vs Instances
« Reply #7 on: September 20, 2005, 02:24:41 am »
Quote
Your diagram almost makes sense, it is not too far from what I diagrammed.

I'm having trouble with your use of <<Instance>> associations.  I thought, in another thread topic, it was agreed that instantiation of a class was a realization of that class..??  My version of EA provides predefinitions of <<Instantiate>> and <<InstanceOf>>.  
From the Superstructure 10.3.10:
I'm just now becoming aware of the manifesting relationship.  Wish I could internalize its definition better.  However, from the same section:
I'm not sure I understand your stereotyping on the associations...But, it is after mid-night my time and I'm not thinking clearly at the moment.
I'm leaving work, so I'll be quick for now...  

Jim, they're NOT Associations with the «instance» stereotype, they're Realizations!  But since it was late at night for you, you're forgiven... ;D

Also, these «instance» are a graphical representation of the fact that the object is an instance of the classifier.  They're an adornment to my models.  They are the graphical equivalent of the Object:Class textual adornment.  I think it's important (if the modeller so desires) to show more emphatically than just Object:Class that this Object is of that Class.
Quote
Can you provide a textual walk-through of your diagram?  

I'm off to bed...will be back in the morning with a sharper mind.

G'nite mates!

Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Classifiers vs Instances
« Reply #8 on: September 20, 2005, 10:29:52 am »
Ok, I'm back after a good night's sleep.  :)

I think reading your model is best done in the contxt of your product which, if I understand correctly, emits a source code file given a UML model in the EA Repository.  One of my mistakes last night, being an application developer, was to treat the *.cs file as a starting point rather than an end point in your process.

Quote
Jim, they're NOT Associations with the «instance» stereotype, they're Realizations!
Yep!  I missed that.  Thank you for being so forgiving.  ;)

Quote
I've rationalised it as:  I have a Component called "EA Model Emitter".  I have a ComponentInstance called that "EA Model Emitter in C#".
I have an artifact called "CEAUPXMLEmitter" which is one of the source files that make up the artifact.  I have an Artifact Instance called "CEAUPXMLEmitter.cs" which is CEAUPXMLEmitter in C#.
 
Does this make sense?
Shouldn't there be a level of Specalization between the components and their instances to account for emitting various languages?

I have a slightly different notational preference, but my audiences are different than yours.  You are reenforcing points with Stereotype names, where I prefer to use graphical reenforcement.  

Otherwise, your model makes sense to me.  :)
Verbal Use Cases aren't worth the paper they are written upon.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Classifiers vs Instances
« Reply #9 on: September 20, 2005, 12:40:25 pm »
Quote
OK, I'm back after a good night's sleep.  :)

I think reading your model is best done in the context of your product which, if I understand correctly, emits a source code file given a UML model in the EA Repository.  One of my mistakes last night, being an application developer, was to treat the *.cs file as a starting point rather than an end point in your process.
Yes, I also get confused from time to time.  Normally I work purely in the world of CIM - creating models that describe the world and its rules.  But in this case, I have to get closer to the road.  :)
Quote
Shouldn't there be a level of Specialization between the components and their instances to account for emitting various languages?

I have a slightly different notational preference, but my audiences are different than yours.  You are re-enforcing points with Stereotype names, where I prefer to use graphical reenforcement.
Yes, there probably should.  I think you mean that there should be a subtype of the (platform independent) Component that is the C# view of the Component (from which I suppose one would deduce the transformational metadata to create the C# ComponentInstance.  I've left that out for now as I'm trying to actually emit some code.  :-)  Once I've got code coming out, I'll refactor to include that I guess.  In addition, since that transformation is actually taking place downstream of the model there's not much point in specifying that in detail as the link between the model and the code generation is currently pretty much hard coded.  All I'm trying to do here is to tell the generator what artifacts to generate where (in which components) using which model elements (classes, interfaces, namespaces etc).
Quote
Otherwise, your model makes sense to me.  :)
Does that mean I don't need to explain it any more? :)
However, since I've just implemented the code to traverse it, I'll mention it, in case you can find any improvements or corrections.

I emit the model as a whole.  I tell the generator to generate a particular component.  The generator searches the model for the component, follows the «instance» Realization link to the ComponentInstance. Then for each «include»d ArtifactInstance, follows the «instance» Realization link back up to the Artifact (there didn't seem much point in repeating the same metadata at the Instance level so I transitively apply it to the Instance from the Classifier).  For each Artifact, I follow the «manifest» Realization links to the Classes and Interfaces involved and emit them (in the appropriate language object) into (nest) the ArtifactInstance specified previously.  In addition, I follow any «using» or «alias» Dependencies between the Artifact and any other linked Classifiers to create any

"using namespace_or_type;" and any "using alias = type_in_namespace" directives (as required.

I haven't quite got the last bit working yet...  But the basic traversal is working.

Cheerz,
Paolo

BTW, since you now follow my model, would you care to show me your version in your notation?  I always like to "compare and contrast"
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Classifiers vs Instances
« Reply #10 on: September 20, 2005, 07:58:55 pm »
Quote
Does that mean I don't need to explain it any more?
Well, as we go along I may have a few more  :P
Quote
I emit the model as a whole.  I tell the generator to generate a particular component.  The generator searches the model for the component, follows the «instance» Realization link to the ComponentInstance. Then for each «include»d ArtifactInstance, follows the «instance» Realization link back up to the Artifact (there didn't seem much point in repeating the same metadata at the Instance level so I transitively apply it to the Instance from the Classifier).  For each Artifact, I follow the «manifest» Realization links to the Classes and Interfaces involved and emit them (in the appropriate language object) into (nest) the ArtifactInstance specified previously.  In addition, I follow any «using» or «alias» Dependencies between the Artifact and any other linked Classifiers to create any
Sounds like you've enumerated explicit Stereotype names to support your internal decision making activities; and that's why they appear on your diagrams...?

OK, Here is my shot #2 at the Diagram...

Using Stereotype names to reenforce what the diagram graphics are saying is recognizably redundant so they make me wonder "What is special about this situation?".  It had the effect of confusion rather than reenforcement.

Showing the full parentage of the Artifacts eliminated the need for <<ArtifactInstance>> and freed the stereotype field for more descriptive information.  Not sure my descriptions are correct, but I put in my best guess to demonstrate my meaning here.

I used a manifest dependancy instead of a manifesting realization in the hope that this is more correct. I think I may have the direction reversed though. I'm note sure...

I changed the 'include' stereotypes to Aggregation names.  This is more inline with the practice of designating derived associations during specalizations.

An idea floating around in my mind is the applicability of  the Composite Structure Diagram to model this stuff.  I think an artifiact can play a part in an internal  composition...  But then again, this may pur the information you need for your emitter logic out of reach in the XML file.

By the way, is it an XML file or an XMI file?

Your thoughts?
« Last Edit: September 20, 2005, 08:01:27 pm by jeshaw2 »
Verbal Use Cases aren't worth the paper they are written upon.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Classifiers vs Instances
« Reply #11 on: September 21, 2005, 04:58:01 am »
Quote
Well, as we go along I may have a few more  :P
Sounds like you've enumerated explicit Stereotype names to support your internal decision making activities; and that's why they appear on your diagrams...?
No, not quite.  The stereotype names such as «componentInstance» and «artifactInstance» are there to get around the fact that EA DOESN'T provide the instances of Component and Artifact.  This is to enable my emitter to emit the correct element type.
The «instance» stereotype is (as I previously explained) to allow a graphical rendition of the Object:Classifier syntax (and associated semantics).  Just as a named, navigable AssociationEnd IS an Attribute, for me, an «instance» Realization is the assignment of the Classifier to the Instance.  (My emitter will need to follow the defined Classifier for an Instance even if the Realization link isn't present. :))
The «include» stereotype is there to correctly handle meronymy of the whole-part relationship.  Following on from our discussion re Composite vs Component, I extended those definitions and assigned particular "patterns" to the various forms of meronymy I need to model.  The «include» stereotype with the open diamond tells me I have a collection.  (I can post/update the previous posting with my current thoughts if you like.)
I'm still not convinced that the «manifest» link is a Dependency.  But the Realization serves the same purpose.  
So although these stereotypes have declarative purpose, as I previously described, I DO use them in my processing... ;D
Quote
OK, Here is my shot #2 at the Diagram...
Using Stereotype names to re-enforce what the diagram graphics are saying is recognisably redundant so they make me wonder "What is special about this situation?".  It had the effect of confusion rather than reenforcement.
I'd submit they aren't recognisably redundant...
Quote
Showing the full parentage of the Artifacts eliminated the need for <<artifactInstance>> and freed the stereotype field for more descriptive information.  Not sure my descriptions are correct, but I put in my best guess to demonstrate my meaning here.
Assuming you grant my stereotypes as necessary to get around EA's lack of instance types.  Then because I wanted to automatically colour my Classifiers and Instances I had to make them the primary stereotype.  Since EA STILL doesn't show the additional stereotypes, you can't see the extra ones that do the same job as yours... :)  One point however, I didn't make any stereotypes that were language specific (as you appear to have done).  This is for two reasons:  1) Language specification is already available as an attribute.  2) Stereotypes typically imply (require) behavioural differences - from the unstereotyped Classifier.  I'm not currently expecting any.
I'm also not sure what the point of the Generalization from the unnamed artifact is.  Can you elaborate on that?  To me it seems unnecessary.
Quote
I used a manifest dependency instead of a manifesting realization in the hope that this is more correct. I think I may have the direction reversed though. I'm note sure...
I think the direction is fine.  The Artifact manifests the Class.  My feeling is that Dependency is not strong enough to represent the manifestation process or its outcome.  I'm happy that a call to a Class in the Operation body of another Class can best be represented as a Dependency.  Manifestation seems stronger than that to me.  But we can agree to differ on this (and you DO have the benefit of conforming to the current standard ;D)
Quote
I changed the 'include' stereotypes to Aggregation names.  This is more in line with the practice of designating derived associations during specalizations.
I used to do likewise, but in line with the notion that stereotypes imply behaviour, I've put them there.  I could put just the derivation "/" in the name, but my emitter looks for it in both places...
Quote
An idea floating around in my mind is the applicability of  the Composite Structure Diagram to model this stuff.  I think an artifact can play a part in an internal  composition...  But then again, this may put the information you need for your emitter logic out of reach in the XML file.
Yes, it might well do.  And no, it wouldn't be out of reach in the XML file.
Quote
By the way, is it an XML file or an XMI file?
Yes, it is a bespoke XML file with an accompanying XSD.  I opted to avoid the XMI output as I wanted to communicate specific MEANING to the downstream processes.  XMI is principally about content and rendering - which is fine for the job it does.  I just need more semantic grunt than XMI can supply.  Besides, in line with decoupling the modelling from the generation, I'd still have to derive meaning from the XMI.  Since this is (to my mind) a modelling related task, architecturally it sits better on the modelling side of the fence.  So far it's working very well.
Quote
Your thoughts?
See above ;D
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Classifiers vs Instances
« Reply #12 on: September 21, 2005, 08:53:05 am »
Well, now I understand your diagram even better.  ;D

Quote
I'm also not sure what the point of the Generalization from the unnamed artifact is.  Can you elaborate on that?  To me it seems unnecessary.
Given your last comments, it probably is not necessary.  I was using it to reenforce  ;) the notion that the decendants from it were Artifacts and artifactInstances, thus freeing up the Stereotype area for other uses.

Quote
The stereotype names such as «componentInstance» and «artifactInstance» are there to get around the fact that EA DOESN'T provide the instances of Component and Artifact.
I understand this in the context of artifacts, but not in the case of components.  In my diagram, in the <<project>> object, when I select the option to 'Set instance classifier', I'm finding the components, but not artifacts,  listed and usable.  Can you explain further?

Quote
The «include» stereotype is there to correctly handle meronymy of the whole-part relationship.  Following on from our discussion re Composite vs Component, I extended those definitions and assigned particular "patterns" to the various forms of meronymy I need to model.  The «include» stereotype with the open diamond tells me I have a collection.  (I can post/update the previous posting with my current thoughts if you like.)
Wow!  Yes, please do!  I'd be very interested in that.  I've been concerned about this UML defficiency.

Quote
The Artifact manifests the Class.  My feeling is that Dependency is not strong enough to represent the manifestation process or its outcome.  I'm happy that a call to a Class in the Operation body of another Class can best be represented as a Dependency.  Manifestation seems stronger than that to me....

The Artifact manifests the Class.  My feeling is that Dependency is not strong enough to represent the manifestation process or its outcome.  I'm happy that a call to a Class in the Operation body of another Class can best be represented as a Dependency.  Manifestation seems stronger than that to me.

I think I need to see your take on the definition of manifest and manifesting process.  The UML Superstructure is a bit too abstract for me.  Comming from a RUP methodology background, my understanding is that an Artifact is a product (document, Source code file, etc.) that specifies something in the problem's solution domain.  They are the deliverable products of Analysis & Design.  Artifacts don't Do things, they just constrain other down-stream processes.  (is 'constrain' an action verb?  :-/ ) To me, the verb manifest is similar to specify or constrain an activity by describing the nature of product the activity is produce.  Thus, in my view, a process that instantiates an object and the object's behavior itself are manifestly dependent upon the artificat(s) that define it.  

But then again, your diagram is a static one that does not show processes.  It shows the structural relationship of elements that came into existance by off-diagram processes.  So is it the process or the process product that is dependent upon the manifesting artifact??!!  Gosh!  this stuff is smoky!  Can you clear the air?
Verbal Use Cases aren't worth the paper they are written upon.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Classifiers vs Instances
« Reply #13 on: September 21, 2005, 02:01:21 pm »
Quote
Well, now I understand your diagram even better.  ;D

I'm also not sure what the point of the Generalization from the unnamed artifact is.  Can you elaborate on that?  To me it seems unnecessary
Given your last comments, it probably is not necessary.  I was using it to re-enforce  ;) the notion that the decedents from it were Artifacts and artifactInstances, thus freeing up the Stereotype area for other uses.

The stereotype names such as «componentInstance» and «artifactInstance» are there to get around the fact that EA DOESN'T provide the instances of Component and Artifact.
I understand this in the context of artifacts, but not in the case of components.  In my diagram, in the <<project>> object, when I select the option to 'Set instance classifier', I'm finding the components, but not artifacts,  listed and usable.  Can you explain further?
To paraphrase a famous (and recently deceased) comedian here in OZ... "It's a bug ..."  (They ought to be there.  I fixed it by jamming the database)
Quote
The «include» stereotype is there to correctly handle meronymy of the whole-part relationship.  Following on from our discussion re Composite vs Component, I extended those definitions and assigned particular "patterns" to the various forms of meronymy I need to model.  The «include» stereotype with the open diamond tells me I have a collection.  (I can post/update the previous posting with my current thoughts if you like.)
Wow!  Yes, please do!  I'd be very interested in that.  I've been concerned about this UML deficiency.

You'll find it at [size=13]Collections, Containers, Composites & Nests[/size]
Quote
I think I need to see your take on the definition of manifest and manifesting process.  The UML Superstructure is a bit too abstract for me.  Coming from a RUP methodology background, my understanding is that an Artifact is a product (document, Source code file, etc.) that specifies something in the problem's solution domain.  They are the deliverable products of Analysis & Design.  Artifacts don't Do things, they just constrain other down-stream processes.  (is 'constrain' an action verb?  :-/ ) To me, the verb manifest is similar to specify or constrain an activity by describing the nature of product the activity is produce.  Thus, in my view, a process that instantiates an object and the object's behavior itself are manifestly dependent upon the artifact(s) that define it.
Manifest: to make evident or certain by showing or displaying.  We thus manifest the Class by placing a rendering of it into the Artifact.  To me it's about the relationship between the supplier (Class) and the client (Artifact).  Technically, it could be argued that the ArtifactInstance is a composite that contains Class rendition ArtifactInstances, but I've suppressed that for this level of detail.
Quote
But then again, your diagram is a static one that does not show processes.  It shows the structural relationship of elements that came into existence by off-diagram processes.  So is it the process or the process product that is dependent upon the manifesting artifact??!!  Gosh!  this stuff is smoky!  Can you clear the air?
Hopefully, the previous segment should have clarified it.

Paolo
« Last Edit: September 21, 2005, 02:01:49 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!