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.
Choose the correct answer :
A group of programming language designers want to create classes that model typical data
collections such as arrays, lists, maps. etc.
Their design must satisfy three conditions:
1. The collections must be parameterizable to support any data type.
2. Some collections must inherit from other collections to leverage reuse of functionality.
3. The implementation of the collection functions cannot be overridden.
Which UML concept should these designers use?
D
Explanation:
In UML, class templates are the concept used to create classes that can be parameterized with
different data types. This feature satisfies the first condition, allowing collections to support any data
type. Class templates can be specialized, fulfilling the second condition, where some collections can
inherit from others, thus enabling the reuse of functionality. Additionally, UML allows for operations
to be defined in such a way that they cannot be overridden, by specifying them as non-virtual or
final, which meets the third condition. Therefore, the use of class templates would be the most
suitable approach for the design criteria specified by the programming language designers. This
approach is consistent with the capabilities of class templates as described in the UML 2.x
Superstructure Specification.
Choose the correct answer :
A project's requirements call for flexibility in the collection class design. Most of the collections will
be a fixed length of 25 elements. However, allowance must be made in the design for collections
that are a fixed length longer than 25.
Which model fragment supports the project's requirements?
A)
B)
C)
D)
C
Explanation:
The UML model fragment that best supports the project's requirements for collection class design is
one that allows the fixed length of the collections to be specified but also permits flexibility for
collections longer than 25 elements. In Option C, the ClarusCollection class is shown as a template
class with a template parameter Size set to a default of 25. However, the dashed lines and the
separate box for Type and Size indicate that while there is a default value, it can be overridden. This
means that the Size can be parameterized, thus allowing the creation of ClarusCollection instances
with different fixed lengths, not just 25. This design will enable most collections to be created with
the default size of 25, but also allows for creating collections with sizes greater than 25, providing the
flexibility required by the project's requirements. This adheres to the UML 2.x specification on
templates and parameterization.
Choose the correct answer :
Consider the following modeling scenario:
Which statement is correct about the modeling scenario?
C
Explanation:
In UML, profiles are applied to specific model elements to adapt the UML metamodel to different
domains or platforms. The provided diagram shows a UML package diagram within which the
«Versioning» profile is applied to the "Business Logic" package, and the «DBProfile» is applied to the
"Data" package. This is a correct use of profiles in UML as they allow the customization of parts of a
model by applying additional constraints and stereotypes to specific packages or classes. There is no
restriction in UML that a profile cannot be applied to multiple packages in the model simultaneously,
and profiles do not necessarily need to be members of the namespace of the model they are applied
to; they can be defined externally. Therefore, the scenario presented is a correct application of two
different profiles to two distinct packages within the same model, conforming to the UML 2.x
Superstructure Specification.
Choose the correct answer :
In addition to stereotypes, which UML elements can a profile define?
C
Explanation:
A UML profile can define several different elements to extend the UML for a specific domain,
platform, or purpose. Besides stereotypes, a profile can define DataTypes and Enumerations, which
can be used within Stereotypes to type the tagged values. A profile can also define Classes, which
can be used as base classes for stereotypes. However, a profile does not typically define instances of
elements, such as Objects, nor does it define composite structures, such as Components. The intent
of a profile is to adapt existing metamodel elements through the use of stereotypes, tag definitions,
and constraints rather than to create instances or define system architectures. This definition and use
of a profile are aligned with the guidelines in the UML 2.x Superstructure Specification, which
outlines what elements a profile can define within the UML framework.
Choose the correct answer :
Consider the following diagram:
What does the string {guarded} mean?
C
Explanation:
In UML, when an operation is marked with the term {guarded}, it means that the operation is subject
to a concurrency constraint. It specifies that the operation cannot have overlapping executions; in
other words, if the operation is already in execution, a new attempt to start it will have to wait until
the current one completes. This prevents race conditions and ensures thread safety for that
operation when dealing with concurrent accesses in multi-threaded environments. This
interpretation is based on the UML 2.x Superstructure Specification, which describes how operations
can be marked with constraints to define their behavioral features in terms of concurrency.