Draft Requirements for CTM
Authors: Gabriel Hopmans, Sam Oh, Lars Heuer, Steve Pepper
Version: 1.0
1. Introduction
This document contains the draft requirements for CTM (Compact Topic
Maps Syntax), which is the subject of Part 6 of ISO 13250.
CTM is a standard, text-based notation for representing topic maps.
It provides a simple, compact notation suitable for manually authoring
topic maps and providing simple examples in email and other documents.
It is intended to complement the existing XTM syntax, not replace
it.
This document has the following structure. After some editorial
definitions we will define some basic concepts for authoring Topic Maps
which we will use throughout the rest of the document. These set the
stage for requirements of the standardization document and on
requirements regarding the language itself.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC 2119].
2. Requirements on the document
This section lists requirements on the standardization document (ISO
13250-6).
2.1 Relationship to other standards
- The syntax of any URIs within CTM statements SHALL be governed by
the rules of [RFC 2396] as modified by [RFC 2732].
- The native character set of CTM SHALL be [Unicode].
- CTM SHALL be based on the Topic Maps Data Model, Part 2 of ISO
13250 [TMDM].
- CTM SHALL be aligned with the syntaxes of ISO 18048 Topic Maps
Query Language (TMQL) and ISO 19756 Topic Maps Constraint Language
(TMCL).
2.2 Document structure
- ISO 13250-6 MUST have a clause which defines a formal syntax and
the semantics of notation statements.
- ISO 13250-6 MUST have a conformance clause.
- ISO 13250-6 MAY define error situations and how CTM parsers are
required to react to them or to flag them to the calling
application.
- ISO 13250-6 MUST fully define the results of parsing CTM documents
so that any given CTM document can only have one correct topic map as
result.
- ISO 13250-6 SHOULD NOT include a CTM test suite.
3. Requirements on the syntax
This section describes the requirements for the CTM syntax itself,
grouped by type.
3.1 Formal
- The CTM syntax SHALL be defined in terms of a formal, context-free
grammar.
- The formal definition of the grammar MUST constrain topic maps to
be written in [Unicode].
- CTM MUST be defined in terms of the Topic Maps Data Model
[TMDM].
3.2 Functional
- CTM MUST be able to solve the use cases outlined in [Use
Cases].
- CTM SHALL support all natural languages equally. CTM SHALL be
fully internationalized with respect to text representation.
- CTM syntax MUST be aligned with the upcoming standards TMQL,
TMCL, and GTM (Graphical Topic Maps Notation).
- CTM SHALL be usable for operation of the upcoming Part 2 of TMQL
(insert and update operations).
- CTM MUST cover all aspects of the [TMDM].
- CTM MUST define the deserialization procedure of a CTM
document to [TMDM].
- CTM SHOULD encourage the use of published subject identifiers
(PSIs) instead of local identifiers.
3.3 Usability-related
- CTM MUST be optimized for ease of reading, ease of writing, and
conciseness.
- The use of cryptic delimiters and lengthy keywords SHOULD be kept
to a minimum.
- The needs of topic map authors SHALL take precedence over those of
engineers. However, constructs from other languages that are familiar to
engineers SHOULD be used where possible.
- It MUST be possible to formulate simple and frequently used
constructs using short statements.
- It MUST be possible to write complex topic maps in a modular
fashion.
- CTM SHOULD define directives in order to achieve its goals.
3.3 Implementation-related
- CTM SHALL be independent of any particular implementation
technique or implementation language.
- The syntax SHALL be easy to parse.
4 References
- [RFC 2119]
- Key words for use in RFCs to Indicate Requirement Levels,
http://www.ietf.org/rfc/rfc2119.txt.
- [RFC 2396]
- Uniform Resource Identifiers (URI): Generic Syntax,
http://www.ietf.org/rfc/rfc2396.txt.
- [RFC 2732]
- Format for Literal IPv6 Addresses in URL's,
http://www.ietf.org/rfc/rfc2732.txt.
- [TMDM]
- Topic Maps Data Model,
http://www.isotopicmaps.org/sam/sam-model/.
- [Unicode]
- Unicode 4.1.0,
http://www.unicode.org/versions/Unicode4.1.0/.
- [Use Cases]
- Use Cases revision 1.4,
http://semagia.com/tmp/CTM%20UseCases.html.