Choose the correct answer :
Which feature of a UML model element could NOT be adapted by a Stereotype?
C
Explanation:
A stereotype in UML is a powerful extension mechanism that allows developers to tailor UML models
for particular domains or platforms. Stereotypes can adapt UML model elements by adding
constraints, changing notation, and adding attributes and operations.
However, they cannot remove
existing constraints from a model element12
.
Notation Change (A): Stereotypes can indeed change the notation of a model element to make it
more expressive or domain-specific.
For example, a stereotype could be used to visually distinguish
between different kinds of classes in a class diagram1
.
Adding Constraints (B): Stereotypes can add new constraints to a model element to specify
additional rules or requirements that are not defined by the standard UML1
.
Removing Constraints ©: This is not a capability of stereotypes. Constraints define rules that must be
followed, and once they are part of a model element, they cannot be removed by a
stereotype.
Instead, they are an intrinsic part of the model’s definition1
.
Adding Attributes and Operations (D): Stereotypes can be used to add attributes and operations to a
model element, which allows for the specification of additional properties or behaviors that are not
part of the standard UML metamodel1
.
In summary, while stereotypes are versatile and can extend the capabilities of UML model elements
in various ways, they do not have the ability to remove constraints that are already applied to those
elements.
This is because constraints are considered fundamental rules that govern the integrity of
the model, and removing them would potentially violate the model’s correctness or completeness1
.
Choose the correct answer :
A framework developer has been given a requirement to create an extensible utility for solution
developers to use to create collections. The framework developer has submitted the following
diagram fragment for review:
Which review comment is valid and applicable?
B
Explanation:
In UML, the «bind» relationship is used to specify that a class is a template instantiation of a
template class, where actual parameters are bound to the formal parameters of the template class1
.
However, in the case of the relationship between a concrete class like Vector and an abstract class
like AbstractList, the correct relationship should be Generalization, not «bind».
Generalization is a taxonomic relationship between a more general classifier and a more specific
classifier.
Each instance of the specific classifier is also an instance of the general classifier1
.
Thus, Vector being a concrete implementation of AbstractList, should inherit from AbstractList, which
is correctly represented by a Generalization relationship in UML.
The other options can be evaluated as follows:
Option A: The upper limit for the size of PhontyQueue is a design decision that should be based on
the requirements and use cases of the application. It is not inherently incorrect in UML to have a
specific upper limit.
Option C: The Generalization relationship is correctly used
between PriorityQueue and AbstractQueue as it represents inheritance in UML.
Option D: While it is true that template parameters are typically defined at the top of the hierarchy,
the statement is too absolute. In UML, template parameters can be added to specialized classes, but
it depends on the specific design and requirements. Therefore, without additional context, this
statement cannot be deemed universally valid.
In conclusion, the most applicable and valid review comment is option B, which correctly identifies
the misuse of the «bind» relationship in the context of the class diagram provided.
Choose the correct answer :
Which statement should be taken into consideration when extending a UML metaclass with a
stereotype?
C
Explanation:
When extending a UML metaclass with a stereotype, it is critical to ensure that the metaclass and the
stereotype are semantically related. This is because a stereotype is a way to extend the UML
metamodel to create new kinds of model elements that can include additional semantics and
constraints, but still adhere to the base behavior defined by the metaclass. The stereotype should be
a meaningful specialization of the metaclass and not contradict its fundamental semantics. By
keeping them semantically related, there is less need for additional constraints on the metamodel,
and the resulting profile is more intuitive for users. This is consistent with the principles described in
the UML 2 Specification, particularly in the sections on profiles and stereotypes.
Choose the correct answer :
An organization has determined that they want to add the capability to create and add requirement
elements to their UML models. They also want to create a unique relationship for tracing
requirements to other model elements.
What is the appropriate approach to do this?
B
Explanation:
UML allows the introduction of new concepts that are not part of the standard UML metamodel by
creating a profile. To add capabilities for modeling requirements and tracing relationships in UML, a
profile can be created where a Class is stereotyped to represent a requirement, and a Dependency is
stereotyped to represent the trace relationship. This approach is both practical and conforms to the
UML standard's mechanisms for extending the language. It is a common practice to create such
profiles for requirements engineering within the UML framework. This conforms to the UML 2
Superstructure Specification, which provides guidelines on creating and applying profiles and
stereotypes.
Choose the correct answer :
Where does UML explicitly intend String Expression elements to be used?
D
Explanation:
In UML, ValueSpecifications are used to specify the value of an element. The UML 2 Specification
does not define a metaclass named StringExpression. Instead, it provides a metaclass named
OpaqueExpression, which can be used when an expression is written in a language that is not directly
interpretable by the model. Since there is no metaclass called StringExpression in the UML 2
Specification, there is no explicitly intended use for it within the UML metamodel. The absence of
this metaclass suggests that any use of a concept called "StringExpression" would not conform to
standard UML 2 practices and would likely be part of an extension or profile, not the core UML
metamodel.
Choose the correct answer :
What does the UML specification say about choosing between a MOF-based metamodel and a UML
profile?
A
Explanation:
The UML (Unified Modeling Language) specification, which is a part of the MOF (Meta-Object
Facility) framework, suggests that the choice between creating a MOF-based metamodel and a UML
profile depends on the specific needs of the domain being modeled. A MOF-based metamodel might
be more appropriate for domains that require defining a completely new set of modeling concepts,
whereas a UML profile is suitable for domains where the extension of existing UML concepts is
sufficient. Since the specification recognizes the variability in modeling requirements across different
domains, it emphasizes the importance of understanding the domain to make an informed decision
on the modeling approach. The UML specification, therefore, does not prescribe a one-size-fits-all
solution but rather leaves the decision to the modeler, based on the domain-specific requirements.
Choose the correct answer :
Consider the following diagram fragment:
What is the signature of the class template List?
C
Explanation:
The class template List shown in the diagram fragment is a parametrized class with two template
parameters: T and n. The signature of the class template includes both of these parameters. The
template parameter T represents a type that can be bound to a specific class when the template is
instantiated, while n represents an integer value that specifies the multiplicity of elements that can
be contained in the list. Therefore, the signature of the class template List is the ordered set {T, n:
Integer}, which includes both the type parameter T and the integer parameter n indicating the
maximum number of elements the list can hold.
Choose the correct answer :
Consider the following profile:
Which statement is true?
D
Explanation:
The UML diagram fragment provided shows a UML profile with a required extension from the
metaclass Class to the stereotype DisplayArea, which in turn has two subclasses Frame and Form.
The use of {required} indicates that whenever an instance of Class is extended by the DisplayArea
stereotype, it becomes mandatory to do so. However, this does not enforce that every instance of
Class must be linked to DisplayArea or its subclasses (Frame or Form). It only means that if the
DisplayArea stereotype is applied, it is required. Therefore, there is no obligation for every instance
of Class or its subclasses to be stereotyped as DisplayArea, Frame, or Form. It's also worth noting
that the last option (E) could be considered true in some interpretations of UML, but given the
options provided and common UML practices, option D is more accurate.
Choose the correct answer :
Which statement is correct about working with multiple profiles?
C
Explanation:
In UML, profiles are mechanisms to extend the UML for a specific domain or purpose. The UML
specification allows for one profile to reuse or import elements from another profile. This enables
modularity and encourages reusability of profile elements across different domains. Additionally,
one profile may extend the stereotypes or metaclasses defined in another profile, which allows for
the creation of layered profiles where each layer adds its own specificities. This is a common practice
in software and systems modeling to cater to different aspects of a system within separate profiles,
which are then integrated to form a comprehensive model. The capability to reuse and extend
profiles is defined in the UML 2.x Superstructure Specification, which gives guidelines on how to
define and use profiles within UML.
Choose the correct answer :
Which interpretation is valid when NamedElement A is the Supplier in a specialized Dependency
having NamedElement B as the Client, and a Comment indicates that A and B participate in a
transformation?
C
Explanation:
In UML, a Dependency is a relationship that signifies that one NamedElement, the client, depends on
another NamedElement, the supplier, meaning that a change in the supplier could affect the client. If
NamedElement A is the supplier and NamedElement B is the client in a Dependency relationship,
and there is a Comment indicating that both participate in a transformation, the interpretation is
that B (the client) depends on A (the supplier) for that transformation. The comment does not
necessarily change the nature of the Dependency relationship; it simply adds additional information
about the nature of their interaction. A transformation could mean that B transforms A's supplied
element in some way, but in terms of UML Dependency relationships, it would still be interpreted as
"A depends on B" or "B requires A for its transformation". This interpretation aligns with the UML 2.x
Infrastructure and Superstructure specifications, which explain Dependencies and their meanings
within the UML metamodel.
Choose the correct answer :
Given the following fragment from a profile definition:
Which statement is correct regarding the application of the profile?
B
Explanation:
In UML, a stereotype is a mechanism that extends the vocabulary of the UML in order to create new
model elements. The given profile fragment defines a stereotype «architecture decision» that
extends the metaclass Class. This stereotype includes three properties: Complexity, Risk, and Status,
each typed by specific enumerations: Rank and Status. When a stereotype is applied to a UML
element, it does not create physical attributes on the element; instead, it enables the element to
carry additional information as specified by the stereotype — in this case, as Stereotype Properties.
These properties are effectively tagged values that are associated with the stereotyped element.
Hence, when a class is stereotyped as an «architecture decision», it will have the ability to hold
values for Complexity, Risk, and Status according to the types defined by the enumerations in the
profile. This is consistent with the rules defined in the UML 2.x Superstructure Specification for
profiles and stereotypes.
Choose the correct answer :
Which capability Is provided by the Profile mechanism?
C
Explanation:
The Profile mechanism in UML provides the capability to adapt existing metamodel elements for
specific purposes. Profiles allow modelers to extend the standard UML metamodel with additional
semantics by defining stereotypes, tagged values, and constraints that are specific to a particular
domain, platform, or methodology. This means that profiles tailor the existing UML metamodel
elements to create domain-specific models without changing the underlying metamodel itself. This
adaptation mechanism is described in the UML 2.x Superstructure and Infrastructure Specifications,
which detail how profiles can be used to customize the UML for particular domains or purposes.
Choose the correct answer :
Let E be a UML 2.5 NamedElement with a name property of '_name" and with a nameExpression
property of "_expresslon".
Which one presentation or set of presentations of the name of E in a tool conforms to the OMG
specification?
C
Explanation:
In UML 2.5, a NamedElement can have a name attribute, which is a string representing the element's
name, and a nameExpression attribute, which is a ValueSpecification used to specify the element's
name in a more dynamic way. The presentation of the name of a NamedElement in a tool that
conforms to the OMG specification could either be the literal name (as specified in the name
attribute) or the evaluated expression from the nameExpression property. Therefore, a tool may
choose to present either the simple name or the evaluated expression or allow toggling between the
two. The specification does not mandate a single fixed presentation, allowing for flexibility in how
tools display the name. This conforms to the OMG's UML 2.5 specification, which describes the
properties of NamedElement and their presentations within tools.
Choose the correct answer :
In a model of a commercial transaction, actors might exchange euros, pesos, and dollars
Which figure illustrates compliant use of UML information items for these currency exchanges?

