Trip Report
OMG Meeting
Austin, Texas
9-14 March 1997
Gil Hansen, Frank Manola, Craig
Thompson
gil@objs.com,
fmanola@objs.com, thompson@objs.com
[Note: authorship is color-coded - send questions
to the appropriate author]
Summary
The Internet SIG is addressing several issues of importance to the long-term
direction of OMG's distributed object technology, including uniform access
to heterogeneous data sources, and improved compositional facilities within
OMG's architecture. It is clear when you look at
agendas of various working groups that this is the year of Quality of Service
(QoS). There is now an awareness of the need for QoS within most services
and a need for an OMG QoS position whitepaper. The C4I working group has
identified 5 key areas it wants to monitor and champion the requirements
of C4I (as opposed to becoming another task force). One of these areas
is QoS. The work toward MetaObject, Business Object, and Object
Analysis and Design Facilities continues to progress, with the merging
of a number of the submissions for each facility producing stronger responses
(the final response dates for each of these facilities has been pushed
back to allow this merging process to happen). Work also continues on addressing
boundary issues between these facilities. Work in connection with these
facilities, and within the Object Model Subcommittee and ANSI X3H7, has
potential for strengthening the formal specification base of OMG technology.
Domain Task Forces in Electronic Commerce, Manufacturing, and Transportation,
among others, are preparing the way for increasing use of distributed object
technology in a number of key application domains. The next OMG meeting
will be in Stresa, Italy, May 5-9. The next North American meeting will
be in Montreal, June 23-27.
IDL Metrics
I mainly went to this meeting to participate in the
QoS Working Group on Monday morning. I ended up attending 4 of the scheduled
meetings: the second half of the IDL Metrics meeting Sunday afternoon,
the C4I Working Group meeting Sunday evening, the Object Model Subcommittee
meeting Monday morning, in particular, the QoS breakout, and the last half
of the Realtime PSIG joint meeting with ORBOS Monday afternoon.
When I joined in, the meeting had already broken
out into 4 subgroups which later convened and reported on their progress.
The meeting was run by Tom Mowbray who also led the breakout group I participated
in, namely, formulating a generic survey form to be used by experts to
evaluate OMG specifications. A matrix of software quality characteristics
versus specification qualities had already been prepared. The terms were
mostly taken from ISO 9126 which does not provide a dependency matrix.
The former items are functionality, reliability, usability, efficiency,
maintainability, and portability. The latter items are interoperability,
portability, robustness, reusability, implementability, utility, completeness,
consistency, sufficiency, necessity, effectiveness, and conformance. Definitions
of these 12 specification qualities were decided ahead of time via Email
and a 3 page document of the results handed out. I suggested they add composability
which they did. We then assigned the 13 specification qualities to members
of the group and each drafted a set of questions for the survey which we
then went over. Tom collected our questions which will form the basis of
a draft survey to be reviewed by members and used for a number of dry runs.
We agreed the survey should also have upfront questions on the specification
itself as opposed to its content. One cannot adequately answer questions
directed at the quality of content if the specification is incomplete,
lacking in detail, vendor specific, etc. Together we drafted a set of upfront
questions.
Prior to reconvening, members of another group presented
their ideas on QoS they had been thinking hard about. After talking to
a top nuclear physicist and their programming problems, they thought one
should be able to express QoS mathematically. The definition they came
up with was (based on E = mc2): QH = QC
* QR2 where
QH = satisfaction of
overall needs
QC = satisfaction of
currently perceived needs
QR = overall stability
of the solution as an enabling platform for satisfying future needs
The IDL Metrics' WWW home page is http://www.serve.com/discus/idl.html.
To get on their Email list, idlmetrics@omg.org, send a request to request@omg.org
and a person will add you. I have a complete set of slides for the meeting.
C4I Working Group
This meeting was run by Tom Mowbray who first covered
past business followed by others who gave status reports. The deadline
for the C4I survey is April 20, 1997. Tom mentioned Henry Rothkopf is the
government coordinator/liaison with C4I. Gene Jarboe (from some US government
organization) gave an impromptu report on the effort of a Unified Cryptologic
Architecture by the year 2010. His group has no clue what CORBA is and
he was here to learn. His main concerns were security and realtime. Chris
Sulman reported on a UK MOD-OMG exchange meeting. They are trying to put
together a defense internet, and QoS issues keep coming up. He wants OMG
input on QoS.
Of the 7 proposed areas C4I determined they should
focus on and their future specifications, 5 were chosen as key and people
were assigned to actively monitor them (attend their meetings, promote
C4I interests, report back). These were: Common Messaging Facilities, C4I
QoS Profile, OODB Shared Data, Object Definition Framework, and a new area
OMG Coordination/Lobbying. We then broke out into 5 groups to address action
plans. I participated in the QoS group headed by J.P. ?, a Major in the
Canadian Air Force (?). At the end, each leader briefly reported on their
group's findings.
Everyone in the QoS group expressed their concerns
and interests in QoS. Points that emerged are:
-
OMG is not ready for a QoS RFP; there is still
no OMG QoS whitepaper (see report below)
-
The way to sell QoS to OMG is through scenarios,
e.g., the QoS needed on secure information paths. Need to show how QoS
blends in.
-
For C4I QoS, we need to identify specific issues,
QoS characteristics, and scenarios to apply it to (e.g., air traffic control,
battlefield situations)
-
QoS captures three things: time/timeliness, quantity
of information needed (precision), and accuracy. All are measurable attributes.
-
QoS is delivered in realtime and is concerned
with the management of the temporal behavior of a system.
-
How one expresses QoS requirements is critical
and not well understood.
-
The definition of a business object affects QoS.
-
Need a QoS definition language (QDL) that expresses
QoS contracts and resources. Change IDL to express QoS requirements.
-
Need a QoS architectural framework. Introduction
of QoS into services should be gradual; the first cut should be simple.
-
QoS is not just about negotiating to upgrade
or degrade QoS requirements due to changing conditions, but also switching
QoS. For example, a sudden change in weather affects the number of planes
a controller can land per minute.
Some of the QoS action items were:
-
Promote QoS in telecom, realtime, BOF.
-
Prepare C4I scenarios and identify key QoS characteristics.
-
Show how to express QoS requirements, e.g., using
IDL, and how to meet them (actions and mechanisms).
-
Show what QoS requirements business objects need.
Tom collected everyone's summary which should appear
in some form on the C4I Web page.
The OMG C4I's home page is http://www.serve.com/discus/c4i.html.
Their Email list is c4i@omg.org; contact request@omg.org to subscribe.
I have a complete set of prepared slides for the meeting. Also, a 3 page
handout highlighted the Jan97 meeting.
Internet Platform SIG
Thompson co-chaired the OMG Internet SIG meeting
held in Austin, Texas, on 10 March 1997 and recorded minutes
of the meeting. Of interest to OBJS (especially the SIS project):
-
Shel Sutton (MITRE) led a discussion on a proposed
Internet Information Access Facility (called OTAM) that would provide
uniform information access to distributed heterogeneous data sources. A
white paper is being drafted - Thompson will draft sections on some issues
in the architecture.
-
Thompson (OBJS) led a discussion on extensions
needed to OMG's architecture to make it more compositional. Thompson will
draft a white paper shell and invite inputs from others in OMG.
-
Misty Nodine (MCC) presented on Infosleuth, a
three year old project that uses an agent-based architecture to access
heterogeneous data sources. Misty tells me there are 16 people working
on Infosleuth, the project will wind down in June, and they expect an Infosleuth
II. They track Tsimmis/LORE, USC/ISI SIMS, JTF Query Server (a little),
one or two more projects and have some slight connections to DARPA I*3.
Object Model Subcommittee
Quality of Service Working Group
The objectives of the meeting were to agree to write
a QoS whitepaper and assign people to particular sections, plan how to
develop the whitepaper and determine a timeline for the 1st draft, and
plan how to integrate QoS with other OMG activities (liaisons, awareness).
Eventually we are to determine how to work with others to capture QoS requirements,
construct a phased approach (short, medium, long term), check the feasibility
of the approach, and plan an awareness campaign.
Chris Sulman first gave a short presentation to bring
everyone up to date on other QoS activities. His background foils pointed
out the need of a coordinated approach stimulated by users such as NATO,
OMG, and manufacturing/process control and applications such as multimedia,
TP, ODP, and time-critical communications. There needs to be a consistency
across all components, integration with systems management (a QoS manager),
and user controllability. He then discussed the ISO work on QoS frameworks
which are applicable to distributed systems in general. The basic outline
of the paper is:
-
Concepts of QoS basic framework
-
Definition of QoS characteristics
-
QoS management
-
General QoS mechanisms
-
Specific QoS requirements (for negotiation)
-
Conformance, consistency, compliance
QoS framework cornerstones are:
-
QoS characteristics - a quantifiable aspect of
QoS which is defined independently of the means by which it is represented
or controlled
-
QoS mechanisms - [didn't have time to copy definition]
-
QoS parameter - QoS information that is conveyed
between entities as part of a QoS mechanism
-
QoS category - a group of user requirements that
leads to the selection of a set of QoS requirements
There is a separate standard document, Guide to
Methods and Mechanism, for achieving QoS. Its basic outline is:
-
QoS Negotiation
-
Time critical communication
-
QoS verification methods
-
Negotiation mechanisms: 3rd party, 1->N multicast,
QoS management for time critical apps
A final foil described QoS in ODP (Open Distributed
Processing), work begun in '96. Points mentioned were:
-
Significant papers are already available, e.g.,
BBN's on QoS (funded by Rome Labs)
-
The work may lead to new parts of RM-ODP plus
extensions to associated standards
-
QoS frameworks flows into models; QoS methods
and mechanisms flow into standards, PASs, ...
-
ISO/IEC and ITU-T papers on QoS Frameworks and
QoS Methods and Mechanisms can serve as input to the QoS in OMG/CORBA whitepaper
-
There is an interaction of QoS in heterogeneous
environments, e.g., NT and DCE.
The outline of the whitepaper was tentatively set
to be as follows:
-
What is QoS and why is the whitepaper necessary
-
What is the scope of QoS; which are we addressing
-
Introduction to QoS and relationships to other
disciplines
-
How to express QoS requirements
-
a multi-dimensional problem
-
delivery requirements: best efforts, compulsory,
guaranteed
-
characteristics, their interrelationships, relative
importance
-
how to express what happens when QoS requirements
are not met
-
management requirements: a priori, before/during/after
use
-
What QoS architecture do we need to express this
in OMG
-
What is the implication of the solution on other
OMG activities: IDL, business objects, IIOP, realtime/C4I, finance
-
Scenarios: flush out various requirements
-
Bibliography
-
W97/N1192 - QoS in ODP
-
KO 13236 - QoS Framework
-
TR 13243 - Methods and mechanisms
-
BBN QoS (Dave Bakken and John Zinky),
-
Columbia QoS-A (Ph.D. architectures work by Andrew
Campbell),
-
Lancaster University in the UK (Dave Hutcheson's
work on QoS managers for CORBA)
Chris identified the following places where QoS standards
work is going on:
-
UK: MOD, ANSA
-
FR: Tina, Retina
-
AUS: DSTO, DSTC
-
CAN:
-
GE: GMO-Fokur; GMO doing Exploder
-
ITU-T: BellCore (Gary Couch)
Symposia and research places are IWQoS, Lancaster
Univ., Columbia Univ., EWOS website.
The ISO document DIS 13236, A QoS Framework,
is a mature draft that should be ratified as a standard next week in Geneva.
Chris promised to Email me a private copy since it can no longer be posted
to the Internet. We agreed I'd send him Email to remind him (which I have
done). Chris was to hand out material by Wednesday evening and present
a status report to OMG Thursday morning. I told Chris I would not be around
for the handouts, but that I would be interested in helping write the QoS
Architecture section. An Email list is to be established for communicating
information. Chris is to supply URLs for bibliographic material.
Semantics Working Group
I attended the meeting of the Semantics Working Group on Monday morning.
There were three presentations (I have copies of all of them):
-
Gary Daugherty (Rockwell
Intl.), "Unification of the models for types, classes, and state machines"
-
Kevin Tyson (Enterprise Engrg. Associates), "Approaches to formalization
of higher-order definition languages (CDL and others)"
-
Haim Kilov (now at Merrill Lynch!), "International standards define
semantics: RM-ODP and GRM"
Daugherty's 54 page paper "Unification of the Static and Dynamic Models
for OO Development" was circulated at the meeting (both Gil and I have
copies). It describes a mapping between the static specification of an
object schema in terms of types and classes (using pre- and post-conditions
and invariants) and the dynamic specification of the schema (in terms of
hierarchical state machines), so as to provide a unified formal specification
technique for object systems.
Tyson's presentation described the need for a formal (i.e., precise) language
for describing the semantics of business concepts (in Tyson's application,
financial trading systems, things such as derivatives, bonds, and exchange
transactions). He said that the RM-ODP Enterprise Language (which X3H7
is working on--see below) would be the ideal tool, but it doesn't exist
yet. The next best thing would be to formalize the languages for specifying
"component" sorts of things, e.g. Service Packages from Jacobson (informally
defined in Use Cases), Building Blocks from TINA-C (the communications
consortium--defined using ODL), and Business Objects from the JBOF submission
(defined in CDL). He described alternative techniques for formalizing these
specification techniques including Z, Larch, Lotos, and OBJ (Goguen's algebraic
specification language, not our company!), and possibly KIF. Ultimately,
the problem comes down to trying to define a formal specification technique
that domain experts can also understand and feel comfortable in using.
Kilov's talk was basically a motivational talk on why formal specifications
are valuable, with examples of concepts from RM-ODP and the General Relationship
Model (both ISO standards), and how they could be used in specifying simple
business semantics.
The OMSC also met Thursday, but I did not attend that part of the meeting.
Real-time Platform SIG
The Real-time Platform SIG is working on a white
paper to cover the following:
-
multiple protocols, flexible bindings (extensibility)
-
fault tolerance
-
time services, scheduling and end-to-end predictability
The SIG is also reviewing responses to an RFI they
had issued. When I joined the meeting after
lunch, half of the presentations had been made. I missed the talks by the
USAF, Hughes Aircraft, NRaD/URI, and Nortel. The remaining ones were on
Chorus support for embedded and realtime CORBA by Christian Jacquenut,
Washington University's ACE ORB (TAO) by Tim Harrison and Dave Levine,
HP's response to OMG's realtime RFI by Doug Jensen, and IONA's short position
statement on the implementation of a realtime ORB by Oisin Hurley. The
presentations were followed by an open group question and answer period
directed to all presenters.
Points made by the Chorus presenter:
-
Embedded and realtime system software follows
a 3 phase model
-
Development -> time to market (use IDL to define
interface, codegen, test and debug)
-
Deployment -> size and performance (hardware
platform and network constraints, resource allocation)
-
Operation -> high availability (control exceptions
and failures, monitoring, and reconfiguration)
-
A main requirement is the provision of flexible
binding in the ORB so users can use their own code.
-
The Chorus IDL compiler is called CHIC.
-
The ORB performs marshalling optimizations.
-
There are mappings between the ORB and the OS
-
fine grain control of OS services
-
fine grain control of communication services
-
Provision for IDL access to RT-POSIX API.
-
The Chorus/COOL ORB has the following capabilities
-
designed for distributed realtime systems, heterogeneous
operating environment, various communication protocols
-
supports IIOP
-
integrated with the Chorus/OS realtime
-
enables QoS
-
mechanisms separated from policies
-
supports interceptors, an ORB framework to support
additional services such as security (access control, authentication)
-
multiple object adapters
Points made about the ACE ORB:
-
The realtime event service and realtime scheduling
service is build on top of the ACE ORB.
-
The dispatching module has 1 thread per event
queue, events are queued according to the scheduling policy.
-
They are looking at a "push" model for the realtime
event service.
-
There is a realtime QoS interface for exposing
client QoS requirements to the scheduling service.
Doug Jensen made the upfront comment that HP's response
was from a user's viewpoint, not from a technology provider's viewpoint.
He made the case that there are two ORBs involved in realtime application
spaces, namely, for the regulatory, horizontally distributed system (most
conventional RT case) and the vertically, multi-order distributed system
(newer and more unconventional). His foils elaborate on the characteristics
of each. Vertically distributed object systems involve the interaction
of activities at different layers of the system while horizontally distributed
object systems involves interaction at the same level of the system hierarchy.
Vertically distributed systems usually involve hard, soft, and non-realtime
activities, and there is a need to satisfy QoS requirements. He also made
the point that there are degrees of realtime resource management. "Resource
management is real-time to the degree that it explicitly seeks to meet
the applications' timeliness (predictability) QoS acceptability specifications."
And that these specification can be met either by having greater resource
capacity rather than greater real-time resource management.
Useful RT-ORB features made by IONA are:
-
Configuration aspects: scaling, replaceable functional
units
-
Resource management: abstraction and monitoring
of threads, buffers, memory, concurrency entities, OS-specific resources
-
Multithreading: customizable ORB threading, thread/event
mapping, replaceable scheduling policy (queue/dequeue within the ORB)
-
Platform integration (implementation dependent):
use system features, expose RT features
-
Failure tolerance: defined failure model, replaceable
failure policies
-
Timing features: programmable timers, time service
-
Time-based QoS: basic time constraints (minimum),
deadline, periodic
-
Most vendors resist a full-standard implementation,
for they need to put in their added value. An issue is the need to standardize
on implementation features such as "thread safe".
-
OS dependencies should be required, for an RT-ORB
cannot be built without OS support.
Points made during the open discussion:
-
Doing one ORB well to handle hard, soft, and
non-realtime is not easy.
-
One open ORB should have plugability of components,
be extensible, be customizable
-
Vendors should ship source code so one can eliminate
hook interfaces and overhead
-
Replacing a module affects those modules dependent
on it, e.g., a schedule module that offers concurrency/thread control.
-
The preference is not to customize the ORB unless
it is needed for performance purposes.
-
Need sensible defaults so non-RT apps work on
a RT-ORB. Need to accommodate those who are within the defaults.
-
It is a requirement that a RT-ORB scale, and
scalability is not being addressed as a capability. Need to address issues
in an RFP that precludes or constrains scalability and predictability.
-
There are requirements and concerns for services
used in a realtime system
-
semantics could change, e.g., of a transaction
or concurrency service
-
need to look at all services to see the impact
of realtime
-
Need a realtime IIOP so different realtime ORBs
can interoperate.
I picked up a copy of a paper that seemed relevant
to the Evolution project and gave another copy to Craig to pass along to
David, namely, Building Evolvable Systems: The ORBlite Project.
I was unable to get handouts of the Chorus and TAO presentation foils plus
others, because there were not enough to go around. All presentation foils
are to be made available on the Realtime's Web page (it was suggested to
look at the ORBOS-Realtime RFI URL under Work in Progress; this is http://www.omg.org/library/schedule/Realtime_RFI.htm).
I did get the presentation foils Realtime RFI Responses by Dock
Allen (Realtime PSIG Chair) and Peter Krupp (Realtime Co-chair), HP's
Response to the OMG Real-Time RFI by Doug Jensen, and ORBOS Real-time
RFI Response by Jonathan Currey from Nortel (plus their ORBOS RFI
2 Submission, OMG document orbos/97-02-02). Also, I got the handout
White Paper on Realtime CORBA: Initial Review Draft, pages 49-120,
which covers desired realtime capabilities that are applicable to CORBA.
MetaObject Facility
I attended the official MOF submitters' presentations to the Common Facilities
Task Force on Tuesday (as indicated by the different colors, Craig was
also present for part of these presentations). (I note these as "official"
because these facilities were also thoroughly presented "unofficially"
at the Tampa meeting in January, as were many of the BOF and OA&D submissions).
It was noted that they need additional volunteers for the MOF evaluation
group (as there are only submitters in the group now). There were four
submissions, but only three presentations.
MOF Submission from DSTC, Steven Crawley (DSTC)
(DSTC is the Cooperative Research Centre for Distributed Systems Technology,
in Australia). Their submission is cf/97-01-01 on the OMG Server. As noted
in the January meeting report, this submission describes the need to support
multiple metaobject type systems and their definitions, as well as relationships
between them (e.g., relationships between types in different schemas that
use different type systems). Their type concept (as well as other concepts
in their proposal) are based on RM-ODP ideas.
Examples of metadata are: types, DBMS schemas, SGML
DTDs, ... In OMG, CORBA Interface Repository, BOF, OA&D diagrams, future
interoperability services, end user applications. Meta-X = something that
describes X.
Requirements: support many forms of meta information,
in general any type system. Bags of type schemas and also create
relationships across type systems (among things in a bag), and provide
hooks for defining type system semantics; an example of relationships across
type systems might be to define relationships between DCE types and CORBA
IDL types.
Define type as set of values for some domain,
as in RM-ODP. Types can be based on constructors (as in IDL), predicates
(using logic), or informal descriptions. Notion of type system is a meta-meta
level concept. Type schema is particular set of types and relations in
a program, they restrict type schemas so that all types come from one type
system (though you can merge type systems). MOF can support arbitrary type
systems and many of them at the same time.
Meta objects include: type objects, relation objects,
schema objects, special and known relations (where type object actually
knows about the relationships it is participating in).
Meta-meta objects include metatype, metarelation, metaschema, and metadata
objects. Meta-meta objects are immutable. Link from
each meta object to its meta-meta-object. Standard MMO to MO mapping defines
interface IDL. Generation of IDL is not mandatory. Non-standard mappings
also supported.
Uses Meta Object Definition Language (MODL).
Suggests you can build generic interfaces and specific
interfaces. The former can be used across all type systems, the latter
is implemented once per type system. Q: can't you
Key points of submission:
-
minimal, rich set of meta-meta concepts
-
MMOs and MOs are CORBA objects
-
immutability of MOs and MMOs, allows scaleable
federation.
Questions I have:
-
What is relationship of repository for MOF and
for say a database?
-
Why assume the meta-meta level? For instance,
you could use IDL to model not only IDL but also C++, Smalltalk, Java,
... since one language only is being used to represent (implement) the
others' representations.
-
If you have several type systems represented
in a repository then do you get any value from relationships across type
systems? Can you build schemas out of cross type systems? YES
-
How is a MOF different than an OA&D Facility.
The latter probably has a GUI for manipulating many representations which
can generate IDL, C++, Java, and probably read these too, so they are representing
the meta data.
-
What does the MOF actually do-just represent
types or is it executable? That is, do you support services on metadata:
persistence, queries, concurrency, versioning, ...? Do you use OMG basic
object services interfaces?
MOF submission from Gemstone/Objectivity (ODMG), Jeff Eastman (consultant)
As noted in the January meeting report, this submission is based on ODMG
technology, and proposes to build the OMG MOF on new ODMG metaobject facilities
defined as part of the ODMG 2.0 specifications (see http://www.odmg.org/
for more information). Submission includes ODMG 2.0
object model submission.
Querying schema is either via navigation or OQL query.
Done in context of transaction. Rooted metaobject. Metaobjects to represent
modules, types, interfaces, operations, parameters, exceptions, attributes,
constants, classes, interfaces, ... all ODMG objects.
Jeff noted that this submission had relatively limited goals compared to
the other submissions, being primarily aimed at representing straightforward
CORBA object semantics needed by what he called "object servers" (i.e.,
both ORBs and ODBMSs). He said it was probably not suitable for, e.g.,
representing all the UML concepts, or general type systems, and raised
the question of whether that degree of complexity was really desired right
now (suggesting instead that a more incremental approach might be preferable).
MOF Submission from Unisys/Oracle/IBM/ICL/SSA/MCI Systemhouse (JMOF),
Sridhar Iyengar (Unisys)
As noted in the January meeting report, this provides what appears to be
a fairly straightforward meta-metamodel with IDL definitions for each (meta)type
(around 25 of them), and corresponding factory interfaces and a few utility
types. As with the DSTC submission, the intent is to support the definition
of multiple type systems. Their meta-metamodel is a superset of UML, and
the submitters have been collaborating with both the Rational UML Partners
and the IBM/ObjecTime OA&D submissions to align them (the submission
is also aligned with CDIF). Sridhar mentioned that, as a partial proof
of concept, they had used the JMOF concepts to define the OMG object model,
the MOF concepts themselves, UML, and some of the SSA BOF concepts. He
also said that products implementing their MOF ideas (to what extent was
not clear) include Unisys' Universal Repository (based on the Versant ODBMS)
and IBM's TeamConnection (based on ObjectStore). (A demo was given on Thursday
night, but I did not attend). Sridhar described some feedback that had
been received since the Tampa presentations and what they were doing about
it.
Brian Henderson-Sellers raised the question of why the meta-meta level
of this submission was so complex (he noted its resemblance to UML, a metalevel
model). Sridhar's response was that it wasn't clear you could define everything
you wanted at the meta-meta level using just the core of an OA&D model.
MOF Submission from Data Access Corporation
The Data Access MOF submission was not formally presented (due to
a presenter conflict with the BOF meeting). As noted in the January meeting
report, this submission describes a fully reflective MOF that is completely
integrated with the Data Access BOF submission. Metaobjects in the MOF
represent aspects of their BOF components, and are themselves components.
An attempt was made to address issues of how to integrate their MOF with
other OMG metadata-related components, such as the Interface Repository,
Name Service, and Trader.
Discussion/Submitters Panel
It was generally agreed that there were essentially two MOF concepts represented
in the four submissions: a more general concept represented by the DSTC,
JMOF, and Data Access submissions, and the limited concept represented
by the Gemstone/Objectivity submission. While Jeff argued for the incremental
approach that the latter submission represented, most people seemed to
prefer the more general approach (I noted that architecturally it seemed
peculiar to have a "MOF" that was only an incremental step over the existing
OMG metadata concepts, and what would you call the next one?) Work is already
underway on merging the DSTC and JMOF submissions (both parties view this
as being relatively straightforward, with the DSTC submission providing
a more formal basis that the JMOF submission currently lacks). Jeff expressed
concern that the JMOF submission might not be able to handle more than
the type systems it had actually been tried out on (IDL, UML, ODL), mentioning
GDMO and HTML as additional examples; most people felt this wasn't a problem
(I tend to agree, although the X3H7 Features Matrix has some pretty "interesting"
type systems).
Someone asked why you might actually want to define relationships between
different type systems at the meta-meta level. There was some discussion
of defining ad hoc relationships for various specialized purposes, but
I said that I thought a primary use might be to define standard language
bindings between type systems, where the type systems had also been defined
in the MOF; i.e., that OMG could define its own specifications for language
bindings and important type systems (e.g., IDL, Java) in terms of MOF objects,
rather than relying on IDL plus English text, as now. Sridhar said that
he had mentioned that idea 2 years ago to great opposition, and felt it
might be appropriate to re-raise the issue now.
Rainer Kossmann (Nortel) agreed to head the Evaluation team (Sridhar, as
a submitter, having a conflict of interest at this point). It was decided
to move the final submission deadline to June 2 (three weeks before the
Montreal meeting). An evaluation document draft exists, and will be posted.
I suggested that, since several of the submitters had mentioned they had
tried out their meta- and meta-metamodels by describing various type systems,
they should post these examples on the OMG Server to help evaluators. They
agreed to do this. Sridhar mentioned that they would have a web site on
their work up by the middle of next [this] week, at www.unisys.com/marketplace/mof,
uid: mofuni, pswd: mofmeta.
During the meeting, I spoke with Charlie Bachman, who was present for the
submitters presentations. He said he was still working for Cayenne/BIS
(2 days a week; he works at home from Phoenix), and was interested primarily
in the BOF/MOF boundary issues.
After the meeting, I mentioned to Steven Crawley that I was mainly interested
in Web metadata (including digital-library-type descriptions and ontologies)
as MOF applications; he said that's what he was interested in. This
may be a useful connection. It might be worthwhile to do a more detailed
evaluation of these submissions, if only to establish the relationship
of MOF capabilities to our metadata interests (and also to validate the
whole idea; I'd like to see one of the submitters examples, and then work
my way through another model, just to get a better feel for things; I can't
say I've really worked my way through any of the submissions to this point).
I also spoke with George Brown (Intel), whom I knew at CCA. I described
what we were doing (virtual office, Internet and scaling OSAs, my metadata
stuff) and he was interested in whether we really did consulting,
as these were hot topics for them.
Business Object Domain Task Force
Wednesday morning I attended part of the Business Objects DTF meeting.
The session consisted largely of workflow presentations. One, by Wolfgang
Schulze (Dresden University), described the draft Workflow Facility RFP
prepared by the OMG Workflow Working Group. (He had previously given a
presentation on aligning workflow concepts with the OMA at the OOPSLA96
Business Object workshop; I have copies of both his presentations). He
described the following major problem areas:
-
defining a proper metamodel for workflow (i.e., determining the proper
metaconcepts or primitives in terms of which to define workflows), and
whether submitters should be asked to provide such a definition (he noted
that workflow languages should be representations of a workflow metamodel)
-
obtaining consensus about workflow-related terms (and defining them
in a fairly rigorous manner)
-
addressing relationships between workflow and object concepts
-
positioning workflows within the OMA, and defining the relationship
between the Workflow Facility and the MOF and BOF
Another issue was to what extent the existing Workflow Management Coalition
(WfMC) specifications were compatible with the OMA, and thus could be readily
used (his general view was that they needed work, since they were based
on current products, and not really "OO"). Wolfgang described the overall
scope of workflow, various problem areas associated with defining a Workflow
Facility, and specific requirements. He suggested that appropriate relationships
to other OMG facilities would be:
-
BOF: workflow objects as specialized business objects, with workflows
possibly being a subtype of "GenericProcess"
-
MOF: the Workflow Facility should use the MOF to store the workflow
metamodel
-
Rule Management: workflow steps could be fired on the basis of rules,
with the workflow engine used to implement workflow constraints and deadlines
Wolfgang also presented a four-layer Workflow Metamodeling Architecture
consisting of:
-
a meta-metamodel layer (within the MOF's purview) which defines the
language for specifying workflow metamodels; instances would be things
like "metaclass" and "metarelationship"
-
a metamodel layer (within the purview of workflow vendors) which defines
the language for specifying workflow models (i.e., a workflow language);
instances would be things like "workflow", "activity", and "control flow
join"
-
a model layer (within the purview of workflow model designers) for
specifying workflow schemas; instances would be things like "credit_request"
and "send_approval"
-
an object layer (within the purview of end users) for specifying workflow
objects (instances of a workflow schema in a CORBA environment); instances
would be specific requests
The Workflow Facility RFP will be on the OMG Server; the working group
has web pages at http://wwwdb.inf.tu-dresden.de/WF-WG.
The other presentation, by Marc-Thomas Schmidt (IBM, chair of the WfMC),
described the WfMC proposal for the OMG Workflow Facility. He and David
Zenie (NIIIP) are co-chairs of the OMG Workflow WG. Marc presented their
overall approach, and indicated that he would like to see more of what
the WfMC has done reflected in the Workflow Facility RFP. During discussion,
Oliver Sims (SSA, and a prime mover in the BOF work) argued that the WfMC
specifications seemed to be based on the concept of a centralized "workflow
engine" (ala current workflow products), that this was overly centralized
("the Stalin model", in his terms), and not truly OO, and questioned whether
a proper object analysis of this area had been done. This was also the
basis of a discussion I had had with Wolfgang, Marc, and Jeff Sutherland
(Index, X3H7 Secretary) prior to the meeting. Jeff is pushing Wolfgang's
approach as being more OO (and thus fitting into the OMA more cleanly)
and less representative of the current workflow legacy products developed
without reference to object concepts. The approach Wolfgang and Jeff want
is apparently to enable general business objects to participate in workflows
via control flows more distributed among objects (e.g., using notifications),
and expressed using more general OMA facilities (including rules, when
they become available), rather than the more conventional approach of having
a centralized workflow execution engine.
In a separate conversation, Cory Casanave (Data Access) told me that their
JBOF submission had merged with half of the other submissions, IBM being
the primary major holdout (they're still working on that).
Halfway through Thursday afternoon I left the OA&D meeting (after they
concluded the boundary-related discussions) and returned to the BODTF meeting.
It had already concluded, but I talked with Tom Digre (Data Access) about
what happened. The BOF final submission date has been pushed back to 7
November. Tom said that he was surprised at the amount of interest in delay
on the part of non-submitters, and that the delay meant that they may have
time to complete a product that completely implements their submission.
He also said that they would feel less pressure to compromise with other
submitters due to the delay. Tom mentioned that Cory Casanave had told
him that there may be a vote to kill the BOF at the Domain Technical Committee
(DTC) meeting on Friday (!), due to some feeling on the DTC and the Architecture
Board that BOF may be a wrong direction (I flow out on Friday morning,
and so didn't find out whether that actually happened).
Boundary Working Group
Wednesday afternoon I attended the Boundary Working Group meeting, chaired
by Tom Digre. Tom summarized the results of the Tampa discussions, and
reviewed the scope of the working group (specifically, MOF/BOF/OA&D
alignment issues, rather than other architectural boundary issues such
as MOF/ORBOS relationships). Revised Boundary Guidelines reflecting the
Tampa updates were circulated (I have a copy). Jim Odell described the
status of the OA&D evaluation process, and noted the existence of a
number of evaluation papers on the OMG Server (many of which I had read
prior to the meeting). Rainer Kossmann, heading the MOF evaluation team,
reviewed that process. The various submitters then gave brief boundary
presentations (their views on how the various submissions fit together).
Many of these repeated material they had given in their individual presentations
to the MOF, BOF, and OA&D groups (and which was reported in the January
trip report). The following are the more significant "events" (IMHO).
Sridhar Iyengar (Unisys) gave a presentation on behalf of the Rational
UML partners, the JMOF partners, the IBM/ObjecTime (OA&D) team, and
JBOF, EDS, and TRC (BOF submitters). He described a MOF/OA&D/BOF architecture
as a proposed reference model for dealing with boundary questions. This
was later adopted by the Boundary Working Group as the starting point for
an overall reference model. Sridhar noted that a number of the relationships
(represented in the architecture by arrows) between facilities were defined
in CDL (from the Data Access BOF submission), which he described as being
a textual form of the metamodel (that is, you would translate CDL into
a collection of objects and relationships between them; these objects and
relationships would have types defined in the metamodel). (Tom Digre indicated
that the BOF submitters were working to develop a BOF metamodel.)
Fred Cummins (EDS) discussed an alignment which saw workflow/process objects
as specialized business objects, with rules and constraints specified by
future OMG facilities (using notification to loosely couple business objects),
and an object specification language defined within the OA&D facility.
Ptech's presentation indicated that their OA&D submission had its own
meta-metamodel foundation. They felt that business object metamodels were
not sufficiently supported by OA&D metamodels, and that a meta-metamodel
was necessary.
During the meeting, Joaquin Miller (MCI Systemhouse, X3H7 Chair) raised
what came to be known as the "phone number" issue; i.e., if you want the
metadata describing what a "phone number" is in a particular design, where
do you go to find it (e.g., the MOF? the OA&DF?)? The interface of
the object is presumably part of a design object defined using the OA&D
facility, but do you not go to the MOF at run time? If you go to
the OA&D facility instead, will you use MOF-defined interfaces?
After the meeting I talked with Tom Digre and Fred Cummins about this "phone
number" issue. I suggested, and they agreed, that a mapping from the interfaces
in the various submissions to one or more example software component architectures
would clarify things, since people tend to be thinking in terms of software
architectures, rather than collections of interfaces specified in the various
facilities (I also suggested to Tom that the Boundary Guidelines would
be a possible place to put this material). There is clearly some additional
architectural work to be done to merge these facilities into a coherent
architecture (although some of the submitters may have clear ideas on how
to do this, they are not necessarily clear to everyone else). None of the
presentations seemed to refer to the specific example (scenario) contained
in the Boundary Guidelines, and working through an actual example would
help a lot (it would certainly help me!).
Object Analysis and Design Facility
Jim Odell chaired this Thursday meeting (Mary Loomis was in and out; she
told me that HP had a submission to the COM/CORBA interoperability RFP
before ORBOS that she was keeping track of). It was announced that the
UML partners had agreed in principle to merge their submission with the
IBM/ObjecTime submission (and that the Platinum and Traskon submissions
would also be merged with the UML submission). This leaves Ptech and Softeam
(so far) as the remaining separate submissions (the Ptech submission was
circulated at the meeting; the others had been circulated at the January
meeting).
Sridhar Iyengar presented a summary of what happened at Wednesday's Boundary
Working Group meeting (see above). He noted that alignment of the core
of MOF and the core of UML was under way. He also said that the BOF could
optionally use MOF interfaces at run time to query OA&D metamodels
(this to a certain extent addresses Joaquin Miller's "phone number" issue
raised at the Boundary WG meeting).
A written list of issues had been circulated to the Task Force with the
idea that these would be the basis of Task Force recommendations or guidance
to submitters (I have a copy). These issues were discussed at length at
the meeting (examples of issues: should we adopt a notation? how formal
should the OA&D metamodel be? what type or types of "compliance" are
we after? what relationship should exist between the MOF meta-metamodel,
BOF concepts, and OA&D metaconcepts?) Unfortunately, this discussion
got bogged down in a lot of formal wording of and voting on motions which
conveyed (I'm afraid) little useful information to the submitters. In some
cases, the Task Force discussed procedures which were not permitted by
OMG bylaws, such as approving parts of separate submissions without the
submitters agreeing to merge (I pointed out that this was because the OMG
wanted submissions based on actual software). In other cases, the guidance
was effectively "don't do obviously stupid thing X" (which I doubt someone
like Jim Rumbaugh really needed to hear). There was general agreement with
the idea that the OA&D core metamodel should be aligned with the MOF
meta-metamodel (as Steve Cook (IBM) put it, if the OA&D facility had
types MetaEntity, MetaAttribute, etc., and the MOF had types MetaMetaEntity,
MetaMetaAttribute, etc., and they were different, "people would
think we were crazy"). The submitters indicated that they would try to
include examples of when OA&D interfaces would be used, and when MOF
interfaces would be used. Jim Rumbaugh observed that there would probably
be nothing special in the BOF that couldn't be supported by the OA&D
facility, but that if there were, those things should be added to the OA&D
model, in the interests of helping it become more complete. The Boundary
Working Group will be dealing with these issues as well.
It was agreed to extend the final submission deadline to 15 July, in order
to give the submitters more time to merge their submissions.
Electronic Commerce Domain Task Force
(I did not attend the ECDTF meeting, but picked up some of their documents,
and so thought I should report on this). The ECDTF has several items in
progress. They have issued an RFP for an Electronic Payment Facility (responses
are due August 4). At this meeting, they discussed a draft RFP for Certificate
Services (ec/97-02-01, which may have been voted out by the end of this
meeting), and an in-progress whitepaper on Electronic Commerce. The group
also heard presentations of responses to an earlier RFI "Enabling Technologies
and Services for Electronic Commerce". I picked up three of the responses
(there may have been more):
-
"eCo System: CommerceNet's Architectural Framework for Internet Commerce",
from CommerceNet, Inc., an Internet commerce industry consortium
-
"An Open Architecture for Electronic Commerce" from OSM, another electronic
commerce industry consortium (largely based in Europe, although Visigenic
and OMG are also members)
-
A response from Applied Communications Inc., Mercantec, Inc., and Tandem
Computers
eCo System is designed as a framework of frameworks. It is intended to
be a layer of middleware on top of Internet commerce platforms such as
Netscape ONE and Oracle NCA. It extends the CORBA/IIOP infrastructure used
by these platforms to accommodate agents that understand a Common Business
Language (CBL). CBL consists of the set of NSI (network services interfaces)
messages, business objects, and product taxonomies defined by the various
frameworks. Each eCo System application is a network-accessible service
provided by distributed objects. eCo System objects respond both to CBL
messages from agents, and HTTP requests from Web browsers. A number of
technical decisions have been made for implementing eCo System, including:
-
Java programming language for implementing electronic components (primary
vendor: JavaSoft and Sun)
-
Electronic Wallet (primary vendor: JavaSoft and Sun)
-
Java CORBA 2.0 Compliant ORB (primary vendor: Visigenic)
-
Java IDE (primary vendor: Symantec, Asymetrix)
-
Java reusable class libraries (primary vendor: RogueWave, Netscape,
JavaSoft, Oracle)
-
Object-Oriented CASE tools (primary vendor: Rational)
-
Data Warehouse and Data Mining (primary vendor: Arbor)
The OSM response describes an architecture consisting of a number of services
and facilities to provide support for electronic commerce. It also describes
the relationship of these services and facilities to other parts of the
OMA and other related standards and specifications (including the ECDTF
draft RFP on Electronic Payment). It assumes (at least on an interim basis)
the use of specific technologies from the various BOF submissions, specifically:
-
definitions of the Role, Session, and Process objects, and the Component
Definition Language (CDL), from the Data Access BOF submission
-
the definition of the Semantic Data Object from the System Software
Associates (SSA) BOF submission
The use of the Semantic Data Object is part of the OSM Profile Service,
and is intended to provide a mechanism for the exchange of higher-level
semantic information describing products, services, content, and assets
(e.g., for use in negotiations). This is relevant to, among other things,
our Metadata task.
ANSI X3H7
X3H7 was scheduled to meet all day Monday through Wednesday, but actually
met off and on due to conflicts with the MOF, BOF, and OA&D facilities
meetings, which most of the members also wanted to attend (I missed some
of the X3H7 meeting due to these conflicts). A brief session Monday morning
established the existence of these conflicts, after which we scattered
to various other meetings (I went to the Object Model Semantics session,
as reported above). A longer session took place Monday afternoon. The committee
voted (again) to submit the Object Model Final Report (I'm its Editor)
to ANSI for publication (I have yet to hear from X3 how to actually transmit
the document to them). The committee also voted to propose to be the U.S.
Technical Advisory Group (TAG) for the RM-ODP Enterprise Viewpoint (EV)
work (which would mean having formal direct participation in the ISO RM-ODP
work, rather than going through X3T3, as now). Roger Burkhardt (John Deere)
was named liaison with X3T2 (which handles the conceptual schema modeling
activity, and also the KIF/KQML standards work), and I was named liaison
with X3L8 (data element standards, working on metadata registries).
Most of the time was spent in discussing the relationship of X3H7's work
to that of OMG, and discussing general metadata issues. This discussion
was to some extent prompted by some comments I made when we were describing
our individual interests in pursuing the EV work. I said that while I was
tangentially interested in the EV work, I was primarily interested in defining
broader detailed relationships between RM-ODP (concepts and standards)
and OMG (architectural concepts and specifications). My point (which I've
made before to X3H7) was that while RM-ODP is supposed to be an international
standard reference model for open distributed systems, OMG's OMA is a primary
example of these concepts in actual specifications to which products are
being built (DCOM and the Web are other examples), and OMA supposedly conforms
to RM-ODP. If serious alignment cannot be defined, RM-ODP will be ignored,
and OMG specifications may fail to obtain all the useful guidance (in my
opinion there is some) that can be obtained from RM-ODP (some of this guidance,
e.g., on the need for a Trader Service, and multiple interface objects,
has already had some effect, and it is being reflected in submissions to
other RFPs as well).
The discussion on metadata issues included general issues, the need for
both meta and meta-meta levels, and relationship to the OMG MOF, BOF, and
OA&D Facilities. Some of this discussion replicated discussion at our
team meeting about when data should actually be considered "meta" and when
it should simply be considered as related to the base data in a more generic
sense, and was fairly useful. Joaquin Miller argued very strongly that
the OA&D core should be roughly 6-8 metaconcepts in terms of which
everything else could be defined, and that this should be roughly the same
as the metameta objects defined in the MOF. The basis of this idea is presumably
that OA&D models are intended to be able to model, in an OO way, anything,
and hence should be capable of describing object model and type system
concepts. This is also presumably the idea behind requiring the MOF to
support OA&D metamodels as a basic capability test. This is a plausible
idea, but requires further checking. It was noted that OA&D currently
doesn't define concepts like "obligation" and "policy", which are required
in the EV (although a number of OA&D methodologies involve the identification
of "policies"; presumably they define them using other constructs). It
was suggested that describing a selection of the object models in the Features
Matrix might be a useful test for the MOF (this is a useful idea, although
the MOF metameta concepts are already similar to many of the "columns"
in the Features Matrix; it is not something that I necessarily want to
get immediately involved in, however). It was also noted that the use of
the MOF metameta concepts to describe object models was similar to the
"RISC" object model idea that I had circulated a couple of years ago; we
briefly discussed computational reflection based on this reference (although
the MOF is not required to be reflective in the sense of having a metaobject
protocol that actually controls the behavior of the objects it describes).
It might be a worthwhile activity for me to write up some material on the
RM-ODP/OMG alignment, both for my own information, and to get the ball
rolling. This could be developed into a submission to both X3H7 (and via
them to ISO) and also OMG (possibly the Architecture Board, since Andrew
Watson is an ANSA veteran, and ANSA was a primary contributor to RM-ODP
concepts). However, it's not like I don't have enough work to do.
Tom Rutt (Lucent), who is X3T3's ISO rapporteur, told Joaquin Miller that
he was very interested in seeing X3H7 merge with X3T3. This would
possibly simplify the organization structure of RM-ODP activities, for
which X3T3 is the primary U.S. focus, and also reduce overhead somewhat.
Other benefits (IMO) would be that more critical mass, and better communication,
would be available. Joaquin told Tom to talk to me and Jeff Sutherland
about it. I told Tom I supported the idea. Tom said that a merger would
not necessarily involve any operational change in work on the EV standard.
X3H7 also met for part of Tuesday, but I did not attend that part of the
meeting.
Miscellaneous
First issue copies were being distributed of a new
publication Distributed Object Computing (DOC). From what I read, it is
going to be a worthwhile publication.
I had dinner Monday night with a group including Marie Lenzi, the Editor-in-Chief
of Distributed Object Computing (this is a qualified publication; individuals
can sign up for free subscriptions if they "qualify"). She seems pretty
"into" the industry in general. On the other hand, while the articles in
the introductory issue distributed at the meeting seem fairly timely, some
of them were pretty poorly written (a reference to the amount of "editing"
that may actually be taking place).
It occurred to me that it might be useful to collect, and possibly write
short white papers about, various technical issues that surface in OMG
that specifically relate to "Scaling Object Service Architectures". An
example is some HP work presented to the Telecom DTF several meetings ago
about issues they encountered in scaling object identity and other mechanisms
in CORBA to deal with very large numbers of objects.
While I did not attend these meetings, I note from the Agendas of various
other groups the following items of possible interest:
-
the Manufacturing DTF is considering a possible RFI on STEP Business
Objects
-
the CORBAtransport group is considering a common transport lexicon,
and the implications of BOF and Common Business Objects for Transport