What is the type of an InstanceValue whose InstanceSpecification has multiple classifiers?
As far as I understood, a UML InstanceValue is a value defined by a separate InstanceSpecification. In addition, InstanceValue specializes ValueSpecification and hence TypedElement, which means an InstanceValue must have a type
.
However, an InstanceSpecification may have multiple classifiers in its classifier
association.
My question: what is the type
of an InstanceValue whose InstanceSpecification has multiple classifiers?
EDIT (23/11): There is indeed the following sentence in section 9.8.3 of the spec:
If the InstanceSpecification has one or more classifiers, then the type of the ValueSpecification must conform to at least one of those classifiers.
So should one simply pick any of the classifiers to put as a type
? Even if it means possibly "hiding" many aspects of the instance?
uml
add a comment |
As far as I understood, a UML InstanceValue is a value defined by a separate InstanceSpecification. In addition, InstanceValue specializes ValueSpecification and hence TypedElement, which means an InstanceValue must have a type
.
However, an InstanceSpecification may have multiple classifiers in its classifier
association.
My question: what is the type
of an InstanceValue whose InstanceSpecification has multiple classifiers?
EDIT (23/11): There is indeed the following sentence in section 9.8.3 of the spec:
If the InstanceSpecification has one or more classifiers, then the type of the ValueSpecification must conform to at least one of those classifiers.
So should one simply pick any of the classifiers to put as a type
? Even if it means possibly "hiding" many aspects of the instance?
uml
Why do you need to understand the UML specification jargon of "InstanceSpecification" and "InstanceValue"? This jargon is only used by UML committee members, but not by real developers/modelers.
– Gerd Wagner
Nov 27 '18 at 7:36
If you want to automatically/programmatically analyze UML models, it is crucial to master its syntax and the semantics of each syntactic concept. A wide range of industries nowadays process UML models in such a way, for instance to generate code stubs or test cases in a systematic way.
– Gwendal
Nov 28 '18 at 8:33
add a comment |
As far as I understood, a UML InstanceValue is a value defined by a separate InstanceSpecification. In addition, InstanceValue specializes ValueSpecification and hence TypedElement, which means an InstanceValue must have a type
.
However, an InstanceSpecification may have multiple classifiers in its classifier
association.
My question: what is the type
of an InstanceValue whose InstanceSpecification has multiple classifiers?
EDIT (23/11): There is indeed the following sentence in section 9.8.3 of the spec:
If the InstanceSpecification has one or more classifiers, then the type of the ValueSpecification must conform to at least one of those classifiers.
So should one simply pick any of the classifiers to put as a type
? Even if it means possibly "hiding" many aspects of the instance?
uml
As far as I understood, a UML InstanceValue is a value defined by a separate InstanceSpecification. In addition, InstanceValue specializes ValueSpecification and hence TypedElement, which means an InstanceValue must have a type
.
However, an InstanceSpecification may have multiple classifiers in its classifier
association.
My question: what is the type
of an InstanceValue whose InstanceSpecification has multiple classifiers?
EDIT (23/11): There is indeed the following sentence in section 9.8.3 of the spec:
If the InstanceSpecification has one or more classifiers, then the type of the ValueSpecification must conform to at least one of those classifiers.
So should one simply pick any of the classifiers to put as a type
? Even if it means possibly "hiding" many aspects of the instance?
uml
uml
edited Nov 23 '18 at 13:06
Gwendal
asked Nov 22 '18 at 12:44
GwendalGwendal
1428
1428
Why do you need to understand the UML specification jargon of "InstanceSpecification" and "InstanceValue"? This jargon is only used by UML committee members, but not by real developers/modelers.
– Gerd Wagner
Nov 27 '18 at 7:36
If you want to automatically/programmatically analyze UML models, it is crucial to master its syntax and the semantics of each syntactic concept. A wide range of industries nowadays process UML models in such a way, for instance to generate code stubs or test cases in a systematic way.
– Gwendal
Nov 28 '18 at 8:33
add a comment |
Why do you need to understand the UML specification jargon of "InstanceSpecification" and "InstanceValue"? This jargon is only used by UML committee members, but not by real developers/modelers.
– Gerd Wagner
Nov 27 '18 at 7:36
If you want to automatically/programmatically analyze UML models, it is crucial to master its syntax and the semantics of each syntactic concept. A wide range of industries nowadays process UML models in such a way, for instance to generate code stubs or test cases in a systematic way.
– Gwendal
Nov 28 '18 at 8:33
Why do you need to understand the UML specification jargon of "InstanceSpecification" and "InstanceValue"? This jargon is only used by UML committee members, but not by real developers/modelers.
– Gerd Wagner
Nov 27 '18 at 7:36
Why do you need to understand the UML specification jargon of "InstanceSpecification" and "InstanceValue"? This jargon is only used by UML committee members, but not by real developers/modelers.
– Gerd Wagner
Nov 27 '18 at 7:36
If you want to automatically/programmatically analyze UML models, it is crucial to master its syntax and the semantics of each syntactic concept. A wide range of industries nowadays process UML models in such a way, for instance to generate code stubs or test cases in a systematic way.
– Gwendal
Nov 28 '18 at 8:33
If you want to automatically/programmatically analyze UML models, it is crucial to master its syntax and the semantics of each syntactic concept. A wide range of industries nowadays process UML models in such a way, for instance to generate code stubs or test cases in a systematic way.
– Gwendal
Nov 28 '18 at 8:33
add a comment |
2 Answers
2
active
oldest
votes
Regarding section 9.9.xx of UML 2.5.1, it seems that you do not have real constraint.
But when reading section 9.8.3, I understood that the InstanceValue "type" must be conform to at least one InstanceSpecification "classifiers".
In one hand if the InstanceValue "type" is not conform to any InstanceSpecification "classifiers", the model is obviously wrong. In the other hand InstanceValue "type" might be conform to many InstanceSpecification "classifiers" but it should be an issue, am I right?
thanks for the answer! I've edited my question slightly based on your comments
– Gwendal
Nov 23 '18 at 13:06
add a comment |
So should one simply pick any of the classifiers to put as a type? Even if it means possibly "hiding" many aspects of the instance?
Slots represent actual properties of the classifiers. Imagine the following example:
class Label {
public String name;
}
class Identity {
public Label label;
public Integer number;
}
class Product extends Identity {
public String brand;
}
And then you are e.g. modeling only the identity aspect. So in the classifiers you specify Identity
(even though it is an instance of a Product).
Then you can only have Slots for properties provided from those classifiers, which in this examples means only the label
and number
properties. Of course you don't need to model all of them, but you cannot add new slots that do not have a corresponding property in the classifiers.
In other words, you are not "picking" what classifier to use. It is the other way around. The classifiers and their properties specify what Slots you can have.
Thanks for the answer! However I think it might be slightly out the scope of my question, as I was simply questioning the "type" attribute of an InstanceValue (section 9.9.10 of the spec, where it does say that its content is given by a separate InstanceSpecification element), while here you talk about InstanceSpecifications (section 9.9.9 of the spec) and the slots they may or may not contain. Moreover I think what you say is incorrect: an InstanceSpecification can have mutliple classifiers, which means it can have slots defined by multiple classifiers.
– Gwendal
Nov 28 '18 at 8:30
But the InstanceValue is associated with a Slot (contained within the "parent" InstanceSpecification), and the Slot determines the type of it. I've never claimed that InstanceSpecification cannot have multiple classifiers. I've only stated that you cannot have Slots for properties that are not in one of the classifiers.
– Peter Uhnak
Nov 28 '18 at 16:55
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53431324%2fwhat-is-the-type-of-an-instancevalue-whose-instancespecification-has-multiple-cl%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Regarding section 9.9.xx of UML 2.5.1, it seems that you do not have real constraint.
But when reading section 9.8.3, I understood that the InstanceValue "type" must be conform to at least one InstanceSpecification "classifiers".
In one hand if the InstanceValue "type" is not conform to any InstanceSpecification "classifiers", the model is obviously wrong. In the other hand InstanceValue "type" might be conform to many InstanceSpecification "classifiers" but it should be an issue, am I right?
thanks for the answer! I've edited my question slightly based on your comments
– Gwendal
Nov 23 '18 at 13:06
add a comment |
Regarding section 9.9.xx of UML 2.5.1, it seems that you do not have real constraint.
But when reading section 9.8.3, I understood that the InstanceValue "type" must be conform to at least one InstanceSpecification "classifiers".
In one hand if the InstanceValue "type" is not conform to any InstanceSpecification "classifiers", the model is obviously wrong. In the other hand InstanceValue "type" might be conform to many InstanceSpecification "classifiers" but it should be an issue, am I right?
thanks for the answer! I've edited my question slightly based on your comments
– Gwendal
Nov 23 '18 at 13:06
add a comment |
Regarding section 9.9.xx of UML 2.5.1, it seems that you do not have real constraint.
But when reading section 9.8.3, I understood that the InstanceValue "type" must be conform to at least one InstanceSpecification "classifiers".
In one hand if the InstanceValue "type" is not conform to any InstanceSpecification "classifiers", the model is obviously wrong. In the other hand InstanceValue "type" might be conform to many InstanceSpecification "classifiers" but it should be an issue, am I right?
Regarding section 9.9.xx of UML 2.5.1, it seems that you do not have real constraint.
But when reading section 9.8.3, I understood that the InstanceValue "type" must be conform to at least one InstanceSpecification "classifiers".
In one hand if the InstanceValue "type" is not conform to any InstanceSpecification "classifiers", the model is obviously wrong. In the other hand InstanceValue "type" might be conform to many InstanceSpecification "classifiers" but it should be an issue, am I right?
answered Nov 22 '18 at 13:51
Red BeardRed Beard
2,7781816
2,7781816
thanks for the answer! I've edited my question slightly based on your comments
– Gwendal
Nov 23 '18 at 13:06
add a comment |
thanks for the answer! I've edited my question slightly based on your comments
– Gwendal
Nov 23 '18 at 13:06
thanks for the answer! I've edited my question slightly based on your comments
– Gwendal
Nov 23 '18 at 13:06
thanks for the answer! I've edited my question slightly based on your comments
– Gwendal
Nov 23 '18 at 13:06
add a comment |
So should one simply pick any of the classifiers to put as a type? Even if it means possibly "hiding" many aspects of the instance?
Slots represent actual properties of the classifiers. Imagine the following example:
class Label {
public String name;
}
class Identity {
public Label label;
public Integer number;
}
class Product extends Identity {
public String brand;
}
And then you are e.g. modeling only the identity aspect. So in the classifiers you specify Identity
(even though it is an instance of a Product).
Then you can only have Slots for properties provided from those classifiers, which in this examples means only the label
and number
properties. Of course you don't need to model all of them, but you cannot add new slots that do not have a corresponding property in the classifiers.
In other words, you are not "picking" what classifier to use. It is the other way around. The classifiers and their properties specify what Slots you can have.
Thanks for the answer! However I think it might be slightly out the scope of my question, as I was simply questioning the "type" attribute of an InstanceValue (section 9.9.10 of the spec, where it does say that its content is given by a separate InstanceSpecification element), while here you talk about InstanceSpecifications (section 9.9.9 of the spec) and the slots they may or may not contain. Moreover I think what you say is incorrect: an InstanceSpecification can have mutliple classifiers, which means it can have slots defined by multiple classifiers.
– Gwendal
Nov 28 '18 at 8:30
But the InstanceValue is associated with a Slot (contained within the "parent" InstanceSpecification), and the Slot determines the type of it. I've never claimed that InstanceSpecification cannot have multiple classifiers. I've only stated that you cannot have Slots for properties that are not in one of the classifiers.
– Peter Uhnak
Nov 28 '18 at 16:55
add a comment |
So should one simply pick any of the classifiers to put as a type? Even if it means possibly "hiding" many aspects of the instance?
Slots represent actual properties of the classifiers. Imagine the following example:
class Label {
public String name;
}
class Identity {
public Label label;
public Integer number;
}
class Product extends Identity {
public String brand;
}
And then you are e.g. modeling only the identity aspect. So in the classifiers you specify Identity
(even though it is an instance of a Product).
Then you can only have Slots for properties provided from those classifiers, which in this examples means only the label
and number
properties. Of course you don't need to model all of them, but you cannot add new slots that do not have a corresponding property in the classifiers.
In other words, you are not "picking" what classifier to use. It is the other way around. The classifiers and their properties specify what Slots you can have.
Thanks for the answer! However I think it might be slightly out the scope of my question, as I was simply questioning the "type" attribute of an InstanceValue (section 9.9.10 of the spec, where it does say that its content is given by a separate InstanceSpecification element), while here you talk about InstanceSpecifications (section 9.9.9 of the spec) and the slots they may or may not contain. Moreover I think what you say is incorrect: an InstanceSpecification can have mutliple classifiers, which means it can have slots defined by multiple classifiers.
– Gwendal
Nov 28 '18 at 8:30
But the InstanceValue is associated with a Slot (contained within the "parent" InstanceSpecification), and the Slot determines the type of it. I've never claimed that InstanceSpecification cannot have multiple classifiers. I've only stated that you cannot have Slots for properties that are not in one of the classifiers.
– Peter Uhnak
Nov 28 '18 at 16:55
add a comment |
So should one simply pick any of the classifiers to put as a type? Even if it means possibly "hiding" many aspects of the instance?
Slots represent actual properties of the classifiers. Imagine the following example:
class Label {
public String name;
}
class Identity {
public Label label;
public Integer number;
}
class Product extends Identity {
public String brand;
}
And then you are e.g. modeling only the identity aspect. So in the classifiers you specify Identity
(even though it is an instance of a Product).
Then you can only have Slots for properties provided from those classifiers, which in this examples means only the label
and number
properties. Of course you don't need to model all of them, but you cannot add new slots that do not have a corresponding property in the classifiers.
In other words, you are not "picking" what classifier to use. It is the other way around. The classifiers and their properties specify what Slots you can have.
So should one simply pick any of the classifiers to put as a type? Even if it means possibly "hiding" many aspects of the instance?
Slots represent actual properties of the classifiers. Imagine the following example:
class Label {
public String name;
}
class Identity {
public Label label;
public Integer number;
}
class Product extends Identity {
public String brand;
}
And then you are e.g. modeling only the identity aspect. So in the classifiers you specify Identity
(even though it is an instance of a Product).
Then you can only have Slots for properties provided from those classifiers, which in this examples means only the label
and number
properties. Of course you don't need to model all of them, but you cannot add new slots that do not have a corresponding property in the classifiers.
In other words, you are not "picking" what classifier to use. It is the other way around. The classifiers and their properties specify what Slots you can have.
answered Nov 25 '18 at 17:29
Peter UhnakPeter Uhnak
5,94732238
5,94732238
Thanks for the answer! However I think it might be slightly out the scope of my question, as I was simply questioning the "type" attribute of an InstanceValue (section 9.9.10 of the spec, where it does say that its content is given by a separate InstanceSpecification element), while here you talk about InstanceSpecifications (section 9.9.9 of the spec) and the slots they may or may not contain. Moreover I think what you say is incorrect: an InstanceSpecification can have mutliple classifiers, which means it can have slots defined by multiple classifiers.
– Gwendal
Nov 28 '18 at 8:30
But the InstanceValue is associated with a Slot (contained within the "parent" InstanceSpecification), and the Slot determines the type of it. I've never claimed that InstanceSpecification cannot have multiple classifiers. I've only stated that you cannot have Slots for properties that are not in one of the classifiers.
– Peter Uhnak
Nov 28 '18 at 16:55
add a comment |
Thanks for the answer! However I think it might be slightly out the scope of my question, as I was simply questioning the "type" attribute of an InstanceValue (section 9.9.10 of the spec, where it does say that its content is given by a separate InstanceSpecification element), while here you talk about InstanceSpecifications (section 9.9.9 of the spec) and the slots they may or may not contain. Moreover I think what you say is incorrect: an InstanceSpecification can have mutliple classifiers, which means it can have slots defined by multiple classifiers.
– Gwendal
Nov 28 '18 at 8:30
But the InstanceValue is associated with a Slot (contained within the "parent" InstanceSpecification), and the Slot determines the type of it. I've never claimed that InstanceSpecification cannot have multiple classifiers. I've only stated that you cannot have Slots for properties that are not in one of the classifiers.
– Peter Uhnak
Nov 28 '18 at 16:55
Thanks for the answer! However I think it might be slightly out the scope of my question, as I was simply questioning the "type" attribute of an InstanceValue (section 9.9.10 of the spec, where it does say that its content is given by a separate InstanceSpecification element), while here you talk about InstanceSpecifications (section 9.9.9 of the spec) and the slots they may or may not contain. Moreover I think what you say is incorrect: an InstanceSpecification can have mutliple classifiers, which means it can have slots defined by multiple classifiers.
– Gwendal
Nov 28 '18 at 8:30
Thanks for the answer! However I think it might be slightly out the scope of my question, as I was simply questioning the "type" attribute of an InstanceValue (section 9.9.10 of the spec, where it does say that its content is given by a separate InstanceSpecification element), while here you talk about InstanceSpecifications (section 9.9.9 of the spec) and the slots they may or may not contain. Moreover I think what you say is incorrect: an InstanceSpecification can have mutliple classifiers, which means it can have slots defined by multiple classifiers.
– Gwendal
Nov 28 '18 at 8:30
But the InstanceValue is associated with a Slot (contained within the "parent" InstanceSpecification), and the Slot determines the type of it. I've never claimed that InstanceSpecification cannot have multiple classifiers. I've only stated that you cannot have Slots for properties that are not in one of the classifiers.
– Peter Uhnak
Nov 28 '18 at 16:55
But the InstanceValue is associated with a Slot (contained within the "parent" InstanceSpecification), and the Slot determines the type of it. I've never claimed that InstanceSpecification cannot have multiple classifiers. I've only stated that you cannot have Slots for properties that are not in one of the classifiers.
– Peter Uhnak
Nov 28 '18 at 16:55
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53431324%2fwhat-is-the-type-of-an-instancevalue-whose-instancespecification-has-multiple-cl%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Why do you need to understand the UML specification jargon of "InstanceSpecification" and "InstanceValue"? This jargon is only used by UML committee members, but not by real developers/modelers.
– Gerd Wagner
Nov 27 '18 at 7:36
If you want to automatically/programmatically analyze UML models, it is crucial to master its syntax and the semantics of each syntactic concept. A wide range of industries nowadays process UML models in such a way, for instance to generate code stubs or test cases in a systematic way.
– Gwendal
Nov 28 '18 at 8:33