B
Explanation:
In UML, an InformationItem represents an abstraction of all those elements in a UML model that
have an information-bearing feature. It is depicted as a classifier with the keyword
«informationItem». An InformationItem does not have direct instances and serves as a mechanism
to handle unspecified, untyped information in a model. In the context of a commercial transaction
model, currencies such as euros, pesos, and dollars can be abstractly represented as
InformationItems to signify that they are used as a form of data exchange but without specifying the
concrete structure or data type. Figure 2 correctly uses InformationItem notation, with the
«informationItem» keyword and the directed association pointing from the Currency
InformationItem to the Euro, Peso, and Dollar, which are likely representations or manifestations of
the Currency. This complies with the UML specification for representing abstract entities in models
that are involved in the exchange or flow of information.
Choose the correct answer :
Consider the following diagram fragment:
Which statement is correct about the diagram fragment?
D
Explanation:
The provided diagram fragment seems to indicate a situation involving a template. In UML, a
template is a parameterizable element, and a bound element is a specific manifestation of that
template wherein the parameters have been replaced with actual values or types. If 'List' is a
template class, it cannot be directly used as a type. Instead, one must use a bound element of the
List, meaning the template parameters of List must be bound to actual types before it can be used.
For instance, if List is a template expecting a type T, then a concrete class might be List<Customer> or
List<Order>, where Customer or Order are actual types replacing the template parameter T. This use
of templates and bound elements is according to the UML specification, which details how templates
are defined and instantiated within UML models.