1 THE HARMONIZED MODEL John R. Herring Convener Harmonized Model Maintenance Group History of Western Philosophy Bertrand Russell, 1946 One of the defects of all philosophers since Plato is that their inquiries … proceed on the assumption that they already know the conclusion to be reached. References 3 Text (avoid “cookbooks”- too application specific) The Unified Modeling Language Reference Manual — James Rumbaugh, Ivar Jacobson, Grady Booch — Addison-Wesley (2nd edition, 2005) Specifications www.omg.org, www.opengeospatial.org OMG Unified Modeling Language (OMG UML), Infrastructure OMG Unified Modeling Language (OMG UML), Superstructure OGC 08-131r3 The Specification Model — A Standard for Modular specifications Purpose of the Harmonized Model Harmonize ISO TC 211 standards http://www.isotc211.org/pow_all.htm Define a common object-oriented vocabulary Provide a common basis for implementations INSPIRE http://inspire.jrc.ec.europa.eu SEE Grid (solid earth environment grid) Two inherent logical layers: Conceptual – root of interoperability Implementation – root of plug-n-play HMMG Home — http://www.isotc211.org/hmmg/HTML/root.html 5 Links to – Model data download Dependency document. An HTML view of the Harmonized Model Publicly readable “subversion” repository from CSIRO’s SEE Grid web site. Version of all parts, standards and work in progress. Refreshed multiple times daily. What the Harmonized Model is 6 A UML model defined (in pieces) by the official editions of ‘every’ ISO TC 211 standard Through various human errors, there are some problems. The HMMG has only limited authority to fix these The Model shall match the documents Minor fixes are done to align the model with the documents Other problems are referred to “leads” and may result in corrigendum or other fixes. UML in the HM 7 See Reference Manual cited Is not a graphics editor Is a set of formal graphics languages with wellspecified meanings and interpretations Can be some of many things: Ontology, object design, resource design (REST), process design, system architecture Well governed system; rules of use, flexible but strict Layers of model and metamodel, abstractions: ’09, ’10 Compliance can be loose or tight: ’07, ‘36 Model procedures with repository 8 Edited with Enterprise Architect in (a local copy of) the Harmonized Model (to track GUIDs) – always! Stored in a “subversion” repository at JRC. Stored as XMI, each document, published edition – linkages by GUID, not names which may change Management is done by EA and Subversion New EA commands: check-out, check-in, refresh (often) By document editor, or HMMG approved staff Repository can “recover” the state after any transaction, from any date, state of model Basic procedure with repositories 9 Repository Check-out Local Copy Edit … Transaction Repository Edit Check-in Local Copy Model procedure using copies 10 Editor begins with a new copy of the harmonized model New package is created for each document/edition Editor periodically (monthly?) posts his documents model to the HMMG HMMG does a quick merge, update and post Editor retrieves new copy of his doc in HM (all other documents are refreshed to current state) Some limitations 11 Nothing changes unless the package is checked out before and checked in after (commits a transaction) An editor should only check out his document Elements in XMI are identified and linked only by GUIDs, globally unique identifiers GUIDs enable round tripping of the XMI at any granularity (one package to whole model) Multiple versions of same document mean no name uniqueness (especially within a series)– all linkages are by GUID The Future — Direct repository use 12 Currently editions are posted through the HMMG leads, editors work in copies of the model In the future, editors will access their own documents in the repository – transactions through local copies The repository procedures will keep them from changing anything they do not own Subversion tracks all changes, records all states and which user does what. Known Issues (under work / debate) 13 Unit of reuse (OGC ‘Modular specification policy’) Unit of reuse in a standard is the conformance class Unit of reuse in a UML model is the package In the future, UML packages in the harmonized model should respect conformance class boundaries Direct Access to repository by editors Plans to create an “partially editable mirror” Working documents editable by PT/EC Published documents read-only (maintained by HMMG, strict consistency rules – tagged for development processes) Questions? 14 cover of New Yorker; August 4, 1986