Issues for Product Data Management (PDM) RTF 1.4 discussion list

To comment on any of these issues, send email to pdm-rtf@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)

List options: All ; Open Issues only; or Closed Issues only

Issue 1547: Engineering change document needed
Issue 1549: Provide Data Dictionary
Issue 1550: Need capability to return list Generalized Find (Query) capabilities
Issue 1551: Modularity
Issue 1553: How should PDM relate to Workflow?
Issue 1557: DesignMakeFrom relationship, and DMFR Substitute
Issue 1558: How do PDM Enablers accommodate Alternate/Substitute Part ranking?
Issue 1559: How are models accommodated in PDM Enablers?
Issue 1561: PDM_Image and PDM_Markup
Issue 1563: Structured Documentation Capability provided?
Issue 1564: specific queries
Issue 1565: How do PDM Enablesr identify specific part not knowing specific context
Issue 1566: Can client be written to retrieve a part from multiple PDM systems?
Issue 1567: Are contexts meant to be the same across PDM Systems?
Issue 1568: How are defaults to be specified?
Issue 1569: How are argument formats for a query to be specified?
Issue 1570: Default for all systems needed
Issue 1571: How does a PDM Enabler server expect the format of wild cards?
Issue 1575: PersonOrganization relastionship -- IDL problem
Issue 1576: PersonOrganization Issue
Issue 1917: ISSUE #17 REF: 1.14.2.1.5 Versioning
Issue 1919: 1.14.2.2.1 management of STEP Data
Issue 2112: There are some bugs in the AssemblyComponentUsage
Issue 2159: There is no way to find or navigate to a PdmDocumentManagement::Vault inte
Issue 2246: Subprocesses in section 1.12.7 and 1.12.9, that have been addressed by 2.9
Issue 2439: Make certain ConfigurationManagement interfaces Documentable
Issue 2485: PDM Enablers file locking behavior
Issue 2622: PDM Enablers - cannot determine client type for file transfer
Issue 2874: PDM RTF Issue - The Identifiable interface should raise InvalidProperties
Issue 3084: Session Management
Issue 3085: Authentication
Issue 3087: Workflow
Issue 3088: Factory Finder Conventions
Issue 3089: IdentificationContext Conventions
Issue 3154: PdmContext is insufficient as a TraversalCriteria
Issue 3155: PdmContext is insufficient as a TraversalCriteria
Issue 3309: Factories for non-abstract subtypes of Qualification
Issue 3310: Factories to non-abstract subtypes of Effectivity
Issue 3312: ViewQualification is abstract
Issue 3755: PdmFoundation Model (page 2-26)
Issue 3756: Some wording - the last paragraph on page 2-34 is wrong
Issue 3757: PdmFramework Entity Model (page 2-51)
Issue 3758: PdmViews Model (page 2-79)
Issue 3759: PdmDocumentManagement (page 2-93)
Issue 3760: PdmChangeManagement (page 2-150)
Issue 3761: PdmChangeManagement (page 2-150)
Issue 3804: addition of two exceptions to CosGraphs::Node::add_role().
Issue 3992: PdmFoundation.idl version 1.3, dtc/00-10-01
Issue 4026: move Qualifiable up to EngChangeItem.
Issue 4028: allow Documentable to point to a DocumentRevision or a DocumentMaster.
Issue 4082: Interactions to be specified
Issue 4129: missing attribute in the IDL
Issue 4130: "interface repository name" is an undefined term.
Issue 4145: make_buy missing in IDL
Issue 4146: was/is relationships to The EngChangeAffectedData relationship
Issue 4147: ObjectChangeNotification models the "is"
Issue 4162: Is Transactionable still needed?
Issue 4163: Provide an ID when creating an object
Issue 4185: Should all PDM Enablers IDL files begin with #pragma prefix "omg.org"

Issue 1547: Engineering change document needed (pdm-rtf)

Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: 2. PDM Enablers shall support the need for a relationship between an Engineering Change and a Document describing the Engineering Change.  In many Boeing systems today, the Engineering Change is written in the form of a document (this may be a hardcopy of a document or an image of a document).  For future processes, the Document Object may still provide for electronic Engineering Change Forms.

Resolution: Resolved by Issue 1744
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1549: Provide Data Dictionary (pdm-rtf)

Click
here for this issue's archive.
Nature: Revision
Severity:
Summary:
Summary: Provide Data Dictionary for PDM Enabler Objects/Attributes

Resolution: The PDM Enablers is an interface specification and provides a standard mechanism to access PDM data
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1550: Need capability to return list Generalized Find (Query) capabilities (pdm-rtf)

Click
here for this issue's archive.
Nature: Revision
Severity:
Summary:
Summary: 1.10.2.4 Query Service.   Find operation only returns one object, cannot return a list. Need capability to return list. Generalized Find (Query) capabilities.

