Issues for Mailing list of the UML Profile and Metamodel for Services (SoaML) Finalization Task Force
To comment on any of these issues, send email to soaml-ftf@omg.org. (Please include the issue number in the Subject: header, thusly: [Issue ###].) To submit a new issue, send email to issues@omg.org.
List of issues (green=resolved, yellow=pending Board vote, red=unresolved)
Issue 13189: specification is inconsistent in capitalization regarding defining stereotypes and utilizing the stereotypes in examples
Issue 13305: loading the profile into Eclipse (v3.4, with EMF 2.4.0 and UML2 2.2.0) - error
Issue 13332: SoaML Issue: Use of RequestPoint with bi-directional services
Issue 13334: SoaML/UPMS Issue - Collaboration class specification
Issue 13335: SoaML Issue: Expose class specification (Capabilities profile)
Issue 13336: SoaML Issue: Alphabetic placement of the Port class specification
Issue 13337: SoaML Issue: Component as a superclass of Participant
Issue 13338: SoaML Issue: Port Direction
Issue 13339: SoaML Issue: ServicePoint description out of alphabetical order.
Issue 13340: SoaML Issue: Participant aggregation
Issue 13346: SoaML: The distinction between participant and ParticipantArchitecture Participants is unclear
Issue 13347: SoaML: Capability Exposure is not defined
Issue 13350: SoaML: Bullet and numbered lists are missing from the responses to requirements section
Issue 13351: SoaML: SoaML should be published in Open Document Format
Issue 13406: Issue regarding MessageType display for DataTypes
Issue 13527: MessageType Signal issue
Issue 13528: MessageType Content Constraints
Issue 13545: ServiceInterface Notation
Issue 13652: SoaML: MotivationElement shouldn't be a stereotype
Issue 13717: Compliance level is needed
Issue 13725: SoaML: Figures 24 and 25 are missing their CollaborationUse and role bindings
Issue 13818: SoaML Issue - Service Interface applied to class and interface
Issue 13819: SoaML : SoaML Trademark
Issue 13871: ServiceArchitecture
Issue 13925: The definition of "service" should be refined
Issue 13935: Clarify relationship of Port::isService with ServicePoint and RequestPoint
Issue 13975: Attachment and the attribute mimeType
Issue 14067: SoaML: Rename ServicePoint and RequestPoint for SOA Harmonization
Issue 14226: SOAML: Provide icons for some SoaML stereotypes
Issue 14229: SoaML: Milestone::value has inconsistent multiplicity
Issue 14230: SoaML: Examples in Annex B and Annex C need to be updated
Issue 14440: There is no convenient way to summarize what services a participant produces and consumes
Issue 14922: Title: Figure 95 uses instance keyword instead of part
Issue 14923: Figure 95 extends activity execution semantics
Issue 14924: Figure 95 uses UML ports without UML semantics
Issue 13189: specification is inconsistent in capitalization regarding defining stereotypes and utilizing the stereotypes in examples (soaml-ftf)
Click here for this issue's archive.
Source: Northrop Grumman (Mr. Darin J. Supel, dsupel(at)northropgrumman.com)
Nature: Revision
Severity: Minor
Summary:
The specification is inconsistent in capitalization regarding defining stereotypes and utilizing the stereotypes in examples. Most stereotypes begin with a capitalized letter, however many do not. The group should follow the style guidelines defined by the UML: "The first letter of an applied stereotype should not be capitalized." - UML 2.1.2 Superstructure, Section 18.3.8.
Resolution: resolved
Revised Text: see pages 9 through 42 of OMG document ptc/2009-12-08
Actions taken:
December 22, 2008: received issue
April 26, 2010: closed issue
Discussion: This is an editorial change that can be made when the final changes to the specification are applied.
The issue of whether to follow the guidelines or not was discussed many times and the conclusion of the submitters and FTF task force members of SoaML and others was to use stereotype names that match the name of the stereotype in the Profile.
Issue 13305: loading the profile into Eclipse (v3.4, with EMF 2.4.0 and UML2 2.2.0) - error (soaml-ftf)
Click here for this issue's archive.
Source: Harris (Mr. Brad Kizzort, bkizzort(at)harris.com)
Nature: Clarification
Severity: Minor
Summary: I have tried loading the profile into Eclipse (v3.4, with EMF 2.4.0 and UML2 2.2.0), but it fails when I try to define the profile with ad/08-11-03.xmi Eclipse errors when invoking UML Editor|Profile|Define... Derived feature needs:RequestPoint should be made transient and volatile. Derived feature capabilities:ServicePoint should be made transient and volatile. Processed feature base_Collaboration:Collaboration as a duplicate of inherited feature 'base_Collaboration:Collaboration'.
Resolution: This issue was resolved by other changes. Actions taken: Closed, no change
Revised Text:
Actions taken:
January 19, 2009: received issue
April 26, 2010: closed issue
Issue 13332: SoaML Issue: Use of RequestPoint with bi-directional services (soaml-ftf)
Click here for this issue's archive.
Click here for this issue's attachments.
Source: Model Driven Solutions (Mr. Cory B. Casanave, cory-c(at)modeldriven.com)
Nature: Revision
Severity: Significant
Summary: Where there is a bi-directional service that has 2 service contracts as is expressed in the SoaML examples, RequestPoint can not be used since it would invert the interfaces of the service interface that already represents the consumer. This is confusing with respect to the fundamental SOA concepts of a service provider and consumer – since the provider and consumer role can no longer be determined from the model semantics. It is also a source of errors as it would be natural to use RequestPoint for the consumer.
A set of changes could address this issue as well as make the provider/consumer roles more evident:
1. Instead of having the types of roles in a service contract the service interfaces, make the types of these roles the UML interfaces. Have a single service interface; only for the provider, and then use RequestPoint to “invert” this single service interface. This style works well for most cases, but not for nary or composite service contracts. For composite service contracts the service interfaces would still have to be the type of the roles (so it can have ports). For nary service contracts multiple service interfaces will still be required. The change to the specification would be to specify interfaces as the “normal” type of a service contract roles and spell out the edge cases. The examples should also be changed. The style used currently in the examples would still be supported.
2. In support of nary service contracts the RequestPoint stereotype should expose “direction” as does the SoaML meta model.
3. Add optional “Provider” and “Consumer” stereotypes for service contract roles. The notation for these stereotypes should propagate to the interfaces and ports so the provider/consumer relationship is clear. Support an optional notation of an arrow in roles and ports to indicate the direction.
Resolution: see pages 43 - 80 of ptc/2009-12-08 for details
Revised Text:
Actions taken:
January 24, 2009: received issue
April 26, 2010: closed issue
Issue 13334: SoaML/UPMS Issue - Collaboration class specification (soaml-ftf)
Click here for this issue's archive.
Source: Thematix Partners LLC (Mr. James J. Odell, email(at)jamesodell.com)
Nature: Revision
Severity: Minor
Summary: The Collaboration class in the Contacts profile (Figure 17) has no class Class Description. If the Collaboration class is not needed, remove it; if it is needed, add a Class Description
Resolution: see pages 81 - 83 of ptc/2009-12-08 for details
Revised Text:
Actions taken:
January 25, 2009: received issue
April 26, 2010: closed issue
Issue 13335: SoaML Issue: Expose class specification (Capabilities profile) (soaml-ftf)
Click here for this issue's archive.
Source: Thematix Partners LLC (Mr. James J. Odell, email(at)jamesodell.com)
Nature: Revision
Severity: Minor
Summary: The Expose class in the Capabilities profile (Figure 21) has no class Class Description. If the class is not needed, remove it; if it is needed, add a Class Description
Resolution: The content for the stereotype was inadvertently left out of the specification.
Revised Text: Change section 7.1.14 Expose to:
Expose
An Expose dependency is use to indicate a Capability exposed through a ServiceInterface. The source of the Expose is the ServiceInterface, the target is the exposed Capability.
Extends Metaclass
· Dependency
Description
The Expose dependency provides the ability to indicate what Capabilities that are required by or are provided by a participant should be exposed through a Service Interface.
Attributes
No additional attributes.
Associations
No additional associations.
Constraints
No additional constraints.
Semantics
A Capability represents something a Participant needs to have or be able to do in order to support a value proposition or achieve its goals, or something a Participant has that enables it to carry out its provided services. Capabilities may be used to identify services that are needed or to describe the operations that must be provided by one or more services. An Expose dependency is a relationship between a Service Interface and a Capability it exposes or that provides it. . This means that the exposing Service Interface provides operations and information consistent with the capabilities it exposes. This is not the same as realization. The Service Interface is not required to have the same operations and properties as the capabilities it exposes. It is possible that services supported by capabilities could be refactored to address commonality and variability across a number of exposed capabilities, or to address other SOA concerns not accounted for in the capabilities.
Alternatively, Capabilities may realize ServiceInterfaces using standard UML Realization. This approach is somewhat different in that it says that the Service Interface is a "specification" and the Capability "implements" this specification. As with the Expose dependency, the Capability is not required to have the same operations or properties as the Service Interface it realizes.
A Participant may have parts typed by Capabilities that indicate what the participant is able to do. Such a Participant may also Realize a set of Capabilities through its ownedBehaviors or through delegation to parts in its internal structure, or through delegation to requests for services from others. These capabilities may also be exposed by ServiceInterfaces used to specify the type of service ports through which the capabilities are accessed.
Notation
An Expose is denoted as a UML2 Dependency with the "Expose" stereotype.
Additions to UML2
Extends Dependency to formalize the notion that a Capability can be exposed by a ServiceInterface.
Actions taken: Resolved
Actions taken:
January 25, 2009: received issue
April 26, 2010: closed issue
Issue 13336: SoaML Issue: Alphabetic placement of the Port class specification (soaml-ftf)
Click here for this issue's archive.
Source: Thematix Partners LLC (Mr. James J. Odell, email(at)jamesodell.com)
Nature: Revision
Severity: Minor
Summary: The stereotype Description for Port needs to be moved just before Property — to maintain alphabetical order. (Currently, it appears before the MesageType description.)
Resolution: resolvrd
Revised Text: Revised Text: Same text moved in alphabetical order
Actions taken: Moved in alphabetical order
Actions taken:
January 26, 2009: received issue
April 26, 2010: closed issue
Issue 13337: SoaML Issue: Component as a superclass of Participant (soaml-ftf)
Click here for this issue's archive.
Source: Thematix Partners LLC (Mr. James J. Odell, email(at)jamesodell.com)
Nature: Revision
Severity: Minor
Summary: The metamodel in Figure 59 (ServiceInterfaces and Participants) specifies that Component and Class are superclasses of Participant; but the Service profile (Figure 18) omits Component (as it should). Remove Component from metamodel.
Resolution: Component has been removed as a superclass in changes for issues 13334 and 13338.
Revised Text:
Actions taken:
January 25, 2009: received issue
April 26, 2010: closed issue
Issue 13338: SoaML Issue: Port Direction (soaml-ftf)
Click here for this issue's archive.
Click here for this issue's attachments.
Source: Thematix Partners LLC (Mr. James J. Odell, email(at)jamesodell.com)
Nature: Revision
Severity: Minor
Summary: The Port in the metamodel (figure 59) has “direction” and has a Port Direction class. Yet the profile description does not indicate or include either of these. Either the Profile should be fixed or the Metamodel.
Resolution: see pages 43 - 80 of ptc/2009-12-08 for details
Revised Text:
Actions taken:
January 25, 2009: received issue
April 26, 2010: closed issue
Issue 13339: SoaML Issue: ServicePoint description out of alphabetical order. (soaml-ftf)
Click here for this issue's archive.
Source: Thematix Partners LLC (Mr. James J. Odell, email(at)jamesodell.com)
Nature: Revision
Severity: Minor
Summary: The ServicePoint description in the metamodel on p72 is out of alphabetical order. It should precede ServicesArchitecture on p92. Maybe you should check the whole list .
Resolution: Revised Text: Same text moved in alphabetical order
Actions taken: Moved in alphabetical order
Revised Text:
Actions taken:
January 25, 2009: received issue
April 26, 2010: closed issue
Issue 13340: SoaML Issue: Participant aggregation (soaml-ftf)
Click here for this issue's archive.
Source: Thematix Partners LLC (Mr. James J. Odell, email(at)jamesodell.com)
Nature: Revision
Severity: Minor
Summary: The two aggregation associations coming off Participant are shown as shared in Figure 18, but as composite in Figure 59. The text seems to be no real help in deciding which is right. For consistency, this should be changed tp composite.
Resolution: These associations have been removed in response to another issue.
Revised Text: see pages 86 - 88 0f ptc/2009-12-08 for details
Actions taken:
January 25, 2009: received issue
April 26, 2010: closed issue
Issue 13346: SoaML: The distinction between participant and ParticipantArchitecture Participants is unclear (soaml-ftf)
Click here for this issue's archive.
Click here for this issue's attachments.
Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary: In UML2, a <<specification>> Component (or EncapsulatedClassifier) is a specification of the overall structure and behavior that realizing Components are required to implement. This is similar to the distinction between Interface and realizing Classes in UML and Java, but allows the specification to also define ports, parts and behaviors as well as operations.
<<ParticipantArchitecture>> in SoaML appears to support the same separation of specification from realizing participants. SoaML should clarify the similarities or differences between these two concepts.
Resolution: ParticipantArchitecture has been removed from the specification, so this overlap no longer exists. Closed no Change
Revised Text:
Actions taken:
January 26, 2009: received issue
April 26, 2010: closed issue
Discussion:
Issue 13347: SoaML: Capability Exposure is not defined (soaml-ftf)
Click here for this issue's archive.
Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary: SoaML defines an Expose dependency that allows a service interface to expose a capability realized by a participant. This stereotype is not defined in the specification.
Resolution: Duplicate of 13335
Revised Text:
Actions taken:
January 27, 2009: received issue
April 26, 2010: closed issue
Issue 13350: SoaML: Bullet and numbered lists are missing from the responses to requirements section (soaml-ftf)
Click here for this issue's archive.
Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary: Somehow the bullets and numbers in the formatting in the responses to requirements section were removed.
Resolution: This issue seems to have been resolved in the creation of the Beta document. However, any remaining issues can be addressed as editorial changes that will be made during the final editing on the specification, especially during the conversion to an odf file.
Revised Text:
Actions taken:
January 29, 2009: received issue
April 26, 2010: closed issue
Issue 13351: SoaML: SoaML should be published in Open Document Format (soaml-ftf)
Click here for this issue's archive.
Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary: The SoaML FTF should create the document on Open Document Format to allow the use of freely available open source editors.
Resolution: This will be done as an editorial made during the final editing on the specification to ensure no formatting issues result from the conversion. This has been tried a number of times and appears to be easily done.
Revised Text:
Actions taken:
January 29, 2009: received issue
April 26, 2010: closed issue
Issue 13406: Issue regarding MessageType display for DataTypes (soaml-ftf)
Click here for this issue's archive.
Source: Everware-CBDI (Mr. John C. Butler, jbutler(at)everware-cbdi.com)
Nature: Revision
Severity: Minor
Summary: When a stereotype extends a metaclass with a keyword such as DataType, the stereotype name should be displayed in separate guillemets close to the keyword stereotype. This means Figure 26 should show “<<dataType>> <<messageType>>” when the element is a DataType.
Resolution: Resolution: Closed, no change
Revised Text:
Actions taken:
February 2, 2009: received issue
April 26, 2010: closed issue
Discussion: "datatype" is a keyword, not a stereotype. Typically when a stereotype is applied to an element described using a keyword, the keyword is no longer needed and may be suppressed. Alternatively tools could choose to show "datatype, MessageType".
Issue 13527: MessageType Signal issue (soaml-ftf)
Click here for this issue's archive.
Source: Model Driven Solutions (Mr. Cory B. Casanave, cory-c(at)modeldriven.com)
Nature: Uncategorized Issue
Severity:
Summary: The requirements for message type match almost exactly with the requirements for signal, yet <<MessageType>> can not be applied to signal which requires yet another model element be created to wrap it. Having message types as signals is the most natural representation for an async protocol as these do not require "wrapping" the messages in operations.
Suggested Resolution: Allow <<MessageType>> to be applied to <<Signal>>
Resolution:
Revised Text: see page 91 of ptc/200912-08 for details
Actions taken:
February 19, 2009: received issue
April 26, 2010: closed issue
Discussion: The message type stereotype will be able to be applied to signal. In the meta model, a subtype of signal will be created, called "MessageSignal".
Issue 13528: MessageType Content Constraints (soaml-ftf)
Click here for this issue's archive.
Source: Model Driven Solutions (Mr. Cory B. Casanave, cory-c(at)modeldriven.com)
Nature: Uncategorized Issue
Severity:
Summary: Summary:
A common and best practice pattern is to use portions of an abstract information model in messages. Due to the following constraint this is not allowed:
[4][1] All ownedAttributes of a MessageType must be PrimitiveType, DataType, ValueObject, or another MessageType or a reference to one of these types.
If followed, this constraint would require the complete information model to be <<MessageType>> or the information model to be remodeled as message types - both of these alternatives are unworkable and undesirable.
Suggested Resolution: Remove the constraint and make it part of the semantics of <<MessageType>> that any attributes or aggregated elements are passed by value.
Abstract information models will, invariably, have references. It should be up to the PSM mapping how references are handled. Of course on the web, references will be URIs.
Resolution: Remove the ownedAttributes constraint of message type.
Revised Text: On page 54, remove the following constraint:
All ownedAttributes of a MessageType must be PrimitiveType, DataType or another MessageType or a reference to one of these types.
At the end of "semantics" on the same page add the following:
It is the intent of message type that it represents data values that can be sent between participants. Where message types contain classes as attributes or aggregated associations the message type will contain a "copy by value" of the public state of the those objects. Where those objects contain references to other objects those references will, likewise, be converted to value data types.
The way in which copy by value of an object is performed or how references are mapped to data types is platform technology dependent and not specified by SoaML.
Disposition: Resolved
Actions taken:
February 19, 2009: received issue
April 26, 2010: closed issue
Issue 13545: ServiceInterface Notation (soaml-ftf)
Click here for this issue's archive.
Source: Atego (Mr. Phillip Astle, phil.astle(at)atego.com)
Nature: Uncategorized Issue
Severity:
Summary: ServiceInterfaces require a different notation on diagrams that is dependent on what it’s underlying UML metatype is. The issue relates to the fact that a ServiceInterface can extend a Class or an Interface.
When you drop a ServiceInterface onto a diagram you cannot tell if the ServiceInterface is really a Class or an Interface. This is a problem when you consider that a Class can have provided/required Interface but an Interface cannot. From a users perspective the two will look identical on a diagram and they won’t be able to tell why they’re not allowed to do what they’re trying to do. Some sort of notational difference would resolve this
Resolution:
Revised Text:
Actions taken:
February 23, 2009: received issue
April 26, 2010: closed issue
Discussion: UML2 shows an Interface using the Classifier notation with a "interface" keyword. This keyword can be included with the "ServiceInterface" keyword if desired. However, when a simple interface is used to type a ServicePoint or RequestPoint, the "ServiceInterface" stereotype is not required
Resolution: Closed no change
Issue 13652: SoaML: MotivationElement shouldn't be a stereotype (soaml-ftf)
Click here for this issue's archive.
Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary: SoaML BMM integration has stereotype MotivationElement extending NamedElement. This was so all BMM subclasses of MotivationElement would inherit the name property and the ability to own comments. However, when integrating a BMM profile with SoaML, any BMM stereotype (e.g., Goal) would be able to be applied to any NamedElement. This is not the intent as BMM elements should only extend a particular UML metaclass, such as Artifact for example. Abstract stereotype MotivationElement should not extend any metaclass.
Resolution:
Revised Text: see pages 93 - 94 of ptc/2009-12-08 for details
Actions taken:
March 2, 2009: received issue
April 26, 2010: closed issue
Discussion: MotivationElement does not even have to be a stereotype, it only needs to be an abstract class, just like in BMM. Any stereotype in a BMM profile would specialize MotivationElement as well as extend some UML metaclass.
Issue 13717: Compliance level is needed (soaml-ftf)
Click here for this issue's archive.
Source: No Magic, Inc. (Mr. Andrius Strazdauskas, andriuss(at)nomagic.com)
Nature: Uncategorized Issue
Severity:
Summary: UPDM would like to reuse SoaML, however, UPDM is based on UML4SysML, and SoaML is using Collaborations, which is outside UML4SysML. A compliance level is needed in SoaML that would have use only UML4SysML.
Resolution: closed no change
Revised Text:
Actions taken:
March 6, 2009: received issue
April 26, 2010: closed issue
Discussion: The UPDM finalization task force team has agreed to replace its services modeling capabilities with SoaML. This will be based on a Mapping I created between UPDM services modeling and SoaML:
UPDM SoaML Notes
Performer (Class) Participant (Class) Performer will need to inherit from Participant
Service (Port) ServicePoint (Port) Will use ServicePoint directly Constraints need to be added
Request (Port) RequestPoint (Port) Will use RequestPoint directly
ServiceInterface (Class) ServiceInterface (Class) Will use ServiceInterface directly Constraints need to be added
Capability (Class) Capability (Class) Will use Capability directly Constraints need to be added
ExposesCapability (Dependency) Expose (Dependency) Will use Expose directly
ResouceConnector (Connector) ServiceChannel (Connector) ResourceConnector will need to inherit from ServiceChannel
UPDM will use ElementImport to import the SoaML stereotypes they wish to reuse. This eliminates the need to create a specific SoaML compliance point that has a subset of the extensions needed by UPDM. We could do that, but this is not a sustainable solution as other standards that want to use a different subset would require another unique compliance point making compliance ineffective and model interchange difficult.
The resolution to UML2 Issue 12833: "Clarification on use of Profiles" clarifies the meaning of package and element import indicating the imported public elements are in the namespace of the importing package and can therefore be used similar to model elements defined directly in that package. We all agreed this was the best approach for reusing elements from other models.
UPDM will extend the SoaML stereotypes as needed to address their specific needs.
Issue 13725: SoaML: Figures 24 and 25 are missing their CollaborationUse and role bindings (soaml-ftf)
Click here for this issue's archive.
Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary:
The ShippingService ServiceInterface in Figure 24 should contains a collaboration use and role bindings for the ShippingContract ServiceContract. The Manufacture participant in Figure 25 should not relaize the Manufacture Archtiecture, rather it should contain a collaboration use of the Manufacturer Architecture represented as a collaboration.
Resolution:
Revised Text: see pages 93 - 98 of ptc/2009-1-208 for details
Actions taken:
March 16, 2009: received issue
April 26, 2010: closed issue
Discussion:
Issue 13818: SoaML Issue - Service Interface applied to class and interface (soaml-ftf)
Click here for this issue's archive.
Source: Model Driven Solutions (Mr. Cory B. Casanave, cory-c(at)modeldriven.com)
Nature: Uncategorized Issue
Severity:
Summary: SoaML specifies the use of the <<ServiceInterface>> stereotype on both classes and interfaces. In the case of ServiceInterface applied to a class there is a specific and potentially complex set of model elements that are required to complete the service interface specification (the class will, at minimum, realize and use UML interfaces and may have parts). When ServiceInterface is applied to a UML interface there is a different set of model elements (operations and receptions) – as a result there is a different structure and expectation of how each is specified. The unifying point is that they can both be used as the type of a ServicePoint or RequestPort. These two “flavors” of ServiceInterface are confusing to the user and inconsistently specified in the documentation. The documentation does not differentiate how to specify each flavor of ServiceInterface and is inconsistent about the base class for <<ServiceInterface>>.
Either different stereotypes should be used (perhaps <<Provider>> & <<Consumer>> on interfaces per other issues) or the documentation should clearly distinguish <<ServiceInterface>>Class and <<ServiceInterface>>Interface.
Resolution:
Revised Text:
Actions taken:
March 21, 2009: received issue
April 26, 2010: closed issue
Discussion: This is duplicate of 13545. UML2 provides a "interface" keyword to distinguish Classifier notation for an Interface. SoaML "ServiceInterface" is not required for simple one-way service interactions that have no protocol. The spec specifically calls out this simple case a number of times in the introduction.
This issue is also further addressed by the resolution to issue 13338: Port Direction.
Resolution: Duplicate of 13545
Issue 13819: SoaML : SoaML Trademark (soaml-ftf)
Click here for this issue's archive.
Source: Model Driven Solutions (Mr. Cory B. Casanave, cory-c(at)modeldriven.com)
Nature: Uncategorized Issue
Severity:
Summary: The SoaML logo should display ™ and should be registered as a trademark of OMG.
Resolution: The trademark has been added.
Revised Text: see page 99 of ptc/2009-12-08 for details
Actions taken:
March 21, 2009: received issue
April 26, 2010: closed issue
Issue 13871: ServiceArchitecture (soaml-ftf)
Click here for this issue's archive.
Source: THALES (Mr. Jerome Lenoir, jerome.lenoir(at)thalesgroup.com)
Nature: Uncategorized Issue
Severity:
Summary: the ServiceArchitecture is definition The high-level view of a Service Oriented Architecture that defines how a set of participants works together, forming a community, for some purpose by providing and using services.
It's not really set of participants but a set of roles which will be play by participants. I'm not sure that we need to type the role by participant.
Can we add a Particpant*S*Architecture stereotype that extends Class to show an architecture of participants with connectors(ServiceChannel), this architecture of Participants containing the ServiceArchitecture(collaborationUse) and the Participants playing the role within the serviceArchitecure.
Resolution:
Revised Text:
Actions taken:
April 16, 2009: received issue
April 26, 2010: closed issue
Discussion: Resolution:
The way the services architecture shows how a set of participants works together is by showing their roles in the services architecture collaboration. For this reason it is required that the participants type the roles.
Revised Text:
Actions taken: Closed, no change.
Issue 13925: The definition of "service" should be refined (soaml-ftf)
Click here for this issue's archive.
Source: Cordys (Mr. Fred A. Cummins, fred.a.cummins(at)gmail.com)
Nature: Clarification
Severity: Critical
Summary: The definition of "service" should be refined. In several places a service is defined as an offer of value. Instead it should be defined as value delivered. The value is delivered to satisfy a need of one party(?) by another party that has the necessary capability
Resolution: In Section 7.1.7, first paragraph, change
"To do so, services provide functional capabilities that when implemented and used to provide some real-world effect that has value to potential producers and consumers."
To
"To do so, service providers have functional capabilities that, when implemented and used, provide some real-world effect that has value to potential consumers."
Section 7.3.14, in row 4 of the table under semantics, replace
"The detailed specification of an interaction providing value as part of a service including "
With
"The detailed specification of an interaction providing value as a service including "
Annex B, row 10, Real World Effect, right column, replace
"Defined as Effect. Comprises the out-come of the service, and is how it delivers value to its consumers. "
With
"Defined as Effect. Comprises the out-come of performance of the service, and is the value delivered."
Resolution: Resolved
Revised Text:
Actions taken:
May 7, 2009: reeived issue
April 26, 2010: closed issue
Issue 13935: Clarify relationship of Port::isService with ServicePoint and RequestPoint (soaml-ftf)
Click here for this issue's archive.
Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary: How does the Port “isService” attribute that’s in the UML 2.2 specification relate to SoaML ServicePoint and RequestPoint? This seems like something that might conflict/help the SoaML specification.
Port::isService is a convention supported by UML that recognizes upward, client-facing services a component might have as distinguished from downward services or requests that are used for implementation purposes and are not intended to be of interest to perspective clients. It is used to distinguish ports that the consumers are expected to be interested in from those that are public, but are mostly concerned with the implementation of the component through interaction with lower-level service providers. This is still useful and valid for SoaML - although it would be a bit strange for a RequestPoint to have isService=ture - but this is simply saying that the RequestPoint is involved in the client-facing value chain, and not something that is just about the implementation of the participant. This needs to be clarified in the SoaML submission.
Resolution: In section 7.1.16 Port, add the following paragraph to the end of the Semantics section:
Port::isService is a convention supported by UML that recognizes upward, client-facing services a component might have as distinguished from downward services or requests that are used for implementation purposes and are not intended to be of interest to perspective clients. It is used to distinguish ports that the consumers are expected to be interested in from those that are public, but are mostly concerned with the implementation of the component through interaction with lower-level service providers. All these ports are either service or request points, but isService is intended to distinguish those that would be involved in a client-facing value chain, and not something that is about the implementation of the participant or something provided for the detailed implementation of some other participant.
Resolution: Resolved
Revised Text:
Actions taken:
May 18, 2009: received issue
April 26, 2010: closed issue
Issue 13975: Attachment and the attribute mimeType (soaml-ftf)
Click here for this issue's archive.
Source: Fundacion Tecnalia Research and Innovation (Mr. Gorka Benguria, nobody)
Nature: Revision
Severity: Minor
Summary: Attachment has an attribute mimeType in the profile picture and in the semantic section of the attachment, but it does not appear in the attributes section, and does not appear in the metamodel
Resolution: The attribute definition was missing.
Revised Text: In section 7.1.9, Attachment, add attribute:
· mimeType: String [0..1] Denotes the iana MIME media type for the Attachment See: http://www.iana.org/assignments/media-types/.
Actions taken:
June 9, 2009: received issue
April 26, 2010: closed issue
Issue 14067: SoaML: Rename ServicePoint and RequestPoint for SOA Harmonization (soaml-ftf)
Click here for this issue's archive.
Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary: There has been a coordinated effort to begin harmonizing TOG, OASIS and OMG SOA standards to reduce confusion and fragmentation in the marketplace. That harmonization has taken two forms: 1) positioning the types of standards (reference models, ontologies, reference architectures and metamodels) relative to each other along with some guidance about how to use the different standards and 2) starting from where the standards are aligned, an agreement to explore future collaboration in the context of each organizations process to further align the standards by reducing the gaps, overlaps and accidental inconsistencies.
A particular SOA alignment issue that we have struggled with for some time is the use of the term Service. Part of the common agreement that appears to exist around the standards is that there are four fundamental things about a "service" that have to be defined in an SOA:
1. A definition of what the service is, what interfaces are provided and required, the operations, their preconditions, post conditions, service data parameters, and any protocols for using the operations. In SoaML, this is defined by a combination of the ServiceContract and ServiceInterface along with Interface, Operation and other things from UML.
2. Who provides and consumes the service. This is Participant in SoaML.
3. What services the participants provide and consume. These are the ServicePoints and RequestPoints in SoaML, typed by ServiceInterfaces.
4. How the services are actually carried out. These are the ownedBehaviors or parts (through delegation) of a Participant that provide methods for the service operations, perhaps invoking service operations through request points in order to perform the service.
The term Service is used more or less consistently across the OASIS RM, TOG SOA Ontology and TOG SOA RA. The SoaML ServicePoint and RequestPoint also align well with the use of the term Service in these other standards. ServicePoint and RequestPoint should be renamed to Service and Request to simplify SoaML, better align with these other standards, and better highlight the key component of SOA.
Resolution:
Revised Text: Change all instances of ServicePoint to Service and RequestPoint to Request.
In Section 7.1.16 Participant, change the second paragraph in the Description section from:
Participants have ServicePoint and RequestPoint ports which are the interaction points where services are offered or consumed respectively. Internally a participant may specify a behavior, a business process or a more granular service contract as a Participant Architecture.
To:
A Participant provides a service through a "Service" Port and consumes service through a "Request" Port. Service and request ports define the features representing services provided and consumed by participants and provide a mechanism to enable access to those services as defined by their service interfaces.
Change the second paragraph in the Participant semantic section from:
A Participant implements each of its provided service operations. UML2 provides three possible ways a Participant may implement a service operation:
To:
A Participant implements each of its provided service operations. Provided services may be implemented either through delegation to its parts representing capabilities or resources required to perform the service or other participants having the required capabilities and resources, through requests for services from others, through the methods of the service operations provided by its owned behaviors, or through actions that respond to received events. The implementation of the service must be consistent with the operations, protocols and constraints of specified by the ServiceInterface.
UML2 provides three possible ways a Participant may implement a service operation:
In section 7.1.20 Request point, change the introduction of RequestPoint and its description from:
RequestPoint
A RequestPoint models the use of a service by a participant and defines the connection point through which a Participant makes requests and uses or consumes services.
Extends Metaclass
· Port
Description
A RequestPoint is interaction point through which a consumer accesses capabilities of provider services as defined by ServiceInterfaces and ServiceContracts. It includes the specification of the work required from another, and the request to perform work by another. A RequestPoint is the visible point at which provider services are connected to consumers, and through which they interact in order to produce some real world effect. A RequestPoint defines a capability that represents some functionality addressing a need, and the point of access to fulfill those needs in an execution context. The need is defined by a RequestPoint owned by a Participant and typed by a ServiceInterface or Interface. The connection point is defined by a part whose type is the ServiceInterface defining the needs.
A RequestPoint may also be viewed as some need or set of related needs required by a consumer Participant and provided by some provider Participants that has some value, or achieves some objective of the connected parties. A RequestPoint is distinguished from a simple used Operation in that it may involve a conversation between the parties as specified by some communication protocol that is necessary to meet the needs.
RequestPoint extends UML2 Port and changes how provided and required interfaces for the and are interpreted. The capabilities consumed through the RequestPoint, its required interfaces, are derived from the interfaces realized by the service's ServiceInterface. The capabilities provided by consumers in order to use the service, its provided interfaces, are derived from the interfaces used by the service's ServiceInterface. These are the opposite of the provided and required interfaces of a Port or Service and indicate the use of a Service rather than a provision of a service. Since the provided and required interfaces are reversed, a request is the use of the service interface - or logically the conjugate type of the provider.
Distinguishing requests and services allows the same ServiceInterface to be used to type both the consumer and provider ports. Any RequestPoint can connect to any ServicePoint as long as their types are compatible. Requisition and Service effectively give Ports a direction indicating whether the capabilities defined by a ServiceInterface are used or provided.
To:
Request
A Request represents a feature of a Participant that is the consumption of a service by one participant provided by others using well defined terms, conditions and interfaces. A Request designates ports that define the connection point through which a Participant meets its needs through the consumption of services provided by others.
Extends Metaclass
· Port
Description
A Request extends Port to specify a feature of a Participant that represents a service the Participant needs and consumes from other participants. The request is defined by a ServiceInterface. It is used by the Participant either through delegation from its parts or through actions in its methods. The request may be connected to a business MotivationalElement to indicate the intended goals the Participant wishes to achieve. There may be constraints associated with the request that define its nonfunctional characteristics or expected qualities of service. This information may be used by potential providers to determine if their service meets the participant's needs.
A Request may include the specification of the value required from another, and the request to obtain value from another. A Request is the visible point at which consumer requests are connected to service providers, and through which they interact in order to produce some real world effect.
A Request may also be viewed as some need or set of related needs required by a consumer Participant and provided by some provider Participants that has some value, or achieves some objective of the connected parties. A Request is distinguished from a simple used Operation in that it may involve a conversation between the parties as specified by some communication protocol that is necessary to meet the needs.
Request extends UML2 Port and changes how provided and required interfaces are interpreted. The capabilities consumed through the Request - its required interfaces - are derived from the interfaces realized by the service's ServiceInterface. The capabilities provided by a consumer in order to use the service - its provided interfaces -- are derived from the interfaces used by the service's ServiceInterface. These are the opposite of the provided and required interfaces of a Port or Service and indicate the use of a Service rather than the provision of a service. Since the provided and required interfaces are reversed, a request is the use of the service interface - or logically the conjugate type of the provider.
Distinguishing requests and services allows the same ServiceInterface to be used to type both the consumer and provider ports. Any Request can connect to any Service as long as their types are compatible. Request and Service effectively give Ports a direction indicating whether the capabilities defined by a ServiceInterface are used or provided.
In section 7.1.24, change the introduction of ServicePoint and its description from:
ServicePoint
A ServicePoint is the offer of a service by one participant to others using well defined terms, conditions and interfaces. A ServicePoint defines the connection point through which a Participant offers its capabilities and provides a service to clients.
Extends Metaclass
· ConnectableElement
Description
A ServicePoint is a mechanism by which a provider Participant makes available services that meet the needs of consumer requests as defined by ServiceInterfaces, Interfaces and ServiceContracts. A ServicePoint is represented by a UML Port on a Participant stereotyped as a "ServicePoint", .
By referencing a service interface a ServicePoint may include the specification of the value offered to another, and the offer to provide value to another. A service port is the visible point at which consumer requests are connected to providers, and through which they interact in order to produce some real world effect.
A ServicePoint may also be viewed as the offer of some service or set of related services provided by a provider Participant and consumed by some consumer Participants that has some value, or achieves some objective of the connected parties. A ServicePoint is distinguished from a simple Operation in that it may involve a conversation between the parties as specified by some communication protocol that is necessary to meet the common objective.
The capabilities provided through the service, its provided interfaces, are derived from the interfaces realized by the service's ServiceInterface and further detained in the service contract. The capabilities required of consumers in order to use the service, its required interfaces, are derived from the interfaces used by the service's ServiceInterface. These are the same as the provided and required interfaces of the Port that is a generalization of ServicePoint.
To:
Service
A Service represents a feature of a Participant that is the offer of a service by one participant to others using well defined terms, conditions and interfaces. A Service designates a Port that defines the connection point through which a Participant offers its capabilities and provides a service to clients.
Extends Metaclass
· Port
Description
A Service extends Port to specify a feature of a Participant that represents a service the Participant provides and offers for consumption by other participants. The service is defined by a ServiceInterface. It is implemented by the Participant either through delegation to its parts or through its methods. The service may be connected to a business MotivationalElement to indicate its intended value proposition. There may be constraints associated with the service that define its nonfunctional characteristics or warranted qualities of service. This information may be used by potential consumers to determine if the service meets their needs.
A Service may include the specification of the value offered to another, and the offer to provide value to another. A Service is the visible point at which consumer requests are connected to providers and through which they interact in order to produce some real world effect.
A Service may also be viewed as the offer of some service or set of related services provided by a provider Participant that, when consumed by some consumer Participants, has some value or achieves some objective of the connected parties. A service is distinguished from a simple Operation in that it may involve a conversation between the parties as specified by some communication protocol that is necessary to meet the common objective.
The capabilities provided through the Service - its provided interfaces - are derived from the interfaces realized by the Service's ServiceInterface and further detained in the service contract. The capabilities required of consumers in order to use the Service -- its required interfaces - are derived from the interfaces used by the Service's ServiceInterface. These are the same as the provided and required interfaces of the Port that is extended by Service.
Change the Semantics section of Service from:
A ServicePoint represents an interaction point through which a providing Participant with capabilities to provide a service interacts with a consuming participant having compatible needs. It represents a part at the end of a ServiceChannel connection and the point through which a provider satisfies a request.
A ServicePoint is typed by an Interface or ServiceInterface that, possibly together with a ServiceContract, completely characterizes specific capabilities of the producing and consuming participants' responsibilities with respect to that service. This includes provided interfaces which designate the capabilities of the Participant through this Service, and the required interfaces which represent what the Participant is requires of consumers in order to use the provided capabilities. It also includes any protocols the providing Participant requires consumers to follow in the use of the capabilities of the Service.
If the type of a ServicePoint is a ServiceInterface, then the Service's provided Interfaces are the Interfaces realized by the ServiceInterface while it's required Interfaces are those used by the ServiceInterface. If the type of a ServicePoint is a simple Interface, then the provided interface is that Interface and there is no required Interface and no protocol. If the ServiceInterface or UML interface typing a service port is defined as a role within a ServiceContract - the service port (and participant) is bound by the semantics and constraints of that service contract.
To:
A Service represents a feature of a Participant through which a providing Participant with capabilities to provide a service interacts with one or more consuming participants having compatible needs. It represents a part at the end of a ServiceChannel connection and the point through which a provider satisfies a request.
A Service is typed by an Interface or ServiceInterface that, possibly together with a ServiceContract, completely characterizes specific capabilities of the producing and consuming participants' responsibilities with respect to that service. This includes provided interfaces which designate the capabilities of the Participant through this Service and the required interfaces which represent what the Participant requires of consumers in order to use the provided capabilities. It also includes any protocols the providing Participant requires consumers to follow in the use of the capabilities of the Service.
If the type of a Service is a ServiceInterface, then the Service's provided Interfaces are the Interfaces realized by the ServiceInterface while it's required Interfaces are those used by the ServiceInterface. If the type of a Service is a simple Interface, then the provided interface is that Interface and there is no required Interface and no protocol. If the ServiceInterface or UML interface typing a Service is defined as a role within a ServiceContract, then the Service (and participant) is bound by the semantics and constraints of that service contract.
In section 7.1.23 ServiceInterface, change the overview from:
Defines the interface to a Service Point or Request Point and is the type of a role in a service contract.
To:
Defines the interface to a Service or Request and is the type of a role in a service contract.
In the description, Change:
Service or Request Point
To:
Service or Request.
In the second paragraph of the description, change;
A Service point or Request point or role
To:
A Service or Request or role in a ServiceContract
After the 4th paragraph, insert the following:
One or more ServiceInterfaces may also be combined in a ServiceContract which can further specify and constrain related services provided and consumed by Participants.
Resolution: Resolved
Actions taken:
Discussion: OASIS SOA Reference Model defines Service as:
A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description. A service is provided by an entity - the service provider - for use by others, but the eventual consumers of the service may not be known to the service provider and may demonstrate uses of the service beyond the scope originally conceived by the
provider.
A service is accessed by means of a service interface (see Section 3.3.1.4), where the interface comprises the specifics of how to access the underlying capabilities. There are no constraints on what constitutes the underlying capability or how access is implemented by the service provider. Thus, the service could carry out its described functionality through one or more a and/or manual processes that themselves could invoke other available services.
TOG SOA Ontology
Service is the core concept of this ontology. It is a concept that is well-understood in practice, but is not easy to define. The ontology is based on the following definition, which was developed by The Open Group Service-Oriented Architecture (SOA) Work Group:
"A service is a logical representation of a repeatable business activity that has a specified outcome (e.g., check customer credit; provide weather data, consolidate drilling reports). It is self-contained, may be composed of other services, and is a "black box" to its consumers."
Other current definitions include:
· "A mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description" (from the [OASIS SOA] Reference Model)
· "A capability offered by one entity or entities to others using well-defined 'terms and conditions' and interfaces" (from the [OMG SoaML] Specification)
Within the normal degree of precision of the English language, these definitions are not contradictory; they are stressing different aspects of the same concept.
A service has a provider, may have multiple consumers, and produces one or more effects (which have value to the consumers). The providers and consumers are actors. The classes and properties corresponding to these concepts are illustrated in Error! Reference source not found.. The Actor class and the provides and consumes properties are defined in Section Error! Reference source not found.. The Effect class and the has effect property are defined in Section Error! Reference source not found.
TOG SOA Reference Architecture
Services themselves have a contract element and functional element. The contract defines what the service does for consumers, while the functional element implements what a service contracts to provide. The service contract is integrated with the underlying functional element through a component which provides a binding. This model addresses services exposing capabilities implemented through legacy assets, new assets, services composed from other services or infrastructure services.
This layer contains software components, each of which provide the implementation or "realization" for a service, or operation on a service; hence the name Service Component. Service components reflect the definition of the service they represent, both in its functionality and its quality of service. They "bind" the service contract to the implementation of the service in the operational systems layer. Service components are hosted in containers which support a service specification.
This layer contains the contracts that bind the provider and consumer. Services are offered by service providers and are consumed by service consumers (service requestors).
SoaML
A service is an offer of value to another through a well defined interface and available to a community (which may be the general public). A service results in work provided to one by another.
Fred Cummins's expanded definition:
A dictionary style definition:
Service (noun) 1a:The work or action performed by one that serves <gives good and quick ~> (Webster), b: the occurrence of work or action provided to a particular consumer <provided a ~>. 2a: a facility supplying some public demand <a bus ~> (Webster), b: organizational entity that offers the capability to perform defined types of work or action for consumers <an accounting ~>.
An expanded explanation:
1a: The work or action performed by one that serves <gives good and quick ~> (Webster).
This refers to the value delivered by a service provider without reference to a particular consumer or performance of the work or action. So we may say John provides a shoe repair service, something that he does over and over again.
1b: the occurrence of a unit of work or action provided to a particular consumer <provided a ~>.
This refers to work or action provided (or intended to be provided) to a specific consumer. So we may say Jane received a service from John when he repaired her shoes. Note that Jane may return with another pair of shoes for another shoe repair service.
2a: a facility supplying some public demand <a bus ~> (Webster).
This refers to a capability to perform a type of work or action. We may refer to a bus service (defines a capability typical of metropolitan areas), or the bus service of Detroit.
2b: organizational entity that offers the capability to perform defined types of work or action for consumers <an accounting ~> Syn provider, service unit.
All of these definitions of Service are reasonably consistent although each tends to abstract some concepts of service and illuminate others. However, these definitions often don't distinguish between the definition of a service, the provision and use of services by participants, and the activities used to carryout the service. These are all considered different aspects of service and are reflected in the different definitions Fred provided above. The OpenGroup SOA Ontology mixes all three together in its definition of service as a kind of activity that is provided and consumed by actors. This has the odd characteristic that the consumer of a service is explicitly coupled to how the provider performs the service as they are one and the same. TOG SOA Ontology also does not distinguish between class an instance for Actor or Activity, rather it relies the difference being clear from the context. This may be sufficient for an Ontology, but doesn't work well in a metamodel or runtime environment where classes and instances, and definitions and usages of activities are very different. A key point the SOA Ontology does make is that each service can only be provided by a single actor. Another actor can provide a service defined by the same service interface, but that is considered a different service. This distinction highlights the idea that services exist in the context of actors that provide and consume them, and that existence is separate from the interfaces that define the service. There is ongoing discussion with the OpenGroup to also separate service from the activities that carry them out in order to further decouple the actors.
These various definitions are also consistent with the definition of ServicPoint and RequestPoint in SoaML where they emphasize the actual service provided by one participant and consumed by another rather than the definition of the service, or the actual activities used to carry it out. However, in the context of an SOA, the architecture is not determined by either the definition of the services, or the activities used to carryout the services. Rather the architecture is primarily established by the services that participants provide and consume, and how they are connected together to do so in order to provide the services, exchange the value, accomplish goals, etc. As a result, ServicePoint and RequestPoint should be renamed to Service and Request in order to be more consistent with other standards, to highlight the important aspect of participants providing and consuming services, and to simplify the profile.
In summary:
(Note: this summary text, along with the text in the "Port Direction & Design Pattern Issues" of ballot-2 (issues 13332, 13334, 13338, 13545, and 13725) has been included in the update to section 7 SoaML UML Profile Specification, subsection Executive Overview in response to issue 13189).
A Service is a feature of a Participant that represents work, information, or action the Participant offers to other Participants, is capable of performing on their behalf, having some specified outcome or real-world effect, and potentially involving an exchange of value.
The definition/specification of, or interface to a service is specified by a ServiceInterface which defines the operations, events, information and interaction protocols that are involved in the service. Participants providing the service are expected to perform the service as specified by the ServiceInterface and Participants consuming the service are expected to use the service as specified by the ServiceInteface.
One or more ServiceInterfaces may also be combined in a ServiceContract which can further specify and constrain related services provided and consumed by Participants.
A Participant provides a service through a "Service" Port and consumes service through a "Request" Port. Service and request ports define the features representing services provided and consumed by participants and provide a mechanism to enable access to those services as defined by their service interfaces.
Interactions between service and request ports occur over a ServiceChannel in a manner consistent with protocols, constraints and policies as specified by the service interfaces.
A Participant implements its provided services either through delegation to its parts representing capabilities or resources required to perform the service or other participants having the required capabilities and resources, through requests for services from others, through the methods of the service operations, or through actions that respond to received events. The implementation of the service must be consistent with the operations, protocols and constraints of specified by the ServiceInterface.
Issue 14226: SOAML: Provide icons for some SoaML stereotypes (soaml-ftf)
Click here for this issue's archive.
Click here for this issue's attachments.
Source: International Business Machines (Mr. Gary Johnston, gjohnsto(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary: would like to raise the following as an issue for consideration by the SoaML folks: SoaML should provide icons for some of its stereotypes in addition to the keywords themselves. This would enable tools that can utilize profile-provided icons to display SoaML stereotyped elements distinctly and would help avoid tool providers making up their own (likely different) icons. The attached ZIP file contains an HTML page with a table that shows suggestions. Corresponding (and appropriately larger) shape images (not included herein) should also be included.
Resolution:
The following icons were provided by IBM.
Stereotype Icon Comments
Agent Like Component decorated with a small Actor-like figure.
Capability Like Class decorated with a small "ring for service" figure.
Participant Like Component decorated with a small "ring for service" figure.
Request Like Port extended on the right with a lollipop that suggests "requires".
Service Like Port extended on the left with a lollipop that suggests "provides".
ServiceContract Intended to suggest a contract decorated with a small "ring for service" figure.
ServicesArchitecture Like Collaboration decorated with a small "ring for service" figure.
Revised Text: see pages 113 - 115 of ptc/2009-12-08 for details
Actions taken:
August 27, 2009: received issue
April 26, 2010: closed issue
Issue 14229: SoaML: Milestone::value has inconsistent multiplicity (soaml-ftf)
Click here for this issue's archive.
Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary: The multiplicity for Milestone::value is [*] in figure 20 and [0..1] in the Associations subsection of 7.1.14. Which is it?
Resolution:
Revised Text: In section 7.1.15 Milestone, change the value attribute from:
· value: Expression [0..1] Arguments of the signal when the Milestone is reached.
to:
· value: Expression [*] Arguments of the signal when the Milestone is reached.
Actions taken:
August 27, 2009: received issue
April 26, 2010: closed issue
Issue 14230: SoaML: Examples in Annex B and Annex C need to be updated (soaml-ftf)
Click here for this issue's archive.
Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary: These sections do not reflect changes that were adopted in FTF ballots.
Resolution: These sections non-normative and duplicate other information that is in the specification. They are included to provide a more complete, end-to-end example in one place.
Revised Text: As an editorial change Annex B Examples is updated to reflect the results of the ballot. This only involves text and diagram updates for ServicePoint and RequestPoint rename to Service and Request.
Actions taken:
August 27, 2009: received issue
April 26, 2010: closed issue
Issue 14440: There is no convenient way to summarize what services a participant produces and consumes (soaml-ftf)
Click here for this issue's archive.
Source: International Business Machines (Mr. Jim Amsden, jamsden(at)us.ibm.com)
Nature: Uncategorized Issue
Severity:
Summary: SoaML uses service and request ports to indicate what services a participant provides and consumes. But many other SOA modeling approaches such as Archimate, TOGT SOA Reference Architecture, and the IBM SOMA method show more summary views indicating components that realize and use services without indicating the details of what port the service is actually provided or consumed on.
UML2 derives the provided and required interfaces of a component from the interfaces the component realizes and uses directly, as well as the ones it realizes and uses indirectly through the types of its owned ports. SoaML should extend this to include provided and required services based on service and request ports typed by a ServiceInterface. It should be possible to view the Participant as realizing the provided ServiceInterfaces and using the required ServiceInterfaces to provide a high-level overview of the relationship between the definition of a service and the compoents that provide and consume them.
Resolution: The relationship between port types, ports and encapsulated classifiers is under discussion for future changes in UML. SoaML should not introduce modeling notation extensions that may create additional confusion or result in possible inconsistencies.
These high-level overviews can also be supported using Capabilities.
Discussion:
Actions taken: Closed, no change
Revised Text:
Actions taken:
September 30, 2009: received issue
April 26, 2010: closed issue
Discussion:
Issue 14922: Title: Figure 95 uses instance keyword instead of part (soaml-ftf)
Click here for this issue's archive.
Source: NIST (Mr. Conrad Bock, conrad.bock(at)nist.gov)
Nature: Revision
Severity: Minor
Summary: Figure 95 uses instance keyword, which isn't defined in UML. The
figure isn't explained well, but perhaps it could use the part
keyword, or extend UML with a port keyword
Resolution:
Revised Text:
Actions taken:
January 6, 2010: received issue
Issue 14923: Figure 95 extends activity execution semantics (soaml-ftf)
Click here for this issue's archive.
Source: NIST (Mr. Conrad Bock, conrad.bock(at)nist.gov)
Nature: Revision
Severity: Significant
Summary: Figure 95 isn't explained very well, but from other conversations it
seems to assume the runtime target of invocation actions can be derived
from the the partition. While port/part partitions require the target
input of invocation actions to be the runtime value of a specific
property represented by the partition, they do not have the execution
semantics to assign the value. This could be described in soaML as an
extension of UML semantics. Probably affected by next issue.
Resolution:
Revised Text:
Actions taken:
January 6, 2010: received issue
Issue 14924: Figure 95 uses UML ports without UML semantics (soaml-ftf)
Click here for this issue's archive.
Source: NIST (Mr. Conrad Bock, conrad.bock(at)nist.gov)
Nature: Revision
Severity: Significant
Summary: Figure 95 isn't explained very well, but from other conversations it
seems to assume partitions representing ports have (references to)
external objects as runtime values, where the external objects are the
ones at the other end of the connector coming into the port from
outside. This is assumed so the invocation actions can send these
external objects operation calls based on the partitions they are in (
the partitions represent port properties, which means the runtime value
of the ports must be the runtime input values of invocation actions in
the partition).
However, ports are composite properties, see constraint [2] on ports,
which means external objects that are values of ports would be deleted
with when the runtime owner of the port is. For example, deleting a
buyer object would delete the seller object at runtime. In addition,
it would be a very rare user of UML that would assume an externally
connected port connector had as its value the object at the other end
of the connector. This is very far from UML, with significant
unintended consequences.
soaML could define an extension of UML for port partitions to give the
semantics of InvocationAction:onPort with input pin targeting "self".
Then the operation calls would go through the port represented by the
partition to the external object.
Resolution:
Revised Text:
Actions taken:
January 6, 2010: received issue