opengeospatial / ogc-modspec

OGC ModSpec in Metanorma
1 stars 2 forks source link

Add a section on Standardization Targets #44

Open cmheazel opened 1 week ago

cmheazel commented 1 week ago

The requirements applicable to an implementation depend on the role of that implementation. For example, a client implementation vs. a server. We can express those roles using the "Standardization Target" concept. If we decide to take this approach, it needs to be clearly expressed in the ModSpec.

cmheazel commented 4 days ago

Every OGC Standard shall include a Standardization Goal. This is a concise statement of the problem that this Standard will help address and the strategy envisioned for achieving a solution. This strategy typically identifies real-world entities that need to be modified or constrained. At the abstract level, those entities are the Standardization Target Types. These are the classes of entities to be standardized. A Standard defines the requirements levied on one or more Standardization Target Types.

Instances of a Standardization Target Type are the Standardization Targets. These are the real-world manifestations of the Standardization Target Type. In summary: • Standardization Goal – identifies the problem and identifies the actors and entities involved in solving that problem • Standardization Target Type – An abstract representation of one of the actors or entities identified in the Standardization Goal • Standardization Target – an implementation of a Standardization Target Type. These are the real-world entities which can be tested for conformance with the requirements documented in the Standard.

Standardization Target Types can be hierarchical. The Conceptual, Logical, Physical hierarchy is one example where the Standardization Target Types are information models. Another example would be implementations of API Features Part 2 which support XML data exchange.

Notice that the Standardization Targets and Standardization Target Types no longer form a simple taxonomy. The Standardization Target Types, Standardization Targets, and Standardization Goal provide a well-defined context for the standard. This will help users of our standards to quickly understand the scope of a Standard and to select those Standards appropriate for their needs. It also will help keep Standards developers focused on the intended use of their standards, avoiding standards which are overly broad and/or unfocused.

jyutzler commented 4 days ago

We had an exchange a few months ago that culminated in the following:

Carl, OK, I was obviously wrong. Please confirm that the standardization target type would be something like an SQLite database file and the standardization target would be a specific file that is being tested for conformance to the GeoPackage Encoding Standard. Did I get that right?

Based on this, I think that web client / web application / web server could all be standardization target types, depending on the standard we are looking at. The standardization target would be a specific instance of that type.

cnreediii commented 4 days ago

Target Type - CDB is a deterministic, authoritative datastore for simulation Target - Conformance target - Implementation

cmheazel commented 4 days ago

Example -- We have a Web API which is protected by security controls. How does the client discover and apply those controls to access the API? Standardization Target Types: Security Metadata - information on the security controls and how to use them Client - how the client discovers, accesses, and uses the security controls Server - how the API provider advertises those controls and supports their use by client.

cnreediii commented 3 days ago

OK. Something has been "niggling" my grey cells (thanks Poirot!) So I re-read just the requirements in the ModSpec. The ModSpec does clearly state that each conformance class can have a standardization target. Requirement 5: All conformance tests in a single conformance test class in a conformant standard shall have the same standardization target. Further, each requirements class and requirements module is an aggregate of requirements of a standard against a single standardization target type. And from the T&Ds, a standardization target is an entity to which some requirements of a standard apply.

So, the implication is that a Standard can have multiple standardization targets and multiple standardization target types. Chuck provides good examples of multiple standardization target types. I do not think this is in conflict with our recent discussions or Chuck's early morning missive but we do need to be clear to the reader about these concepts! I also agree that each Standard should have a clear problem statement (Goal). Such information would be great metadata for a knowledge base so folks can actually find an OGC Standard of best use for their application.

cnreediii commented 1 day ago

Related to Issue 14