Resolution: Based on clarification from the submitter, it was determined that the Find in question is actually
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1551: Modularity (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: Encourage modularity.  Request PDM Enablers move in the direction of Modular Functions as the Maturity Model is developed.  Convenience Function = Function

Resolution: Issue asks for no specific change
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1553: How should PDM relate to Workflow? (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: How should PDM relate to Workflow?

Resolution: Resolved in Issue 2248
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1557: DesignMakeFrom relationship, and DMFR Substitute (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: How do PDM Enablers accommodate Design MakeFrom Relationship (DMFR), and DMFR Substitute?

Resolution: Accepted: Add MakeFromUsage relationship with quantity attribute inheriting from Usage Relationship
Revised Text: 1. In UML model 2.7.2 add new interface MakeFromUsage which inherits from Usage. The MakeFromUsage has one attribute quantity of type Measurement.
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1558: How do PDM Enablers accommodate Alternate/Substitute Part ranking? (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: How do PDM Enablers accommodate Alternate/Substitute Part Ranking?

Resolution: The PDM Enablers place no requirements on ranking alternate or subsitute parts. If an alternate or
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1559: How are models accommodated in PDM Enablers? (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: How are Models accommodated in PDM Enablers (Treated as Document to Part Relationship)?

Resolution: Same as Issue 1554
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1561: PDM_Image and PDM_Markup (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: How do we handle PDM_Image and PDM_Markup in PDMEnablers?

Resolution: Out of scope extension which are not modeled by the current specification. However these may be han
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1563: Structured Documentation Capability provided? (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: Do PDM Enablers provide Structured Documentation Capability (e.g. Worldview, Document references chapters or paragraphs

Resolution: The PDM Enabler provides basic document function such as create, delete and also simple structures
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1564: specific queries (pdm-rtf)

Click
here for this issue's archive.
Nature: Clarification
Severity: Minor
Summary:
Summary: 1.10.2.4 Query Service.    How do PDM Enablers provide a list of parts which meet a specific query, not knowing the context?

Resolution: The PDM Enablers define that the Query Service, defined in Chapter 11 of the CORBA COS services, sh
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1565: How do PDM Enablesr identify specific part not knowing specific context (pdm-rtf)

Click
here for this issue's archive.
Nature: Clarification
Severity: Minor
Summary:
Summary: 2.2.3.5 IdentificationContext.     How do PDM Enablers identify a specific part without knowing a specific context?

Resolution: The client must specify the id context as every id applies to a particular context, even if the use
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1566: Can client be written to retrieve a part from multiple PDM systems? (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: Can a client be written to retrieve a part from multiple PDM systems

Resolution: Yes. A single client can be coded to obtain IdentificationContextFactory objects from separate PDM
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1567: Are contexts meant to be the same across PDM Systems? (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: Are contexts meant to be the same across PDM Systems?

Resolution: Contexts are expected to have similar semantics regardless of which PDM system is being used, howev
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1568: How are defaults to be specified? (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity: Minor
Summary:
Summary: 1.10.2.4 Query Service ??.    How are defaults to be specified? With capital "D", ("Default"); With lower case "d" ("default"); Other?

Resolution: Not sure if the question is understood, but the PDM Enablers does not define or describe the use of
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1569: How are argument formats for a query to be specified? (pdm-rtf)

Click
here for this issue's archive.
Nature: Clarification
Severity: Minor
Summary:
Summary: 1.10.2.4 Query Service.     How are argument formats for a query to be specified?

Resolution: Defer to PDM implementers. This is an implementation specific question for the systems that impleme
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1570: Default for all systems needed (pdm-rtf)

Click
here for this issue's archive.
Nature: Enhancement
Severity: Minor
Summary:
Summary: 1.10.2.4 Query Service.    At least one default that all systems can use to perform query or search is requested/needed.

Resolution: It"s believed this issue is referring to a default Identification Context. See 1565 for resolution
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1571: How does a PDM Enabler server expect the format of wild cards? (pdm-rtf)

Click
here for this issue's archive.
Nature: Clarification
Severity: Minor
Summary:
Summary: 1.10.2.4 Query Service.    How does a PDM Enabler server expect the format of wild cards? (Review CORBA Query Service)

Resolution: By using a very general model and by using predicates to deal with queries, the Query Service is de
Revised Text:
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1575: PersonOrganization relastionship -- IDL problem (pdm-rtf)

Click
here for this issue's archive.
Nature: Revision
Severity: Minor
Summary:
Summary: 2.1.3.7 PersonOrganization.    The IDL says that the PersonOrganization relationship has anattribute called "role". The picture of the IDL shows that there are noattributes in this relationship. The other relationship in this module(ProgramOwner) does not have any attributes. Also there is no correction toeither of these interfaces in the errata. Should I believe the IDL pictureor the text?

Resolution: The IDL for PersonOrganization is correct and the "role" attribute should be included in the UML.
Revised Text: Update the UML in 2.1.2 so that the PersonOrganization object includes the attribute "role : string".
Actions taken:
June 24, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1576: PersonOrganization Issue (pdm-rtf)

Click
here for this issue's archive.
Nature: Revision
Severity: Minor
Summary:
Summary: 2.1.3.7 PersonOrganization.   The IDL says that the PersonOrganization relationship has anattribute called "role". The picture of the IDL shows that there are noattributes in this relationship. The other relationship in this module(ProgramOwner) does not have any attributes. Also there is no correction toeither of these interfaces in the errata. Should I believe the IDL pictureor the text?

Resolution: Duplicate of OMG issue 1575
Revised Text:
Actions taken:
June 24, 1998: received issue
September 20, 1999: closed issue

Discussion:


Issue 1917: ISSUE #17 REF: 1.14.2.1.5 Versioning (pdm-rtf)

Click
here for this issue's archive.
Nature: Revision
Severity:
Summary:
Summary: A formal definition of version and release is needed here and elsewhere within this document. The terms version and revision seem to be used interchangably in different parts of the document.

Resolution: In Section 1.14.2.1.5 the term "Version" and "Versioning", and "Release" are used in their general,
Revised Text:
Actions taken:
August 31, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 1919: 1.14.2.2.1 management of STEP Data (pdm-rtf)

Click
here for this issue's archive.
Nature: Revision
Severity:
Summary:
Summary: 
 ISSUE #19 REF: 1.14.2.2.1	Management of STEP Data
 
 STEP-compliant data can be managed by the PDM system in the same fashion as proprietary files. The STEP files provide standardized domain-specific semantics (having removed the closed, proprietary nature) that provide the potential for a broad range of tools to understand the file.
 
 This could be an improvement over the neutral image strategies currently in use.

Resolution: 1.14.2.2.1 Management of STEP Data
Revised Text:
Actions taken:
August 31, 1998: received issue
August 24, 1999: closed issue

Discussion:
 This recommended addition is an opinion that adds nothing to the purpose of the section.


Issue 2112: There are some bugs in the AssemblyComponentUsage (pdm-rtf)

Click
here for this issue's archive.
Nature: Revision
Severity: Significant
Summary:
Summary: There are some bugs in the AssemblyComponentUsage specification and the IDL
 in 2.7.4 differs from the description in 2.7.3.2:
    
    
 2.7.3.2 AssemblyComponentUsage
 2.7.4 PdmProductStructureDefinition IDLP

Resolution:
Revised Text:
Actions taken:
October 21, 1998: received issue
August 24, 1999: closed issue

Discussion:
 IDL in 2.7.3.2 will be corrected; IDL in 2.7.4 is correct (although misformatted).


Issue 2159: There is no way to find or navigate to a PdmDocumentManagement::Vault inte (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: 
 There is no way to find or navigate to a PdmDocumentManagement::Vault interface.
 
 The Vault interface does not inherit the CosGraphs::Node interface, which would allow clients to navigate to the Vault containing a SecuredFile.
 
 In addition, there is no interface to allow one to find a Vault given its id.  A find operation could be added to the SecuredFileFactory interface to provide this capability.  Since a Vault is an administrative object of the PDM system rather than an item managed by the PDM system, it is probably not appropriate to make it a ManagedEntity or Identifiable interface.
 

Resolution: :Vault interface.
Revised Text:
Actions taken:
November 2, 1998: received issue
August 24, 1999: closed issue

Discussion:


Issue 2246: Subprocesses in section 1.12.7 and 1.12.9, that have been addressed by 2.9 (pdm-rtf)

Click
here for this issue's archive.
Nature:
Severity:
Summary:
Summary: "Section 1.12.7 and Section  1.12.9 should be modified to clarify that the following sub-processes are addressed by section 2.9.3.17:
   Coordinate Design Change:  Notify required team members
   Coordinate Design Change:  Notify design change across all products
   Implement Product Changes:  Alert Change"
 
 

Resolution: Notify required team members
Revised Text: Notify design change across all products
Actions taken:
December 7, 1998: received issue
August 24, 1999: closed issue

Discussion:
 Section 1.12.7 and Section  1.12.9 should be modified to clarify that the following sub-processes ar


Issue 2439: Make certain ConfigurationManagement interfaces Documentable (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: Problem:  The following ConfigurationManagement interfaces inherit
 from Manageable, but do not support attached Document descriptions:
 ProductClass, SpecificationCategory, Specification, ProductComponent,
 ProductFunction.  The descriptive string may be insufficient to 
 document these properly, and may be subject to controlled revision.
 Therefore, these interfaces should be Documentable.  The simplest 
 solution is to change the inheritance from Manageable to ManagedEntity.
 

Resolution:
Revised Text:
Actions taken:
February 4, 1999: received issue
August 24, 1999: closed issue

Discussion:


Issue 2485: PDM Enablers file locking behavior (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: The PDM Enablers convenience document mfg/98-02-02, section 2.6.1,
 "PdmDocumentManagement Overview," explains checkin/checkout as follows:
 
     To perform a checkout, the client would first lock the file using the
     lock() operation.  The client then transfers the file"s contents from
     the PDM server to it"s file system.  To perform a checkin, the client
     creates a new DocumentIteration.  It then creates a new File,
     associates it with the DocumentIteration, transfers the contents of the
     file from the client to the PDM server.  Lastly, it unlocks the file.
 
 If every checkin creates a new DocumentIteration, then it follows that I
 would never actually change a File once it has been uploaded, because that
 would be an untracked change, and untracked changes are always bad and
 evil.  So I don"t know why I"d ever need to lock a File.
 

Resolution:
Revised Text: In section 7.3.14, a. Delete the paragraph below figure 7-2: "On completion of the transfer, the client unlocks the file to complete the checkin process." b. In figure 7-2, change the title to "Send File Interaction Diagram"; replace "file.checkin" with "file.send"; and delete step 6. c. In figure 7-3, change the title to "Fetch File Interaction Diagram"; replace "file.checkout" with "file.fetch"; and delete step 2.
Actions taken:
February 22, 1999: received issue
October 10, 2000: issue deferred
August 15, 2001: partly accepted
April 26, 2010: closed issue

Discussion:
After initial investigation, the RTF has found that an adequate description of locking, check in, and check out requires additional analysis and more time. Resolution:

Locking has nothing to do with Files.  The diagrams in 7.3.14 incorrectly include lock and unlock operations.  The text and diagrams of 7.3.14 should be restricted to the expected sequences for data transfer.

There are two separate issues that might be addressed.  
What exactly does Lock do on various things? After initial investigation, the RTF has found that an adequate description of locking, check in, and check out requires additional analysis and more time.  

Give an example of checkin and checkout?  This is very business process dependent, and should be only in a tutorial document.  No version can be normative, and we don't want to give a false impression.


Issue 2622: PDM Enablers - cannot determine client type for file transfer (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: In the PdmDocumentManagement module, the SecuredFile interface defines operations begin_put_buffer and begin_get_buffer to initiate file content transfers.  Each of these operation has a transfer_encoding parameter to determine whther the transfer should proceed in a straight "binary" mode, or in an "8-bit" character/text mode.  In 8-bit mode, between UNIX and MS Windows machines, the buffer transfer operations should adjust the end-of-line CR/LF bytes in the file according to the platform conventions.  However, there is no defined way for the server to know what type of platform the client is.
 
 The begin_put_buffer and begin_get_buffer operations should have a parameter to tell the server what type of platform the client is.
 

Resolution: resolved by 1.2 RTF
Revised Text: PdmProductStructureDefinition::PartMaster::part_type and part_classification: it is unclear what to do if a part has multiple classes or just doesn't mesh with AP203. Recommend clarifying and generalizing the definitions to support AP210 and 214. Resolution: The STEP AP203-specific value restrictions are removed from the specification. Values of these fields must be general enough to support a variety of information models, depending on the PDM system implementation and business rules. Revised Text: Replace the attribute descriptions in the table in 2.7.3.10 PartMaster with following: part_type Indicates the type of the part. Meaning and valid values may be determined by the site's business rules or by reference to another information model standard, such as a STEP application protocol. part_classification Provides a way to classify the part. Meaning and valid values may be determined by the site's business rules or by reference to another information model standard, such as a STEP application protocol.
Actions taken:
April 27, 1999: received issue
April 27, 1999: received issue
May 4, 2000: closed issue

Discussion:


Issue 2874: PDM RTF Issue - The Identifiable interface should raise InvalidProperties (pdm-rtf)

Click
here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary:
Summary: Identifiable interfaces should be able to raise InvalidProperties exceptions.
 
 The PdmFoundation operations Identifiable::change_id and IdentificationContext::generate_id both take a property_set parameter but, unlike other operations that use PropertySets, they are not defined to raise the InvalidProperties exception.
 
 This is a minor issue.  In the interim, implementations can raise the ValidationError exception if the property_set is invalid.
 

Resolution: resolved in 1.2 RTF
Revised Text: :change_id and IdentificationContext::generate_id both take a property_set parameter but, unlike other operations that use PropertySets, they are not defined to raise the InvalidProperties exception.
Actions taken:
September 1, 1999: received issue
May 4, 2000: closed issue

Discussion:
Add InvalidProperties exceptions as suggested.
Revised Text:
In the IDL in section 2.2.3.4 Identifiable, and in section 2.2.4 PdmFoundation IDL, add the InvalidProperties exception to the raises clause of the change_id operation.

In the IDL in section 2.2.3.5 IdenticationContext, and in section 2.2.4 PdmFoundation IDL, add the InvalidProperties exception to the raises clause of the generate_id operation.


Issue 3084: Session Management (pdm-rtf)

Click
here for this issue's archive.
Source: Hewlett-Packard (Mr. Duane Silkworth, nobody)
Nature: Uncategorized Issue
Severity:
Summary:
The PDM Enablers does not specify how the client should obtain the initial PDM System interface.   The specification should detail how the implementation should register objects with the Naming Service and how clients should use them to find the PdmSystem object.

Resolution: This issue was referred to RFP, and is addressed in the PDM Enablers v2 revised proposal.
Revised Text:
Actions taken:
November 29, 1999: received issue
October 10, 2000: issue deferred
April 26, 2010: closed issue

Discussion:
There are at least two possible approaches:
1)	register a different object, with a login operation, say PdmLogin::login(un,pw), which returns a PdmSystem for that user's session.
2)	(preferred) Register the PdmSystem object with the name service, and require separate authentication compatible with the CORBA Security Service.  This solution is interrelated with Issue 3085 Authentication.

The resolution of this issue is deferred until there is a resolution to Issue 3085.


Issue 3085: Authentication (pdm-rtf)

Click
here for this issue's archive.
Source: Hewlett-Packard (Mr. Duane Silkworth, nobody)
Nature: Uncategorized Issue
Severity:
Summary:
The PDM Enablers specification does not specify interfaces to log into the PDM system and authenticate the user.  The Security service has appropriate interfaces.  The PDM Enablers specification should specify details for how the server and client should use the security service interfaces to authenticate the user with the PDM system.

Resolution: see below
Revised Text: Replace the text of the Security Services subsection of D.1.1 with: The Common Secure Interoperability Services v2 specification provides a standard set of services and interfaces that can be used to implement secure operations. These services can be applied to objects without requiring any security specific constructs in their IDL. Therefore, a PDM system that implements the PDM enabler modules may transparently support secure operations via the standard services, but such use is not required for conformance with this specification. There is no requirement that a PDM Enablers implementation support any security policies, procedures or methods. Security in terms of access control is a critical requirement for PDM operations, but it is not addressed by specific facilities in this specification. PDM systems typically provide for many access controls within the system and its information bases. But the relationship between the objects exposed by the PDM Enablers and the objects controlled within the PDM system is subject to complex mappings within the implementation. And thus the relationship between interface- or operation-based access controls and PDM system access controls is not readily specifiable. From Common Secure Interoperability Services: An active entity must establish its rights to access objects in the system. It must either be a principal, or a client acting on behalf of a principal. A principal is a human user or system entity that is registered in and authentic to the system. This security requirement correctly characterizes the basic requirement for access control in PDM systems. Thus any object that uses or accesses a PDM object must be a principal or a client acting on behalf of a principal, to form the basis for local access control in the PDM system. It follows that any object that invokes a PDM Enablers operation must be identifiable with a principal, in order to form the basis for the local access control mapping and for security delegation considerations in a "distributed PDM" environment. When a PDM Enablers implementation is built with software supporting the Common Secure Interoperability Services v2 specification, the PDM Enablers implementation should use those services to authenticate clients (as acting on behalf of principals) and use those authentications in enforcing the PDM access rules. In general, the level 1 capability to interrogate Credentials and determine client identity should be considered the common interoperable base, and the PDM Enablers implementation should use the identity with internal PDM user profiles to determine local access rights. But more extensive use of CSI services may be needed for "distributed PDM" applications. This edition of the PDM Enablers does not specify any explicit credentials or credential requirements. When support for the Common Secure Interoperability Services is not in place, the PDM Enablers implementation must provide its own interfaces to authenticate its clients, as a basis for enforcement of its access rules. This edition of the PDM Enablers does not specify any PDM-specific interfaces for authentication or privilege requests. When secure interfaces at the exposed object level are required in a given implementation environment, all objects are potentially sensitive and all operations may be subject to security policy control. The object implementations will need to be security aware and to pass on security credentials when issuing requests to other objects in the distributed system. Default policies for security sensitive objects are not defined in this specification and there are no special security considerations introduced. Relative to the CSI Access Control Model, there are two important parts to the Access Control Model, the object invocation access policy and the application access policy. The object invocation access policy is outside the scope of this specification. However, for the object invocation access policy to work there must be access control attributes on the object and access rights associated with the principal or the acting client or intermediary. This specification does not specify any PDM-specific access rights or requirements for access controls or access rights. The application access policy could be inside the scope of this specification, and no policy is specified or required. The various implementations of this standard should provide whatever application access policy is needed for their customers and market. This specification does not list any required application security relevant events. The various implementations of this standard should provide whatever security relevant events are needed for their customers and market. Relative to the CSI Delegation models, the PDM Enabler objects may be "intermediate" objects in an operation subject to security controls. As intermediate objects the PDM Enabler objects should be able to support at least combined privilege delegation and in higher accountability situations the PDM Enabler objects should support traced delegation. This specification does not require PDM Enabler objects to support any delegation. Relative to Non-repudiation, as long as a PDM Enabler objects reside within a single security domain, the need for non-repudiation is usually low. When access to PDM enabler objects happen across security domains (which is also across business domains in most cases), then non-repudiation services may be required. Per CSI, such non-repudiation services are under control of the applications. The need for non-repudiation services is defined by the specific application situation, therefore this specification does not mandate the use of any non-repudiation services. Relative to Security Domains, PDM Enabler objects may have several hierarchical levels. This specification assumes that a PDM Enablers implementation tied to a single PDM system and all its clients operate in a single security policy domain. But when a PDM Enablers implementation is operating in a "distributed PDM" environment, multiple security domains may be present. This, and other aspects of "distributed PDM" systems, were not studied extensively in developing this edition of this specification, and are expected to be the subject of future editions. This specification does not mandate that all the objects involved within a PDM Enabler implementation exist within the same security policy domain.
Actions taken:
November 29, 1999: received issue
October 10, 2000: issue deferred
August 15, 2001: partly accepted
April 26, 2010: closed issue

Discussion:
A PDM Enablers implementation may be built or used with a secure ORB supporting the CORBA Security Services specification.  If so, the PDM system should use the security services to authenticate users and check credentials in order to enforce its access rules.

In the case in which a secure ORB is not in place, the PDM system implementation must provide its own interfaces and implementations to authenticate its users and enforce its access rules.  So that arbitrary PDM Enablers clients can expect a consistent interface to their services, it is recommended that such implementations provide and use interfaces that are consistent with the form of the Security Services interfaces, even if they provide no claim of security.

However, until a working test or prototype has been implemented and verified to work, it is premature to revise the formal specification.  The final resolution of this issue is deferred.
Resolution:
A PDM Enablers implementation may be built or used with a secure ORB supporting the Common Secure Interoperability Services v2 specification.  If so, the PDM system should use the security services to authenticate users and check credentials in order to enforce its access rules.  

In the case in which a secure ORB is not in place, the PDM system implementation must provide its own interfaces and implementations to authenticate its users and enforce its access rules.  

The use of PDM Enablers with Common Secure Interoperability Services v2 is addressed in the revised text.  However, the larger issue was referred to RFP, and is addressed in the PDM Enablers v2 revised proposal.


Issue 3087: Workflow (pdm-rtf)

Click
here for this issue's archive.
Source: Hewlett-Packard (Mr. Duane Silkworth, nobody)
Nature: Uncategorized Issue
Severity:
Summary:
Several commercial PDM systems include workflow capabilities.  The PDM Enablers specification discusses generally, but does not specify in detail how the interfaces of the Workflow Management Facility interact with the PDM Enablers interfaces.  This should be discussed in more detail.

Resolution: see above
Revised Text: 1. Update Section 4.3.1, PdmSystem, and all other copies of the PdmSystem IDL to add the operation WorkflowModel::WfRequester get_workflow_listener (). 2. In 4.3.1, add the following description of the new operation: get_workflow_listener If the PDM supports integration with products supporting the OMG Workflow standard, the get_workflow_listener operation shall return the object that the client should provide to the Workflow system when creating a new Workflow process. See Section D.1.3, Workflow, for details. If the PDM does not support direct integration with Workflow services, the exception CORBA::NO_IMPLEMENT shall be thrown. 3. Replace the entirety of Section D.1.3, Workflow, with the following: D.1.3 Workflow Workflow services are an important aspect of fully functional PDM solution. The OMG Workflow specification and the PDM Enablers are complementary. The PDM Enablers provides the repository for information (even multiple versions) and Workflow provides the Process to dynamically change the information. The PDM Enablers do not provide support for approval or signoff. Approval and signoff are only meaningful in the context of a business process or workflow definition that defines the purpose or stage for which the item is approved or signed off. Historical tracking information relating the persons, stages, and dispositions of items in an approval process is the responsibility of workflow services, which can operate in a manner that includes history for other actions in addition to approval/signoff. It is possible that the implementation supplying the PDM Enablers interface and the implementation supplying the Workflow interface could be one and the same system. In this case, the interactions between PDM Enablers and Workflow need not be exposed, because they are effectively defined within the PDM system. However, in the event that two conforming systems are to be integrated in a loosely-coupled manner, the sequence diagram in Figure 2-1 shows how this is done. For interoperability and substitutability, implementations should allow this interaction to take place with minimal customization. This interaction uses the example of an Engineering Change Request that needs approval. Any other interactions between PDM and Workflow should be done analogously. The actors in this interaction are: · "Client" - the client software that interacts with a user who has an Engineering Change Request that needs approval. · "PDM" - the implementation supplying a PDM Enablers interface. · "Workflow" - the implementation supplying a Workflow interface. · "Listener" - a persistently available object supplying the operation WfRequester::receive_event. This object is responsible for receiving the notification from Workflow that the approval is complete and triggering appropriate actions in the PDM, such as a state change to the EngChangeRequest, the creation of an EngChangeOrder, etc. In a Workflow-aware PDM, this object is provided by the PDM Enablers server. The client obtains the object-reference by invoking the get_workflow_listener operation on the PdmSystem object. However, a Workflow-unaware PDM could be integrated using a Listener supplied by a third party.
Actions taken:
November 29, 1999: received issue
October 10, 2000: issue deferred
April 26, 2010: closed issue

Discussion:
PdmSystem will provide an operation to acquire its WfRequester, which may be itself, another object, or nil (NotImplemented).

See also issue 4082, which requires sequence diagrams for Workflow/PDM interactions.


Issue 3088: Factory Finder Conventions (pdm-rtf)

Click
here for this issue's archive.
Source: Hewlett-Packard (Mr. Duane Silkworth, nobody)
Nature: Uncategorized Issue
Severity:
Summary:
The PDM Enablers define several factories, which are interfaces that create other objects.  The PdmSystem object is a FactoryFinder, which supports a find_factories operation.  The find_factories operation takes a Name Service style composite name as a parameter to identify the Factory.  But the form and values for these names for each of these factories is not defined by the PDM Enablers specification.

The PDM Enablers specification should be enhanced to specify names for these factories.  It is suggested that the PdmSystem object supports one factory of each type, and that the Name of the factory be equal to the module name plus the interface name of the factory.

Resolution: accepted in principle
Revised Text: Replace paragraph 1 of 2.4.3.1 PdmSystem. by the following two paragraphs: The PdmSystem represents the services of a single PDM system. As a LifeCycle FactoryFinder, it provides a destination location for the life cycle services copy and move operations. Furthermore, it can find all the other factories that are provided by the PDM Enablers server via the find_factories operation. The find_factories operation takes a Name Service style composite name as a parameter to identify the factory. The composites of the name comprise an id and a kind field. Following the naming conventions from Table 6-1 of omg/formal/98-12-09, interoperable clients and servers shall use the interface repository name of the factory interface for the id field and the string "factory interface" for the kind field. Furthermore, it is suggested that the PdmSystem support one factory of each type.
Actions taken:
November 29, 1999: received issue
October 10, 2000: close dissue, accepted

Discussion:
The form and value for the name naming convention (from Table 6-1 of omg/formal/98-07-05) is <id=FactoryName, kind="factory interface">, where the FactoryName is the interface repository RepositoryID.
A request for an unknown factory will throw exception NoFactory

It was discussed that factories could be registered individually, but it was decided that this is undesirable, since registering the factories with the NameService will violate the single point of access principle for the PdmSystem interface.


Issue 3089: IdentificationContext Conventions (pdm-rtf)

Click
here for this issue's archive.
Source: Hewlett-Packard (Mr. Duane Silkworth, nobody)
Nature: Uncategorized Issue
Severity:
Summary:
The Identifiable and IdentificationContext interfaces provide a flexible way for PDM Enablers implementations to support multiple identifiers for items.  An IdentificationContext can be found by giving the name of the IdentificationContext.  The specification should give better guidance for how these names should be formed and what their values should be.  The convention should take into account the type of the item that is identified by the IdentificationContext as well as an identifier for the unique context.  For implementations or sites that support only a single IdentificationContext per item type, the name of the single IdentificationContext should be specified by the PDM Enablers specification.  It is suggested that a single Identification Context name be equal to the name of the item identified by the IdentificationContext.

Resolution: resolved/accepted
Revised Text: Add the following after the first paragraph of Section 2.3.3.5 IdentificationContext: Implementations may provide a separate IdentificationContext for each Identifiable type, or may provide one or more IdentificationContext objects that support multiple types of Identifiable object. Each IdentificationContext is identified by a CosNaming::NameComponent, defined by CosNaming as: Struct NameComponent { Istring id; Istring kind; } The id field represents the business-related name. If the implementation supports a default identification context or only one identification context for a kind, the default id is represented by the empty string, i.e. a string of length 0. The kind field indicates the type of the Identifiable objects managed by the IdentificationContext. If the IdentificationContext supports a single type of Identifiable Item, the kind field has the form of the interface repository RepositoryId for the InterfaceDef of the Identifiable object. If the IdentificationContext supports more than one type of Identifiable item, then the kind field may contain the RepositoryId for the common supertype of the items, or the content of the kind field may be implementation dependent. Change the IDL in section 2.3.3.5 IdentificationContext and section 2.3.4 PdmFoundation IDL as follows: Add the following to the beginning of the #include section: #include <CosNaming.idl> Add the following definitions immediately before the definition of the IdentificationContext interface: typedef CosNaming::NameComponent IdentificationContextName; typedef sequence <IdentificationContextName> IdentificationContextNames; typedef sequence <IdentificationContext> IdentificationContexts; In the definition of IdentificationContext, change the definition of attribute id from attribute string id; to attribute IdentificationContextName name; Change the definition of interface IdentificationContextFactory to: interface IdentificationContextFactory { IdentificationContext create( in CosPropertyService::PropertySet property_set) raises(ITEM_CREATE_EXCEPTIONS); IdentificationContext find_id_context( in IdentificationContextName the_context_name) raises(NotFound, PDM_EXCEPTIONS); IdentificationContexts find_all_id_contexts() raises (PDM_EXCEPTIONS); IdentificationContexts find_id_contexts( in string identifiableType ) raises(NotFound, PDM_EXCEPTIONS); } Add the following as the last paragraph of section 2.3.3.5 IdentificationContext: find_all_id_contexts Returns all identification contexts supported by the implementation. find_id_contexts Returns all identification contexts that identify objects of a given type. The identifiableType parameter is in the form of the interface repository RepositoryId for the InterfaceDef of the Identifiable object.
Actions taken:
November 29, 1999: received issue
October 10, 2000: closed sisue

Discussion:
IdentificationContexts are differentiated in two separate ways, and names should contain at least two pieces of information.  These are:
1) The name of IdentificationContext specific to the Company/Organisation/Department/Project/etc. These should allow PDM users to define their own IdentificationContexts which are specific and meaningful to their business.
2) The IDL type of the objects scoped by the IdentificationContext.  Whenever the client makes a request of the server for an object reference (specified by an identifier and an IdentificationContext) the client will expect the object reference to be of certain type. 

This solution uses the CosNaming::NameComponent type for representing IdentificationContext names., rather than a string as is used in PDM Enablers V1.2.  This allows both types of information to be used together.

Additional mechanisms are provided to make IdentificationContext names available to clients at run time.   The IdentificationContextFactory interface is extended to support additional operations to return the IdentificationContext objects known to the system


Issue 3154: PdmContext is insufficient as a TraversalCriteria (pdm-rtf)

Click
here for this issue's archive.
Source: Hewlett-Packard (Mr. Duane Silkworth, nobody)
Nature: Revision
Severity: Critical
Summary:
The CosGraphs module specifies that Traversals are be created by the 
TraversalFactory::create_traversal_on() operation, which returns a Traversal
and takes 3 input parameters: a root Node, a TraversalCriteria, and a mode flag.

In the PDM Enablers PdmViews module, it is specified that PdmContext is a subtype of 
TraversalCriteria, and thus a PdmContext can be used to create a Traversal.  The 
PdmContext is effective as a filter to specify that only the items of interest to the client
are returned.  However, it is insufficient to create an effective Traversal object.
Nowhere is there defined a traversal path name, algorithm or strategy which indicates
which roles and relationships to follow.

As a possible solution, it is sugggested that the PdmContext not inherit
TraversalCriteria.  Rather a TraversalCriteria should be created by a new interface's
operation, which takes as input both a PdmContext and some definition of a
PDM Enablers-specific traversal path.

Resolution: resolved and closed. Read spec to view UML diagrams
Revised Text: remove the class CosGraphs::TraversalCriteria and the inheritance arrow from PdmContext. Add the following class to the class diagram: Replace section 2.6.3.4 PdmContext with the following two sections. This will cause the renumbering of subsequent sections: 2.6.3.4 PdmContext A PdmContext is an object that is established by the client and used to specify that a particular constraint, condition, or purpose holds for operations or relationship navigation. A PdmContext is used to help create a CosGraphs::TraversalCriteria, which can in turn be used to create CosGraphs::Traversal objects, which navigate relationships. Only Qualifiable items with no Qualification or with at least one Qualification that matches the PdmContext are returned during the traversal. Qualifiable items without a matching Qualification are ignored. The PdmContext is an abstract object intended to be specialized to create different types of PdmContexts. interface PdmContext {}; 2.6.3.5 PdmTraversalCriteriaFactory The PdmTraversalCriteriaFactory creates a CosGraphs::TraversalCriteria that can be used to navigate relationship graphs in a PDM Enablers system. exception UnsupportedTraversalName { unsigned long error_code; string error_text; }; interface PdmTraversalCriteriaFactory { CosGraphs::TraversalCriteria create_simple_traversal_criteria( in PdmContext pdm_context, in CORBA::InterfaceDef role_type); CosGraphs::TraversalCriteria create_named_traversal_criteria( in PdmContext pdm_context, in string traversal_name) raises (UnsupportedTraversalName); }; create_simple_traversal_criteria The create_simple_traversal_criteria operation creates a simple CosGraphs::TraversalCriteria that facilitates navigating from a Node through a single Role, one level deep. The Role type and desired PdmContext are specified as parameters to the operation. create_named_traversal_criteria The create_named_traversal_criteria operation creates a CosGraphs::TraversalCriteria with more functionality. A Traversal may navigate and return CosGraphs::Edges for many Roles, and may continue to many levels of the relationship graph. This allows the implementation of a wide range of functionality to meet business and performance goals. The names of specific traversal criteria and their functionality are not standardized by the PDM Enablers specification at this time, and must be documented by individual PDM Enablers service providers. Make the following changes to the IDL in section 2.6.4: Add the following exception definition: exception UnsupportedTraversalName { unsigned long error_code; string error_text; }; Change the definition of PdmContext to: interface PdmContext {}; Add the following definition: interface PdmTraversalCriteriaFactory { CosGraphs::TraversalCriteria create_simple_traversal_criteria( in PdmContext pdm_context, in CORBA::InterfaceDef role_type); CosGraphs::TraversalCriteria create_named_traversal_criteria( in PdmContext pdm_context, in string traversal_name) raises (UnsupportedTraversalName); };
Actions taken:
December 21, 1999: received issue
December 21, 1999: received issue
October 10, 2000: closed issue

Discussion:
The proposal is essentially adopted.  The following UML diagram (not intended to be included in the specification in this form) shows the change and how the interfaces use and depend on the CosGraphs interfaces.
 


Issue 3155: PdmContext is insufficient as a TraversalCriteria (pdm-rtf)

Click
here for this issue's archive.
Source: Hewlett-Packard (Mr. Duane Silkworth, nobody)
Nature: Revision
Severity: Critical
Summary:
The CosGraphs module specifies that Traversals are be created by the 
TraversalFactory::create_traversal_on() operation, which returns a Traversal
and takes 3 input parameters: a root Node, a TraversalCriteria, and a mode flag.

In the PDM Enablers PdmViews module, it is specified that PdmContext is a subtype of 
TraversalCriteria, and thus a PdmContext can be used to create a Traversal.  The 
PdmContext is effective as a filter to specify that only the items of interest to the client
are returned.  However, it is insufficient to create an effective Traversal object.
Nowhere is there defined a traversal path name, algorithm or strategy which indicates
which roles and relationships to follow.

As a possible solution, it is sugggested that the PdmContext not inherit
TraversalCriteria.  Rather a TraversalCriteria should be created by a new interface's
operation, which takes as input both a PdmContext and some definition of a
PDM Enablers-specific traversal path.

Resolution: Duplicate of 3154. Closed
Revised Text:
Actions taken:
October 10, 2000: closed issue

Issue 3309: Factories for non-abstract subtypes of Qualification (pdm-rtf)

Click
here for this issue's archive.
Source: PROSTEP AG (Dr. Lutz Laemmer, lutz.laemmer(at)prostep.com)
Nature: Uncategorized Issue
Severity:
Summary:
Description:
All Factories for non-abstract subtypes of Qualification
(LifeCycleQualificationFactory, LocationQualificationFactory,
DisciplineQualificationFactory,
DatedEffectivityFactory,LotEffectivityFactory,
SerialNumberedEffectivityFactory)
Qualification is Manageable. The population of the attributes of these
supertype should 
be allowed during creation via a generic PropertySet attribute to the
create method of the factories.

Resolution: accepted and resolved
Revised Text: In section 2.9.3.5 DatedEffectivity, and section 2.9.4 PdmEffectivity IDL, change interface DatedEffectivityFactory. replace: interface DatedEffectivityFactory { DatedEffectivity create( in TimeBase::UtcT start_date, in TimeBase::UtcT end_date) raises (ITEM_CREATE_EXCEPTIONS); }; by: interface DatedEffectivityFactory { DatedEffectivity create( in CosPropertyService::PropertySet property_set) raises (ITEM_CREATE_EXCEPTIONS); }; In section 2.9.3.6 LotEffectivity, and section 2.9.4 PdmEffectivity IDL, change interface LotEffectivityFactory. replace: interface LotEffectivityFactory { LotEffectivity create( in string lot_id, in PdmFoundation::Measurement lot_size) raises (ITEM_CREATE_EXCEPTIONS); }; by: interface LotEffectivityFactory { LotEffectivity create( in CosPropertyService::PropertySet property_set) raises (ITEM_CREATE_EXCEPTIONS); }; In section 2.9.3.7 SerialNumberEffectivity, and section 2.9.4 PdmEffectivity IDL, change interface SerialNumberedEffectivityFactory. replace: interface SerialNumberedEffectivityFactory { SerialNumberedEffectivity create( in string start_id, in string end_id) raises (ITEM_CREATE_EXCEPTIONS); }; by: interface SerialNumberedEffectivityFactory { SerialNumberedEffectivity create( in CosPropertyService::PropertySet property_set) raises (ITEM_CREATE_EXCEPTIONS); }; In section 2.6.3.5 ViewQualification, and section 2.6.4 PdmViews IDL, change interface ViewQualificationFactory. replace: interface ViewQualificationFactory { ViewQualification create( in string name) raises (ITEM_CREATE_EXCEPTIONS); }; by: interface ViewQualificationFactory { ViewQualification create( in CosPropertyService::PropertySet property_set) raises (ITEM_CREATE_EXCEPTIONS); }; In section 2.6.3.7 LifeCycleQualification, and section 2.6.4 PdmViews IDL, change interface LifeCycleQualificationFactory. replace: interface LifeCycleQualificationFactory { LifeCycleQualification create( in string name ) raises (ITEM_CREATE_EXCEPTIONS); }; by: interface LifeCycleQualificationFactory { LifeCycleQualification create( in CosPropertyService::PropertySet property_set) raises (ITEM_CREATE_EXCEPTIONS); }; In section 2.6.3.9 LocationQualification, and section 2.6.4 PdmViews IDL, change interface LocationQualificationFactory. replace: interface LocationQualificationFactory { LocationQualification create( in string name ) raises (ITEM_CREATE_EXCEPTIONS); }; by: interface LocationQualificationFactory { LocationQualification create( in CosPropertyService::PropertySet property_set) raises (ITEM_CREATE_EXCEPTIONS); }; In section 2.6.3.11 DisciplineQualification, and section 2.6.4 PdmViews IDL, change interface DisciplineQualificationFactory. replace: interface DisciplineQualificationFactory { DisciplineQualification create(in string name) raises (ITEM_CREATE_EXCEPTIONS); }; by: interface DisciplineQualificationFactory { DisciplineQualification create( in CosPropertyService::PropertySet property_set) raises (ITEM_CREATE_EXCEPTIONS); }; In section 2.6.3.13 CompoundQualification, and section 2.6.4 PdmViews IDL, change interface CompoundQualificationFactory. replace: interface CompoundQualificationFactory { CompoundQualification create() raises (ITEM_CREATE_EXCEPTIONS); }; by: interface CompoundQualificationFactory { CompoundQualification create( in CosPropertyService::PropertySet property_set) raises (ITEM_CREATE_EXCEPTIONS); };
Actions taken:
February 10, 2000: received issue
October 10, 2000: closed issue

Discussion:
The factories of LifeCycleQualification, LocationQualification, DisciplineQualification, DatedEffectivity, LotEffectivity, SerialNumberEffectivity should be able to populate all attributes of the interface itself and of all inherited interfaces. 

This statement is valid for two more interfaces derived from Qualification: ViewQualification and CompoundQualification.

Therefore, the corresponding factories should use a generic PropertySet attribute:


Issue 3310: Factories to non-abstract subtypes of Effectivity (pdm-rtf)

Click
here for this issue's archive.
Source: PROSTEP AG (Dr. Lutz Laemmer, lutz.laemmer(at)prostep.com)
Nature: Uncategorized Issue
Severity:
Summary:
Description:
Factories to non-abstract subtypes of Effectivity
(DatedEffectivityFactory,LotEffectivityFactory,
SerialNumberedEffectivityFactory)
The interface Effectivity holds an attribute "name" which can not be
populated by the factories create
method.

Resolution: See the resolution to issue 3309
Revised Text:
Actions taken:
February 10, 2000: received issue
October 10, 2000: close dissue

Issue 3312: ViewQualification is abstract (pdm-rtf)

Click
here for this issue's archive.
Source: PROSTEP AG (Dr. Lutz Laemmer, lutz.laemmer(at)prostep.com)
Nature: Uncategorized Issue
Severity:
Summary:
Description:
ViewQualification is an abstract interface. Why is a
"ViewQualificationFactory"
defined?

Resolution: accepted in principle
Revised Text: in 2.6.3.5 ViewQualification, line 1 replace: A ViewQualification is an abstract type of Qualification... by: A ViewQualification is a subtype of Qualification...
Actions taken:
February 10, 2000: received issue
October 10, 2000: closed issue

Discussion:
See Resolution to Issue 3309.
ViewQualification denotes a particular view not to be qualified by lifecycle, location nor discipline. The statement "abstract type" is misleading. A factory to construct a ViewQualification in its own right is justified.


Issue 3755: PdmFoundation Model (page 2-26) (pdm-rtf)

Click
here for this issue's archive.
Source: PROSTEP AG (Dr. Lutz Laemmer, lutz.laemmer(at)prostep.com)
Nature: Uncategorized Issue
Severity:
Summary:
1. PdmFoundation Model (page 2-26)
IdentificationContext has an attribute "id" of type
"IdentificationContextName" (RTF 1.3)
Identification has only a readonly attribute
LockOwner has only readonly attributes
ObjectClassification is named "ObjectSecurityClassification"
ObjectSecurityClassification has an attribute "owner" of type "Person"

Resolution: Correct UML.
Revised Text: In PdmFoundation Model, modify UML diagrams as follows: - IdentificationContext has an attribute "id" of type "IdentificationContextName" (but see issue 4161) - Identification::id is readonly - LockOwner attributes are readonly - ObjectClassification is named "ObjectSecurityClassification" - ObjectSecurityClassification has relationship "owner" to PdmResponsibility::Person
Actions taken:
July 20, 2000: received issue
April 26, 2010: closed issue

Issue 3756: Some wording - the last paragraph on page 2-34 is wrong (pdm-rtf)

Click
here for this issue's archive.
Source: PROSTEP AG (Dr. Lutz Laemmer, lutz.laemmer(at)prostep.com)
Nature: Uncategorized Issue
Severity:
Summary:
2. Some wording - the last paragraph on page 2-34 is wrong
"Examples of Identifiable are Part Master, Document Master, Document
Revision, ECO,
Person and Organization. For example, company name, cage code, Dun &
Bradstreet
number, or all of the above depending on the context may identify a
company."

Correct is: Person and Organization are not Identifiable! (This is very
sad, it would be
nicer they would be, but the authors expected this module to be replaced
by another
Corba spec).
Proposal for formulation:
"Examples of Identifiable are Part Master, Document Master, Document
Revision and ECO. For example, cage code, Dun & Bradstreet
number, or all of the above depending on the context may identify an
entity.

Resolution: Change text
Revised Text: Replace first sentence in the fifth paragraph on page 3-11 by "Examples of Identifiable are Part Master, Document Master, Document Revision and ECO."
Actions taken:
July 20, 2000: received issue
April 26, 2010: closed issue

Issue 3757: PdmFramework Entity Model (page 2-51) (pdm-rtf)

Click
here for this issue's archive.
Source: PROSTEP AG (Dr. Lutz Laemmer, lutz.laemmer(at)prostep.com)
Nature: Uncategorized Issue
Severity:
Summary:
3. PdmFramework Entity Model (page 2-51)
Attributable has a function "get_updatable_info" (not
"get_updateable_info", although
my spell checker corrects the form used throughout the specification to
the UML notation 8-;)

Resolution: see below
Revised Text: In the PdmFramework Model, class Attributable, change "get_updateable_info" to "get_updatable_info".
Actions taken:
July 20, 2000: received issue
April 26, 2010: closed issue

Discussion:
Resolution:
Correct the UML spelling to match the IDL spelling.  (The spelling "updateable" is Oxford; the spelling "updatable" is Webster.)


Issue 3758: PdmViews Model (page 2-79) (pdm-rtf)

Click
here for this issue's archive.
Source: PROSTEP AG (Dr. Lutz Laemmer, lutz.laemmer(at)prostep.com)
Nature: Uncategorized Issue
Severity:
Summary:
4. PdmViews Model (page 2-79)
Factory interfaces are not part the other UML diagrams. Why is
PdmTraversalCriteriaFactory shown at all?
ViewQualification has exactly one attribute "name" of type string. 
BTW: ViewQualification is wrong in 00-06-03::PdmViews.idl (Manfred, you
may correct this!)

Resolution: see below
Revised Text: Add name:string in UML diagram for ViewQualification. Delete "attribute string description;" from PdmViews::ViewQualification interface definition in published IDL (00-10-65).
Actions taken:
July 20, 2000: received issue
April 26, 2010: closed issue

Discussion:
Resolution:

Add name:string in UML diagram for ViewQualification.
Delete "attribute string description;" from published IDL. 


Issue 3759: PdmDocumentManagement (page 2-93) (pdm-rtf)

Source: PROSTEP AG (Dr. Lutz Laemmer,
lutz.laemmer(at)prostep.com)
Nature: Uncategorized Issue
Severity:
Summary:
5. PdmDocumentManagement (page 2-93)
File has exactly one attribute "name" of type string.
Vault attribute "id" is readonly.
This is wrong in the IDL snippet on page 2-97. The wording in the last
paragraph
on page 2-97 is correct.

Resolution: see below
Revised Text: 1. In PdmDocumentManagement model, - File should have an attribute "name" of type string - SecuredFile attribute "size" should be readonly - Vault attribute "id" should be readonly. 2. In (2.7.3.8), in the IDL snippet for the interface definition for File , insert attribute string name; (Summary IDL and published IDL are correct). 3. In (2.7.3.11) in the interface defintion for SecuredFile, change "attribute long size" to readonly attribute long size; and modify summary IDL and published IDL to match.
Actions taken:
July 20, 2000: received issue
April 26, 2010: closed issue

Discussion:
Comment is correct.  The published IDL is right; the IDL snippet on 2-97 is wrong.
Also SecuredFile::size is readonly.


Issue 3760: PdmChangeManagement (page 2-150) (pdm-rtf)

Click
here for this issue's archive.
Source: PROSTEP AG (Dr. Lutz Laemmer, lutz.laemmer(at)prostep.com)
Nature: Uncategorized Issue
Severity:
Summary:
6. PdmChangeManagement (page 2-150)
EngChangeItem should have a attribute "description" of type string,
according to
the specification.
Remark: I am not sure, is this the intent of resolving issue 1744
(compare
issue 2150 for the Views-Module)? May be, we need some more changes in
the
IDL snippet, in the explanation to EngChangeItem and in the IDL of
PdmChangeManagement.

Resolution:
Revised Text: In 10.3.1, PdmChangeManagement::EngChangeItem interface, delete the attribute "description" and its text description. Also delete the attribute "description" from the published IDL.
Actions taken:
July 20, 2000: received issue
July 20, 2000: received issue
April 26, 2010: closed issue

Discussion:
Resolution:
Via inheritance from ManagedEntity and thus from Manageable, EngChangeItem inherits short_description and long_description attributes (ref. issue 2150).  So the (extra) "description" attribute should be deleted from the IDL.


Issue 3761: PdmChangeManagement (page 2-150) (pdm-rtf)

Click
here for this issue's archive.
Source: PROSTEP AG (Dr. Lutz Laemmer, lutz.laemmer(at)prostep.com)
Nature: Uncategorized Issue
Severity:
Summary:
6. PdmChangeManagement (page 2-150)
EngChangeItem should have a attribute "description" of type string,
according to
the specification.
Remark: I am not sure, is this the intent of resolving issue 1744
(compare
issue 2150 for the Views-Module)? May be, we need some more changes in
the
IDL snippet, in the explanation to EngChangeItem and in the IDL of
PdmChangeManagement.

Resolution: Duplicate from issue 3760, clos eissue
Revised Text:
Actions taken:
April 26, 2010: closed issue

Issue 3804: addition of two exceptions to CosGraphs::Node::add_role(). (pdm-rtf)

Click
here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary:
If I understand correctly, you are asking for the addition of two
exceptions to CosGraphs::Node::add_role().

1. The exception DuplicateRole shall be thrown when add_role() is
invoked to add a Role of the "same type" as an existing Role of the same
Node, WHERE the Role is constrained to be uniquely assumed by that Node
by constraints provided to the CosGraphs implementation.  "same type"
means:
- a Role with the same interface type,
- a Role whose interface type is a supertype of the given role, or
- a Role whose interface type is a subtype of the given Role.
(Technically that would have to be stated in terms of the CORBA::is_a
operation.)

2. The exception InappropriateRole shall be thrown when add_role() is
invoked to add a Role to a Node that is not an admissible Role for that
Node per some constraints provided to the CosGraphs implementation.

And you are asking for the further statements in the PDM Enablers that 

3.  All PDM Enablers Roles shall be uniquely assumed. 

4.  The PDM Enablers relationship definitions shall be interpreted as
specifying the complete set of Role types that may be assumed by a PDM
Enablers interface that inherits from Node.

Is this the correct interpretation of your issues?  If not, can you make
clear exactly what you want to change in CosGraphs and PDM Enablers?

Notes:

1.  Making these changes to Node::add_role() would require changing
CosGraphs first, and then the PDM Enablers.  These are separate OMG
standards (maintained by different Task Forces and TCs) and two separate
"revision activities" would be required.  At the moment, there is no
active RTF for CosRelationships (including CosGraphs), and we would have
to create such an activity first.  (There is an active RTF for PDM
Enablers, and Lutz Lämmer and I chair it.)

2.  CosGraphs itself does not require either of these "constrained
interpretations", and it is not clear that it provides any means of
stating the constraints that would be used to throw the exceptions.  I
don't think that one necessarily has to provide the means in order to
provide the exception.  Things like PDME that inherit from CosGraphs
interfaces can provide the means.

3.  We do have to distinguish between the "cardinality of Role
assumption" and the "cardinality of Relationship participation".  That
is, if a PartMaster can have many PartRevisions and thus many
PartMasterComposition relationships, does the PartMaster as Node have 
 - one PartMastertoPartRevision Role for *each* PartMasterComposition
relationship in which it participates (so that the Role object is unique
to the Relationship object), or 
 - one PartMastertoPartRevision Role for *all* PartMasterComposition
relationships in which it participates (so that the Role object is
unique to the Node object)?

In the general case, where a Role object may have its own attributes and
operations, either of these is possible, but they reflect different
semantics for the attributes/operations of the Role.  So CosGraphs
itself should not require either behavior exclusively.  In the
particular case of the PDM Enablers, no Role object is defined to have
additional attributes and operations, so the choice is arbitrary, and we
may want to impose a standard convention.  However, a PDM Enablers
implementation may need to impose additional internal attributes and
operations on its internal representation of the Role objects, and for
that implementation the choice is no longer arbitrary.  Thus it is
necessary for all implementors to agree on a particular standard
convention.  I take it that UG would like to standardize the second
convention above.  Does anyone take issue with this?

Resolution: see above
Revised Text:
Actions taken:
September 6, 2000: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Discussion:
Resolution:
1. CosRelationships already provides for throwing exceptions if add_role is invoked to add a Role to a Node that already has a Role of that type, or if add_role is invoked to add an inadmissible Role to a Node.  Any required clarification of that text, e.g. for subtypes of Roles, will be forwarded to the Relationships RTF as a CosRelationships issue.  

2.  The only PDM Enablers Roles that might be affected by restrictions on Role subtypes are those of PdmTypedRelationship.  It is the only non-abstract Relationship that has subtypes.  But, as defined, it causes PdmReferencesRole and PdmReferencedByRole to be directly instantiated.  That is not the intent, and may cause problems with the unique instantiation rule (see below).  This will be raised as a separate issue.

3. CosRelationships provides that all Roles shall be uniquely assumed by a given Node.  It need not be repeated in the PDM Enablers and there is no good place to put such wording.  Note 3 is interesting, but it is at best an issue for CosRelationships (and Party Management Facility).  PDM Enablers Roles have no attributes or operations and can thus be unique for a Node without loss of semantics.

4.  The PDM Enablers relationship definitions shall not be interpreted as specifying the complete set of Role types that may be assumed by a PDM Enablers interface that inherits from Node.  For example, some PDM Enablers objects may also accept Workflow or DocumentRepository Roles.  


Issue 3992: PdmFoundation.idl version 1.3, dtc/00-10-01 (pdm-rtf)

Click
here for this issue's archive.
Source: NIST (Mr. David Flater, dflater(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary:
The exception PdmFoundation::ValidationError is included twice in the
raises list of PdmFoundation::IdentificationContext::verify_id, once
directly and once via PDM_EXCEPTIONS.  Using JacORB 1.2.1 and Java 2
SDK 1.3.0, the following compilation error results:

IdentificationContextPOA.java:349: exception PdmFoundation.ValidationError has already been caught

Proposed fix:  remove the direct reference.

Resolution: accepted as proposed
Revised Text: In section 3.3.5 and 3.4, change the IDL operation signature for the verify_id operation to read: boolean verify_id(in IdentifierSeq the_id) raises(PDM_EXCEPTIONS);
Actions taken:
October 24, 2000: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Issue 4026: move Qualifiable up to EngChangeItem. (pdm-rtf)

Click
here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary:
At the moment, ECO is Qualifiable, but EngChangeItem (the supertype) is not. 
Since shipbuilding does most change management by "serial number effectivity",
i.e. Hull
number or "functional unit HSC", they want to qualify Issues and ECRs as well. 

Resolution: Accepted: Make EngChangeItem Qualifiable.
Revised Text: 1. In 10.3.1 and 10.4, modify the IDL for EngChangeItem to inherit from PdmFramework::Qualifiable. 2. In 10.3.5 and 10.4, modify the IDL for EngChangeOrder to remove the inheritance from PdmFramework::Qualifiable. Modify published IDL to match.
Actions taken:
November 8, 2000: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Discussion:
*Recommendation: Make ECI Qualifiable, instead of just ECO.


Issue 4028: allow Documentable to point to a DocumentRevision or a DocumentMaster. (pdm-rtf)

Click
here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary:
This seems to be primarily a ChangeManagement issue.  The problem is tracking
the relationship between an ECR and a requirements document.  In some cases, it
may be determined that a given change requirement is not quite right for all
product (instances) in a line, so the scope of the first ECR is reduced, the
requirement spec is "revised" and a second ECR is created with the revised
spec.  That is, there are two active ECRs with different versions of the "same"
requirements document.  (And the PDM Enablers should not require the company's
business process to make that a new DocumentMaster!)

Resolution: see below
Revised Text: In section 7.3.7: a. Replace the first paragraph with: The Documentation relationship associates a document object with a Documentable object. The document object can be a DocumentMaster or a DocumentRevision. This allows a Documentable object to have any number and kind of associated documents and files, to the extent that the PDM implementation can support it. When the associated document object is a DocumentRevision, there is an explicit synchronization of the Documentable object with a particular version of the document. When the associated document object is a DocumentMaster, the association is to the appropriate (e.g. current) version of the document, which may have independent revision cycles and Qualifications. b. In the IDL, change the comment reading: // entity: DocumentMaster to // entity: DocumentMaster or DocumentRevision c. In the IDL for interface DocumentationFactory, add the following operation: Documentation create_with_revision ( in CosPropertyService::PropertySet property_set, in PdmFramework::Documentable documented, in DocumentRevision documenter) raises (PdmFoundation::NotUnique, PdmFoundation::InvalidProperties, PdmFoundation::ValidationError, PdmFoundation::PermissionDenied, PdmFoundation::PdmError); d. In 7.4, the revised IDL for the Documentation relationship should read: // Documentation relationship // role: Documented // name: 'Documented' // entity: Documentable // cardinality: 0..unbounded // role: Documenter // name: 'Documenter' // entity: DocumentMaster or DocumentRevision // cardinality: 0..unbounded interface Documentation : PdmFramework::PdmReferenceRelationship {}; interface DocumentationFactory { Documentation create( in CosPropertyService::PropertySet property_set, in PdmFramework::Documentable documented, in DocumentMaster documenter) raises (PdmFoundation::NotUnique, PdmFoundation::InvalidProperties, PdmFoundation::ValidationError, PdmFoundation::PermissionDenied, PdmFoundation::PdmError); Documentation create_with_revision ( in CosPropertyService::PropertySet property_set, in PdmFramework::Documentable documented, in DocumentRevision documenter) raises (PdmFoundation::NotUnique, PdmFoundation::InvalidProperties, PdmFoundation::ValidationError, PdmFoundation::PermissionDenied, PdmFoundation::PdmError); };
Actions taken:
November 8, 2000: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Discussion:
Resolution:
There are many reasons for a Documentation relationship to point to a specific revision of a controlled document, such as technical requirements or standard handling and processing procedures, because the effectivities of the Document and the Documentable may not be synchronized.


Issue 4082: Interactions to be specified (pdm-rtf)

Click
here for this issue's archive.
Source: NIST (Mr. David Flater, dflater(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary:
The expected interactions between a component supporting PDM Enablers
and a component supporting Workflow should be completely specified
using sequence diagrams.

Three feasible scenarios are identified but not specified in the
Testability White Paper, test/2000-10-01.

Resolution: This is further guidance for the revised text for Issue 3087.
Revised Text:
Actions taken:
November 15, 2000: received issue
November 29, 2000: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Discussion:


Issue 4129: missing attribute in the IDL (pdm-rtf)

Click
here for this issue's archive.
Source: Eigner + Partner AG (Mr. Andreas Fester, fes(at)ep-ag.com)
Nature: Uncategorized Issue
Severity:
Summary:
The UML diagram for the PdmProductStructureDefinition module shows an attribute make_buy for interface PartDataIteration, which also occurs in the detailed description of the interface. However, the attribute is missing in the IDL at the end of the chapter and in document dtc/2000-06-03 which contains the compilable IDL files.

Resolution: see below
Revised Text: In 8.2.1, modify the UML diagram for the PdmProductStructureDefinition module to remove attribute make_buy for class PartDataIteration.
Actions taken:
December 21, 2000: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Discussion:
Resolution:
The IDL is right.  The UML is incorrect.  make_buy as a STEP-defined attribute has explicit values with explicit interpretations, and that should be part of the STEP Profile (see issue 3086).  Whether, how and where the make/buy decision is represented in terms of PDM attributes and values is more generally a matter for company business processes and the company-specific schema.  The make_buy attribute should be removed from the IDL and the UML.


Issue 4130: "interface repository name" is an undefined term. (pdm-rtf)

Click
here for this issue's archive.
Source: NIST (Mr. David Flater, dflater(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary:
Edit directions against formal/2000-11-11:

In Section 4.3.1, replace the text "interface repository name" with
"interface repository RepositoryId."  (Though "interface repository
RepositoryId" is redundant, this harmonizes the text with RepositoryId
references in Sections 3.3.5 and 3.3.6.)

Resolution: accepted
Revised Text: Edit directions against formal/2000-11-11: In Section 4.3.1, replace the text "interface repository name" with "interface repository RepositoryId."
Actions taken:
December 27, 2000: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Issue 4145: make_buy missing in IDL (pdm-rtf)

Click
here for this issue's archive.
Source: PROSTEP AG (Dr. Lutz Laemmer, lutz.laemmer(at)prostep.com)
Nature: Uncategorized Issue
Severity:
Summary:
Edit directions against formal/2000-11-11 (PDM enablers spec) 
p. 8-18:
PartDataIteration should have Attribute
attribute string make_buy;
(compare p. 8-8)

Edit direction applies to
formal/00-10-65 (PDM enablers 1.3 compilable IDL)
as well - change PartDataIteration definition in
PdmProductStructureDefinition.idl

Resolution: see above
Revised Text: (see 4129)
Actions taken:
January 11, 2001: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Discussion:
Resolution:
Not accepted.  make_buy is one or more attributes that may belong to PartMaster, PartRevision or PartDocument attribute sets, as well as PartData.


Issue 4146: was/is relationships to The EngChangeAffectedData relationship (pdm-rtf)

Click
here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary:
Specification:  PDM Enablers v1.3 clause 2.10.3.16
Source: Ted Briggs, Intergraph (SC4 AP227 project)
Problem:  To support the capture of the was/is relationships to The EngChangeAffectedData relationship should have two explicit
attributes:
-type, which is the "role" of the Changeable item affected by the change, e.g. starting revision of target part, technical
manual, manufacturing fixture, manufacturing process, reference process, fit requirement, etc.  This is important for Issues and
ECRs that are in some state of development and for high-level ECRs that are issued but require refinement to specific
work-orders.
-status, which may be the current "disposition", which reflects the status of management decisions about the relationship of the
ECI (particularly issues and ECRs) to that item, e.g. tentative, pending, approved, obsoletes, etc.  This is particularly useful
when the Changeable is qualified by Serial or Lot numbers, some of which may be firm, while others are questionable and may
subsequently be deleted from the list.  The current text suggests values of "disposition" that seem to be suitable only for
ECNs.
Also, EngChangeAffectedItem is the preferred nomenclature: it is usually a Part, Document or Process, all of which are
ItemRevisions, and ItemRevision seems to be the only class that inherits from Changeable.

Resolution: see below
Revised Text: In section 10.3.16: a. in the IDL, change all occurrences of "Data" to "Item", and correct the spelling "EngChangeAffectData" in the interface definition to "EngChangeAffectedItem", and make the corresponding changes to the UML diagram in 10.2. b. in the IDL, add an attribute to the (former) "EngChangeAffectData" interface: attribute string role; and make the corresponding change to the UML diagram in 10.2. c. modify the text of the first paragraph to read: "Engineering Change Items (ECIs) relate to Changeable objects in various ways. The EngChangeAffectedItem relationship models these associations. Not all EngChangeItems will have such associations, or at least not at all times, and the nature of these associations may change over time. For example, the initiator of an EngChangeIssue may not initially know exactly which objects will be affected, and an EngChangeRequest may be initially associated with a subsystem object, but resolved into separate EngChangeItems for specific components. In such situations, the rules for attaching and detaching affected items to the ECI are defined by the local engineering business practices. "An example of an EngChangeAffectedItem relationship is the relationship of the EngChangeItem to an object that is being modified by the engineering change, and, in the normal course of events, is replaced with a newer revision." d. add the definition of attribute role: role specifies the nature of the relationship between the EngChangeItem and the Changeable object, e.g. starting revision of target part, technical manual, associated manufacturing fixture, manufacturing process, reference process, reference design, fit requirement, etc. This is important for EngChangeIssue objects and EngChangeRequest objects that are in some state of development, and or have been approved at a high-level but require refinement to specific work-orders. e. modify the definition of attribute disposition to read: disposition specifies the current state of management decisions about the relationship of the Changeable object to the EngChangeItem, e.g. tentative, pending, approved, etc. This is particularly useful when the relationship is qualified by Serial or Lot numbers, some of which may be firm, while others are questionable and may subsequently be deleted from the list. For EngChangeNotification objects, this may specify the directed disposition of the Changeable object - obsoleted, release to other use, rework, scrap, etc. f. In 10.4, the resulting IDL is: // EngChangeAffectedItem Relationship // role: AffectingEngChangeItem // name: 'AffectingEngChangeItem' // entity: EngChangeItem // cardinality: 0..unbounded // role: AffectedChangeableItem // name: 'AffectedChangeableItem' // entity: PdmFramework::Changeable // cardinality: 0..unbounded interface EngChangeAffectedItem : PdmFramework::PdmReferenceRelationship { attribute string role; attribute string disposition; }; interface EngChangeAffectedItemFactory { EngChangeAffectedItem create( in CosPropertyService::PropertySet property_set, in EngChangeItem affecting_eng_change_item, in PdmFramework::Changeable affected_changeable_item) raises (RELATIONSHIP_CREATE_EXCEPTIONS); }; interface AffectingEngChangeItem : PdmFramework::PdmReferencesRole { }; interface AffectedChangeableItem : PdmFramework::PdmReferencedByRole { };
Actions taken:
January 11, 2001: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Discussion:
Resolution: 

Add "role" attribute, expand definition of "disposition" to mean "status", as described in the summary. 
Change name of relationship as requested.


Issue 4147: ObjectChangeNotification models the "is" (pdm-rtf)

Click
here for this issue's archive.
Source: NIST (Mr. Edward J. Barkmeyer, edbark(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary:
Specification: PDM Enablers v1.3 clause 2.10.3.19
Source: Ted Briggs, Intergraph (SC4 AP227 project) via Ed Barkmeyer
Problem: ObjectChangeNotification models the "is" part of the was/is relationship from ECN to Changeable, that is, it identifies
the "new" version of the Changeable Item(s).  But the text doesn't say that.  The text of ObjectChange, which models the same
relationship from ECO to Changeable, should also appear here.

Resolution: accepted. This is editorial clarification.
Revised Text: 1. In 10.3.18 (ObjectChange), change the last sentence of the first paragraph to: "The ObjectChange relationship relates the ECO to the new revision of the Changeable object. (The EngChangeAffectedItem relationship relates the ECO to the base revision.)" 2. In 10.3.19 (ObjectChangeNotification), at the end of the first paragraph, add: "The ObjectChangeNotification relationship relates the ECN to the newly effective revision of the Changeable object. (The EngChangeAffectedItem relationship relates the ECN to the base revision.)"
Actions taken:
January 11, 2001: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Issue 4162: Is Transactionable still needed? (pdm-rtf)

Click
here for this issue's archive.
Source: TethersEnd Consulting (Mr. Larry L. Johnson, larry.johnson(at)tethersend.com)
Nature: Uncategorized Issue
Severity:
Summary:
Summary:
With the recent changes to the Object Transaction Services, it does not appear that there is any interface for a
"transactionable" object to inherit from.  The Transactionable interface was intended to provide that inheritance for the
previous version of the OTS.  It no longer serves a purpose.  Can we delete it?

Resolution: Agreed. Transactionable is no longer useful
Revised Text: a. In the IDL for ManagedEntity in 4.3.7 and 4.4, delete "CosTransactions::TransactionalObject" from the list of inheritances, and make the corresponding change in the UML diagram in 4.2.1. b. In the IDL for PdmContainmentRelationship in 4.3.11 and 4.4, and for PdmReferencesRelationship in 4.3.12 and 4.4, delete "CosTransactions::TransactionalObject" from the list of inheritances, and make the corresponding change in the UML diagram in 4.2.2. c. In the IDL in 4.4, delete the #include statement for CosTransactions.idl. d. In the IDL for Qualification in 6.3.1 and 6.4, delete "CosTransactions::TransactionalObject" from the list of inheritances, and make the corresponding change in the UML diagram in 6.2. e. In the IDL in 6.4, delete the #include statement for CosTransactions.idl. f. In the IDL for EcoDeliverable in 10.3.2 and 10.4, delete "CosTransactions::TransactionalObject" from the list of inheritances, and make the corresponding change to the note for the UML diagram in 10.2. g. In the IDL in 10.4, delete the #include statement for CosTransactions.idl. h. In the IDL for ItemSolution in 12.3.11 and 12.4, for SpecificationOperation in 12.3.14.1 and 12.4, for SpecificationInclusion in 12.3.16 and 12.4, and for Configuration in 12.3.25 and 12.4, delete "CosTransactions::TransactionalObject" from the list of inheritances, and make the corresponding change to the notes for the UML diagram in 12.2. i. In the IDL in 12.4, delete the #include statement for CosTransactions.idl. j. In D.1.1, replace the text of the paragraph under Transaction Services with: "In this specification, each operation is considered to be atomic and must leave the object (and the underlying information base) in a consistent state. If in addition, the implementation incorporates or operates under an implementation of Object Transaction Services, then higher-level transactional behavior is provided by that service. This specification does not require the presence or use of a transaction service."
Actions taken:
January 19, 2001: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Issue 4163: Provide an ID when creating an object (pdm-rtf)

Click
here for this issue's archive.
Source: TethersEnd Consulting (Mr. Larry L. Johnson, larry.johnson(at)tethersend.com)
Nature: Uncategorized Issue
Severity:
Summary:
For transactional integrity and atomicity of PDM operations, the client needs to be able to provide an ID when creating a PDM
Enablers Identifiable object. As it stands, the creation of the object and the assignment of its ID is done in a minimum of two
operations, leaving the object exposed to an invalid (unidentified) state if there is failure between the two or more
operations.

Resolution: see below
Revised Text: In 3.3.7, before subsection 3.3.7.3, insert a new subsection: 3.3.7.3 Identification of newly created Identifiable objects In this specification create operations are required to be atomic, which implies that the underlying PDM implementation must do whatever is necessary to create a complete and referenceable object. And accordingly, the implementation will require such "properties" on a create operation as are needed to accomplish that. In general, some set of the properties provided on a create operation for an Identifiable object will be used to create an identifier for the object in some IdentificationContext. And in many cases, the local PDM administrator will have determined which properties are used to create the identifier and the rules for the creation of that identifier. In the simplest case, either the PDM implementation or the PDM administrator will specify which property is the principal identifier. If the client knows the IdentificationContext in which the Identification will be implicitly created, then the client can follow the create() operation with a get_id() on the resulting object and verify that the expected id value has been assigned. The client may follow the create() operation with a bind() operation on some other IdentificationContext, in order to give the object additional identifications. But invoking bind() on the implicit IdentificationContext may cause CardinalityExceeded to be thrown - one cannot provide a second identifier for the same object in the same context. This specification does not require that the principal means of identification of (internal) PDM objects be exposed through the Identification relationship. All that is required is that some means of external identification is exposed through that relationship. In fact, this specification does not formally require that an Identifiable object have any Identification relationship! For PDM Enablers accesses, the internal identification of the Object may be exposed solely through its unique IOR. But for those Identifiable objects that correspond to externally identifiable objects in the PDM system, it is expected that they will have exposed Identification relationships.
Actions taken:
January 19, 2001: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue

Discussion:
Resolution:
As written, this is rejected.  There is no problem with transactional integrity.  The PDM Enablers require atomicity of the create operations, which implies that the underlying PDM implementation must do whatever is necessary to create a complete and referenceable object.  And accordingly, the implementation will require such attributes on a create operation as are needed to accomplish that.  In general, that means that some set of the attributes provided on a create operation for an Identifiable object will be used to create an identifier for the object in some IdentificationContext.  And in many cases, the local PDM administrator will have determined which attributes are used to create the identifier and how.  In the simplest case, the question is "which attribute is the principal identifier?"

In fact, if the client knows the IdentificationContext in which the "assignment of its ID [via a bind() operation] is done", then the client should be able to follow the create() operation with a get_id() on the resulting object and verify that the expected ID has been assigned.  And conversely, following the create() with a bind() operation on that IdentificationContext might be expected to throw CardinalityExceeded.

More generally, this issue assumes, but the PDM Enablers does not say, that the principal means of identification of (internal) PDM objects is somehow exposed through the Identification relationship.  In fact, all the PDM Enablers says is that some external identification means is exposed.  And the UML model does not even require that an Identifiable object have at least one Identification relationship, ever.  The object has an IOR which is mapped to its internal referencer.

The RTF agrees that the expected functionality of create operations and identification should be discussed in section 3.3.7, which generally discusses the behavior of Identification relationships.


Issue 4185: Should all PDM Enablers IDL files begin with #pragma prefix "omg.org" (pdm-rtf)

Click
here for this issue's archive.
Source: NIST (Mr. David Flater, dflater(at)nist.gov)
Nature: Uncategorized Issue
Severity:
Summary:
Should all PDM Enablers IDL files begin with #pragma prefix "omg.org",
or not?

Resolution: Yes. Modify the formal IDL files to include the #pragma.
Revised Text: In all sections x.4 and in the formal IDL, modify each separate file to begin: #pragma prefix "omg.org"
Actions taken:
January 24, 2001: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue