UML 2.0 Diagram Interchange RFP
UML 2.0 Diagram Interchange RFP
This Request for Proposal (RFP) is the 4th in a series of RFPs under the
UML 2.0 umbrella. The first three RFPs have already been issued and
focus on (a) UML Infrastructure (b) UML Superstructure and (c) OCL
respectively. Please see www.omg.org/technology/uml for more
information on OMG UML™.
1.0 Introduction
1.3 References
The following documents are referenced in this document:
• Object Services are interfaces for general services that are likely to be
used in any program based on distributed objects.
2.2 CORBA
The Common Object Request Broker Architecture defines the programming
interfaces to the OMA ORB component. An ORB is the basic mechanism
by which objects transparently make requests to - and receive responses
from - each other on the same machine or across a network. A client need
not be aware of the mechanisms used to communicate with or activate an
object, how the object is implemented, nor where the object is located.
The ORB thus forms the foundation for building applications
constructed from distributed objects and for interoperability between
applications in both homogeneous and heterogeneous environments.
• Interoperability
C
C++
SmallTalk
Ada95
COBOL
2.3 CORBA/Interoperability
Interoperability between CORBA-compliant ORBs is provided by OMG's
Internet Inter-ORB Protocol (IIOP). Adopted in December 1994 as the
mandatory CORBA 2.0 protocol for ‘‘out of the box’’ interoperability,
IIOP is the TCP/IP transport mapping of a General Inter-ORB Protocol
(GIOP). IIOP enables requests to be sent to networked objects managed
by other ORBs in other domains.
2.4 CORBAservices
Object Services are general purpose services that are either fundamental
for developing useful CORBA-based applications composed of
distributed objects, or that provide a universal - application domain-
independent - basis for application interoperability.
Object Services are the basic building blocks for distributed object
applications. Compliant objects can be combined in many different ways
and put to many different uses in applications. They can be used to
construct higher level facilities and object frameworks that can
interoperate across multiple platform environments.
2.5 CORBAfacilities
Common Facilities are interfaces for horizontal end-user-oriented
facilities applicable to most domains. Adopted OMG Common Facilities
are collectively called CORBAfacilities and include an OpenDoc-based
Distributed Document Component Facility.
3.1 Introduction
OMG adopts specifications for interfaces and protocols by explicit vote
on a technology-by-technology basis. The specifications selected each fill
in a portion of the OMA Reference Model. OMG bases its decisions on
both business and technical considerations. Once a specification is
adopted by OMG, it is made available for use by both OMG members
and non-members.
For more detailed information on the adoption process see the Policies
and Procedures of the OMG Technical Process.
• Voter Registration
• Initial Submissions
• Evaluation Phase
• Revised Submissions
• Selection Vote
The signatory below is an officer of the organisation and has the approval and
authority to make this commitment on behalf of the organisation.
<___signature required____>
__________________________________________
A1 Introduction
OMG wishes to encourage rapid commercial adoption of the specifications it
publishes. To this end, there must be neither technical, legal nor commercial
obstacles to their implementation. Freedom from the first is largely judged
through technical review by the relevant OMG Technology Committee; the
second two are the responsibility of the OMG Business Committee. The BC also
looks for evidence of a commitment by a submitter to the commercial success of
products based on the submission.
• A public product announcement with a shipping date within the time limit.
Regardless of which requirement is in use, the submitter must inform the OMG
of completion of the implementations when commercially available.
It is the goal of the OMG to make all of its specifications available with as few
impediments and disincentives to adoption as possible, and therefore OMG
strongly encourages the submission of technology as to which royalty-free
licenses will be available. However, in all events, the submitter shall also certify
that any necessary license will be made available on commercially reasonable,
non-discriminatory terms. The submitter is responsible for disclosing in detail
all known restrictions, placed either by the submitter or, if known, others, on
technology necessary for implementation of the specification.
__________________________________________
‘‘This specification has completed the design phase and is the process
of being prototyped.’’
4.9.1 General
• Submissions that are concise and easy to read will inevitably receive
more consideration.
PART I
Explain how your proposal satisfies the mandatory and (if applicable)
optional requirements stated in Chapter 6. References to supporting material
in Part II should be given.
In addition, if your proposal does not satisfy any of the general requirements
stated in Chapter 5, provide a detailed rationale.
PART II
• Proposed specification
PART III
5.1.1 Proposals shall express interfaces in OMG IDL. Proposals should follow
accepted OMG IDL and CORBA programming style. The correctness of
the IDL shall be verified using at least one IDL compiler (and preferably
more then one). In addition to IDL quoted in the text of the submission,
all the IDL associated with the proposal shall be supplied to OMG in
compiler-readable form.
5.1.2 Proposals shall specify operation behaviour, sequencing, and side-effects (if
any).
5.1.6 Proposals shall justify and fully specify any changes or extensions required
to existing OMG specifications. This includes changes and extensions to
CORBA inter-ORB protocols necessary to support interoperability. In
general, OMG favours upwards compatible proposals that minimize
changes and extensions to existing OMG specifications.
5.1.7 Proposals shall factor out functions that could be used in different
contexts and specify their interfaces separately. Such minimality fosters
re-use and avoids functional duplication.
5.1.9 Proposals shall specify interfaces that are compatible and can be used
with existing OMG specifications. Separate functions doing separate jobs
should be capable of being used together where it makes sense for them
to do so.
5.1.11 Proposals shall allow independent implementations that are substitutable and
interoperable. An implementation should be replaceable by an alternative
implementation without requiring changes to any client.
• What, if any, are the security sensitive objects that are introduced by
the proposal?
5.2.1 Performance
5.2.2 Portability
5.2.3 Securability
UML 2.0 must be compliant with the most current Meta-Object Facility
Specification [3] at the time of the submission. Proposals for UML 2.0
may propose revisions to the Meta Object Facility, but they should try to
minimize the impact on existing MOF usage.
6.5.2 REUSES UML Metamodel. The proposal shall not gratuitously change
the UML Metamodel. The proposed metamodel shall be extensible. (Eg:
for interchanging data models).
Proposal shall support the interchange of UML models that have NO
diagram information. This maintains upward compatibility with current
designs (eg: UML Models that typically don’t have much diagram
information) and also allows interchange of designs between visual as
well as non-visual tools.
6.5.7 MOF and XMI COMPLIANCE. The diagram metamodel shall be MOF
compliant and shall be provided as an XML document that conforms to
the MOF Model DTD. Based on the MOF Specification the metamodel
shall define programmatic interfaces (in IDL) to diagram information.
Based on the XMI Specification the metamodel shall define XML
diagram interchange using a UML Diagram Interchange XML DTD.
When dealing with complex designs, many tools provide the ability to
perform various activities such as ‘scale up/down’, ‘move’, ‘rotate etc.
on diagrams. It must be possible to interchange designs that have been
manipulated in this manner. The diagram manipulation should not
change the semantics of the design.
Technologies such as Scalable Vector Graphics (SVG) provide some of
this capability. The submitters are encouraged to review the XML
grammar for SVG at http://www.w3.org/Graphics/SVG and use
the concepts and terminology as appropriate in this
proposal.
6.6.1 3D Representation