[udig-devel] clem

Rob Atkinson rob at socialchange.net.au
Tue Jul 25 23:52:50 PDT 2006


Hi John,
(again? - I think we discussed this a while back on OpenSDI, no?)

Hi again Bryce

You guys are touching some spaces where there is some existing work, and 
ongoing work that I suspect needs your input :-)

There is detailed discussion of the state of play in terms of formal 
methods to model features in UML at

https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/WebHome

There are a number of threads where we aim to develop and promote 
improved experience and power of the tools:

Under way:
1) Support for a common, formal, mechanism to allow simplified views 
(typically GML Level 0,1 profiles) and legacy views against a shared 
conceptual model
2) Eclipse plugin for the "UGAS" (aka ShapeChange) UML -> GML schema 
automation tool (using ISO 19118 rules)
3) Modularisation of the modelling framework to allow external models 
and schemas to be effectively imported

In research and planning:
4) geoserver WCS / geotools coverage /FM branch convergence
5) Supporting the Observations and Measurements patterns with easy 
configuration capabilities

FYI I have been pouring UML models using O&M and ISO base packages into 
the Geoserver "complex-features" branch for a while, and am waiting for 
FM to come home so that I can start to exercise and debug it.


We'd be most interested to share thoughts about the relationships 
between coverages and FM, since Bryce has probably looked much deeper 
into this than anyone else.

When I say "we" - there is a group of people who include key players in 
the OGC and ISO specs world, and one sponsor of some effort in the UK 
Met Office, who faces the task of creating sensible data standards and 
appropriate tools to handle them for the meteorology domain. So, UK MO 
will be the gatekeepers for my effort in the short term, but they have 
significant internal capability and project partners with resources 
willing to look into these matters.

Specifically, we want a Geoserver capability able to support coverages 
via WFS and WCS, and also the general feature model - time-series, 
objects with multiple geometries. I'd have thought a sensible, 
comprehensive, test case would be the ability to create a function that 
intersected a locus (3D trajectory) with a 4-D coverage and created a 
profile, and was able to serve profile this as an XML encoded GML 
feature or a binary-encoded "coverage" format. This function doesnt need 
to be defined or managed at run-time - it can be plugged in as code if 
necessary, but the feature model has to allow passing the input locus as 
a feature into the function, and the serialisation of the result as GML 
or a binary object.

At the very least, we'd appreciate it if you could identify the 
functionality you are targetting, and propose some test cases that can 
be used to test whether anything we plan is going to break what you 
need, or if what you are doing is going to serve our needs in the short 
term.

PS - I also want to get my head around this to fulfil expectations of my 
role on the Geoserver Project Steering Committee :-)  Help me help you!


NB The ShapeChange tool currents reads XMI, and it would take a bit of 
effort to make it read directly from an in-memory model, and the UML 
plug-ins for Eclipse didnt look worth the effort yet. Adam Flaherty at 
the UK Met Office has looked deeper into this and may be able to provide 
more explicit insight into the issues here.

Nevertheless, this is not such an issue since:
a) any modelling tool ought to be able to serialise the model into XMI 
for management, transfer and archiving
b) GML schema is a lossy serialisation - the model will contain more 
information than can be expressed unambiguously in GML/XML  schema
c) UML -> XMI -> GML is not that onerous and could be automated within 
Eclipse I'd have thought

The big issues informing models are how to modularise them. I strongly 
suggest you look at the HollowWorld template provide at the website above.
If you dont want to buy Enterprise Architect then it should be possible 
to use ArgoUML or some other tool - and it would be a useful 
contribution to test this out.


Regards

Rob Atkinson


John Reid <sdiowl at yahoo.com.au> wrote on 07/25/2006 09:02:18 AM:


> > Guess I should start by introducing myself properly  :-)   My name's
> > John Reid.
>   

Welcome aboard!


>> > > Hmmm... a _graphical_ modeling tool, or an Ecore adapter?
>>     

> > Bryce, you nailed it.  From a quick initial read of docs I think
> > I'll need both.  My initial idea was to:
> > 1. Define a UML profile for geographic features
> > 2. Use a (possibly customized) heavy-weight UML 2.0 graphical
> > modeling tool to do the hard work.  I'm currently looking at Visual UML
> > 3. Use XMI and UML 2.0 Diagram Interchange files for native model
> > persistence and publishing
> > 4. Provide adapters to read/write ISO compliant XML schemas
>   

I'm getting lost in terminology.  This happens to me a lot.   :) 

1] My understanding is that the UML encoding of Geographic features was
handed to us from on high in 19109, Clause 8 (I think).  Are you talking
about drawing out the required UML (e.g. '107, '108, '111, '112, '115...)
in a specific UML tool?  Or are you talking about something else when you
say a "profile"?  Perhaps drawing out a particular subset of '107, etc.

2&3 ] Bravo!

4] ? Which ISO compliant XML schemas?  GML 3.2.0 / ISO 19139?

Beware of the GT/GeoAPI Feature Model.  You may get some data which is not
strictly ISO compliant (making it difficult to encode it in an ISO
compliant way.)  Jody insisted on allowing for non-OGC non-ISO features
merely because customers generate all manner of garbage XML and he's afraid
to call them wrong.   :)   Due to much whining on my part, they made
allowances for people who play by the rules, but I think this is optional.
It has been a while since I looked at the Feature Model.  I suggest you
examine it to ensure that you can extract an appropriate guarantee that
feature schema you receive will be encode-able...Pay particular attention
to duplicate feature attributes.  Jody, can you direct this fine young man
to the ISO subset of the feature model?

Also beware of GML.  Making an XML schema seems to invite people to
disregard all else.  The XML Schema for GML permits more than is allowed by
the text of the GML standard, and also more than is allowed by the data
model GML is supposed to represent.  People will argue that anything that
validates against the schema should be considered "legal" even if it
conflicts with the text of the GML standard or the model that GML encodes.
You're going to have to defend your #4 from incorrect allegations of it
being broken and resist the temptation to break your codec for everyone
just because someone has produced or needs to receive data which is broken
in a specific way.  Down that road lies madness.

Not that I have any strong feelings on the issue.  :)  Nope not me.


> > I had hoped that a direct mapping could be established between a UML
> > profile and ISO 19109, however I'm now unsure if this is possible.
> > At least not with the "natural" way to use UML profiles...  It looks
> > like an additional layer will be needed to map from the Eclipse UML2
> > model to the GeoAPI interfaces and 4) can be handled by the
> > Geotools/uDig implementation of these interfaces.
>   

Again, I'm not sure I understand the word profile in this context.

I think Eclipse UML2 would only be necessary because you want to use UML2.0
Diag. Int. Files.  Ecore is much smaller and I'm nearly certain it contains
everything required to be ISO compliant (including references, inheritance,
etc.)  Is there a converter between the two?  The only reason I mention it
is because Coverages are being built as Ecore models, which should
kickstart your profileing.

The next two paragraphs are intended to convince you that you need to
declare your scope before it explodes.  :)  Don't get discouraged!  I want to
see UML schema representations happen!!

How do you intend to handle Operations?  When a geographic feature is
specified to have some sort of behavior, how do you want to match it up
with a local version of code in the current environment?  Can't code it in
UML!

More generally, say you have a shapefile containing roads which came from
some random source.  Separately, you have an ISO compliant Roads schema
which you have been working with (maybe even coding against: routing
algorithms and whatnot.)  Can you map the feature attributes in your
shapefile to identically-defined "standard" attributes in the Roads schema,
thereby making all your hard "routing" work available to you?





More information about the udig-devel mailing list