<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info" docName="draft-betts-netmod-framework-data-schema-uml-01" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->

    <title abbrev="Data Schema from UML Model">Framework for Deriving Interface Data Schema
    from UML Information Models</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

    <author fullname="Malcolm Betts" initials="M." role="editor"
            surname="Betts">
      <organization>ZTE</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city></city>

          <region></region>

          <code></code>

          <country>Canada</country>
        </postal>

        <phone>+1 678 534 2542</phone>

        <email>malcolm.betts@zte.com.cn</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

	    <!-- Another author who claims to be an editor -->

    <author fullname="Nigel Davis" initials="N." role="editor"
            surname="Davis">
      <organization>Ciena</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city></city>

          <region></region>

          <code></code>

          <country>UK</country>
        </postal>

        <phone></phone>

        <email>ndavis@ciena.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

	    <!-- Another author who claims to be an editor -->

    <author fullname="Kam Lam" initials="K." role="editor"
            surname="Lam">
      <organization>Alcatel-Lucent</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city></city>

          <region></region>

          <code></code>

          <country>USA</country>
        </postal>

        <phone>+1 732 331 3476</phone>

        <email>kam.lam@alcatel-lucent.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

	    <!-- Another author who claims to be an editor -->

    <author fullname="Bernd Zeuner" initials="B." role="editor"
            surname="Zeuner">
      <organization>Deutsche Telekom</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city></city>

          <region></region>

          <code></code>

          <country>Germany</country>
        </postal>

        <phone>+49 6151 58 12086</phone>

        <email>b.zeuner@telekom.de</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

	    <!-- Another author who claims to be an editor -->

    <author fullname="Scott Mansfield" initials="S." role="editor"
            surname="Mansfield">
      <organization>Ericsson</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city></city>

          <region></region>

          <code></code>

          <country>USA</country>
        </postal>

        <phone>+1 724 931 9316</phone>

        <email>scott.mansfield@ericsson.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

	    <!-- Another author who claims to be an editor -->

    <author fullname="Paul Doolan" initials="P." role="editor"
            surname="Doolan">
      <organization>Coriant</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city></city>

          <region></region>

          <code></code>

          <country>Germany</country>
        </postal>

        <phone>+1 972 357 5822</phone>

        <email>paul.doolan@coriant.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>	
	
    <date month="March" year="2015" />

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>General</area>

    <workgroup>Netmod Working Group</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>Information Model</keyword>
	
	<keyword>Data Schema</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>This draft describes a framework for how purpose and protocol specific   
	  interfaces can be systematically derived from an underlying 
	  common information model, focusing upon the networking and forwarding 
	  domain.  The benefit of using such an approach in interface 
	  specification development is to promote convergence, interoperability, 
	  and efficiency.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">

 <t>Interface specifications are often generated as point solutions 
	  where the designer codes a particular interface from domain 
	  (problem space) concepts that may not be explicitly captured, 
	  may be defined using localized terminology that is subject to 
	  ambiguity in interpretation, and is highly focused on a particular 
	  use-case/application.  The designer typically provides a representation 
	  of the interface schema in the form of a data schema <xref
      target="RFC3444"> </xref>(i.e., data structures conveyed over 
	  the interface), which only exposes the view of the domain 
	  relevant at that specific interface.  As this data schema 
	  is a simple statement of the particular interface, it solely 
	  describes relationships relevant to the specific realization, 
	  having no inherent relationship to other interfaces in the system. 
	  </t>
	  
<t>Approaching the development of interface specifications on a per 
	  use-case/application basis tends to promote unnecessary variety 
	  through a proliferation of similar interfaces, resulting in unnecessary 
	  divergences that limit interoperability. It also risks confusion of 
	  representational artefacts with fundamental characteristics of the 
	  information to be conveyed across the interface. There is also a risk that 
	  conflicting representations of the same information may be generated. Finally, as each such 
	  interface appears to stand alone, it thereby fails to capture relationships 
	  with other aspects of the same (or different) domains that are not explicitly 
	  needed for the interface.</t>

<t>This draft describes a framework for how a protocol specific data schema 
    and the encoding used for the interface can be systematically 
	derived from an underlying common information model, focusing 
	upon the networking and forwarding domain.  The benefit of using 
	such an approach in the development of interface specifications is to promote 
	convergence, interoperability, and efficiency.</t>


      <section title="Requirements Language">
        <t>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 <xref
        target="RFC2119">RFC 2119</xref>.</t>
      </section>
    </section>

    <section anchor="basic_concepts" title="Basic Concepts">
      <t>An information model condenses domain knowledge and insights to provide 
	  a representation of its essential concepts, structures, and 
	  interrelationships.  In capturing domain understanding, such a model offers 
	  a coherent and consistent terminology and structure, expresses the 
	  semantics of the domain, and interrelates all relevant aspects of the 
	  domain.  It enables a consistent expression of information that improves 
	  interoperability between software components at interfaces derived from it. A "good" 
	  information model should capture domain best practices, and be designed 
	  to support domain variety as well as extensibility and evolution.  
	  Examples of domains include networking and forwarding, storage, etc.  
	  A single industry information model is the assembly of all domain 
	  information models, which inter-relate at "touch points".</t>

      <t>There may be several relevant views of any particular domain, 
	  depending upon the perspective of the viewer, all of which are 
	  interrelated and involve subsets of the information model, and none 
	  of which contradict each other. (It should be noted that one 
	  view provides the information model representation of the overall domain.)   
	  To form a particular (purpose-specific) view, some elements of the model may be pruned.  
	  Additionally, for efficiency, some systematic refactoring of the 
	  information model may also occur.</t>	  

      <t>In this draft, the term data schema is used in the context of either: 
	  (i) a specific protocol that is used to implement a purpose specific 
	  interface, or (ii) a programming language that is used to invoke a 
	  purpose specific API. Note that it is possible to map directly from 
	  the purpose specific information model to interface encoding.</t>

      <t>While a purpose specific interface/API is not a simple direct 
	  encoding of the information model of the overall domain, it is by 
	  its nature based on a relevant view of the information model of the domain  
	  (i.e., a purpose specific information model view).
	  It must be completely and consistently traceable to this view and 
	  should use the associated domain terminology. Depending on its 
	  application, a particular view may lead to a number of encoded 
	  forms at various types of interfaces/APIs.  The information model 
	  does not dictate the encoded form, which will depend upon such 
	  factors as necessary capability, interaction style, and programming 
	  language.</t>	  
    </section>

    <section anchor="info_modeling" title="Information Modeling">
      <t>This section introduces the Unified Modeling Language (UML), 
	  which has been used to model application structure, behavior, 
	  and architecture (in addition to business process and data structure).  
	  It also provides references to existing and ongoing work on 
	  standard information models based on UML.</t>
	  
	    <section anchor="unified_modeling_language" title="Unified Modeling Language">
      <t>The information model is expressed in terms of the Unified 
	  Modeling Language (UML) <xref
        target="OMG_UML"></xref>, which was developed by 
	  the Object Management Group.  It is a general-purpose modeling 
	  language in the field of software engineering. In 2000 the 
	  Unified Modeling Language was also accepted by the International 
	  Organization for Standardization (ISO) as an approved ISO 
	  standard <xref
        target="ISO_IEC_UML"></xref>. UML may be used in four ways:</t>

	<t><list style="symbols">
          <t>To define a set of objects (instantiated classes that, 
		  if organized, describe a data model)</t>

          <t>As an information model</t>
		  
		  <t>As a metamodel (used to create an information model)</t>
		  
		  <t>As a meta-metamodel</t>
		  
        </list></t>

	<t>UML defines a number of basic model elements (UML artefacts), 
	such as object classes, attributes, associations, interfaces, 
	operations, operation parameters, data types, etc. In order to 
	assure a consistent and harmonized modelling approach, and to ensure uniformity 
	in the application of UML to a problem domain, a subset of the basic model 
	artefacts should be selected according to guidelines for creating an 
	information model expressed in UML <xref
        target="ONF_UML_Guide"></xref>. 
	The guidelines are generic; i.e., they are not specific to any particular 
	domain that the information model is addressing, nor are they restricted to any particular 
	protocol interface data schema.</t>	
		
       </section>

    <section anchor="standard_UML_Info_Models" title="Standard UML Information Model">
      <t>Information models expressed in UML, primarily focused upon the 
	  networking and forwarding domain, have been, and are in the 
	  process of being, developed in ITU-T, TM Forum, NGMN, 
	  3GPP, MEF, ONF, and others.</t>
	  
      <t>ITU-T Recommendations are focused on understanding the 
	  telecommunications problem space and developing information 
	  models addressing network and network element considerations. 
	  Some examples of available standard ITU-T information models 
	  relevant to the networking and forwarding domain include:
	  <list style="symbols">
          <t>ITU-T G.874.1 (2012), Optical transport network: 
		  Protocol-neutral management information model for 
		  the network element view <xref target="ITU-T_G.874.1"></xref></t>

          <t>ITU-T G.8052/Y.1346 (2013), Protocol-neutral 
		  management information model for the Ethernet 
		  Transport capable network element <xref target="ITU-T_G.8052"></xref></t>
		  
		  <t>ITU-T G.8152/Y.1375 (draft in progress), 
		  Protocol-neutral management information model for 
		  the MPLS-TP network element <xref target="ITU-T_G.8152"></xref></t>
		  
		  <t>ITU-T G.gim (draft in progress), Generic 
		  protocol-neutral management Information Model for 
		  transport resources <xref target="ITU-T_G.gim"></xref></t>
        </list> 
	  </t>
	  
	  <t>The above information models are developed from 
	  ITU-T Recommendations that define the respective 
	  transport technology functional models and management 
	  requirements.</t>
	  
	  <t>The TM Forum community has likewise developed extensive 
	  models of the same space from the network level management 
	  perspective <xref target="TMF_MTNM"></xref> 
	  <xref target="TMF_MTOSI"></xref> <xref target="TMF_TR225"></xref>. 
	  The basis for all functions 
	  made available to the network level management is defined in 
	  the protocol-neutral network element level management work done 
	  in ITU-T. Its models thus complement the ITU-T information 
	  models. In further collaboration with 3GPP, considerable joint 
	  effort has been devoted to develop a consistent and coherent 
	  approach to that space.</t>
	  
	  <t>The NGMN has published a document called Next Generation 
	  Converged Operations Requirements (NGCOR) <xref target="NGMN_NGCOR"></xref>, 
	  with the expressed purpose of taking these requirements into account 
	  when converged management interfaces for mobile and fixed networks 
	  are being standardized in the SDOs. 
	  An ongoing collaboration called the Multi-SDO Project on 
	  Converged Management is taking care that the requirements are considered 
	  during the specification of new interfaces. It includes 
	  participants from ETSI, NGMN, TMF, 3GPP, and other SDOs,
	  equipment vendors, OS vendors and service providers.</t>
	  
    </section>	   
  
    </section>

    <section title="From UML IM to Data Schema Definition">
      <t>This section outlines the steps to be taken in 
	  deriving data schema from the information model 
	  specifications.</t>
	  
	  <t>Figure 1 below provides an overview of the 
	  structure of a common information model and 
	  how purpose specific IM views and data schema 
	  may be derived from it.</t>
	  
	  <t>The common information model is a library of model 
	  artefacts (objects, attributes, relationships, etc.) 
	  organized into a number of information model 
	  fragments, to facilitate the independent development of 
	  technology and application specific extensions.  
	  The core model fragment refers to information model 
	  artefacts that could be commonly used regardless of 
	  the specific technology or application domain.  
	  The forwarding technology specific model fragment refers 
	  to technology specific extensions; e.g., for OTN, 
	  Ethernet, SDH, etc.   The application specific fragment 
	  refers to extensions for supporting particular applications. 
	  For purposes of navigability, the core information model 
	  fragment is itself structured as a series of modules.  
	  For example, a core foundation module on artefacts for identifiers and naming, 
	  a module on artefacts for forwarding aspects that are 
	  independent of the specific forwarding technologies, etc.</t>

      <figure align="center" anchor="methodology">
        <preamble></preamble>

        <artwork align="left"><![CDATA[
+-------------+
|   Common    |
| Information |
|    Model    |
|    (CIM)    |
|+-----------+|
||Core Model ||
|| Fragment  ||
||* module-1 ||
||* module-2 ||
||* ...      ||
||* ...      || 
||* module-n ||                          +---------+     +---------+
|+-----------+|                          |Interface| Map |Interface|
|+-----------+|         +----------+ Map | 1 data  |---+\|    1    |
||Forwarding ||-------\ |View      |---+\| schema  |---+/|encoding |
||specific   ||Prune/  \|of        |---+/+---------+     +---------+
||fragment   ||refactor/|CIM       | 
|+-----------+|-------/ |for a     |---+\+---------+ Map +---------+
|+-----------+|     .   |particular|---+/|Interface|---+\|Interface|
||Application||     .   |purpose   ||  . | 1 data  |---+/|    1    |
||specific   ||-------\ +----------+|  . | schema  |  .  |encoding |
||fragment   ||Prune/  \ +---.------+| . +---------+  .  +---------+
|+-----------+|refactor/  +--.-------+|.              .
|     .       |-------/      .         .              .
|     .       |       .      .         .              .
|     .       |        .     .         .              .
|+-----------+|         .    .          .             .
||xxx        ||          .   .           .            .
||specific   ||           .  ,            .           .
||Fragment   ||            . .             .          .
|+-----------+|             ..              .         .
|             |              .               .        .
+-------------+              ..               .       .
            .  .             . .               .      .
            .   .            .  .               .     .
            .    .           .   .               .    .
+-----------.-----.----------.----.---------------.---.------------
|Guidelines .      .         .     .               .  .            \
|           .       .        .      .               +------------  |
| +-----------      +-----------    +-----------   +------------\\ |
| | Model     \     | Use of    \   | Common    \  | Interfac    |||
| | structure |     | UML       |   | process   |  | specific    |+|
| +-----------+     +-----------+   +-----------+  +-------------+ |
+------------------------------------------------------------------+

            ]]></artwork>

        <postamble>High-level methodology for deriving 
		interface protocol specific data schema from UML 
		information model</postamble>
      </figure>

      <t>The aforementioned guideline document <xref target="ONF_UML_Guide"></xref> 
	  also provides guidelines for creating a common 
	  information model view for a specific purpose.  
	  Guidelines are under development for conversion 
	  (mapping) from an UML information model into various 
	  protocol specific interface data schema/encodings such as 
	  REST/JSON, Netconf/YANG interface, etc.</t>
	  
	  <t>Applying such guidelines, protocol-specific 
	  interface data schema/encodings may be derived from existing, 
	  and emerging, standard UML information models 
	  addressing the forwarding and networking domains.  
	  Examples include <xref target="MEF_38">MEF 38</xref>  
	  and <xref target="MEF_39">MEF 39</xref>, which provide YANG 
	  modules derived from UML information 
	  models <xref target="ITU-T_G.8052">G.8052</xref> and 
	  <xref target="MEF_7.1">MEF 7.1</xref> for 
	  Service OAM Fault and Performance Monitoring, 
	  respectively. YANG models could be derived for OTN in a similar way using 
	  the <xref target="ITU-T_G.874.1">G.874.1</xref> 
	  UML information model as a base.</t>
	  
	  <t>The following subsections provide further elaboration 
	  of the high-level methodology described above.</t>
	  
      <section title="Common Information Model">
        <t>A common information model includes the 
		objects/packages, their properties (represented as attributes), 
		and their relationships, etc. that are necessary to describe the 
		domain for the applications being developed.  
		It will be necessary to continually expand and refine 
		the common model over time as new forwarding technologies, 
		capabilities and applications are encompassed and new 
		insights are gained.  To allow these extensions to be 
		made in a seamless manner, the common information model 
		is structured into a number of model fragments.</t>
		  <t><list style="symbols">
          <t>Core model fragment structured as a set of modules, 
		  each addressing a specific topic to allow 
		  for easier navigation. The artefacts in the core model 
		  fragment are technology and application neutral.</t>

          <t>Forwarding plane technology specific or 
		  application specific model fragments, which 
		  contain the artefacts (objects, attributes and associations) 
		  that relate solely the specific technology or application.</t>
        </list>This modelling approach enables application 
		specific and forwarding plane technology specific 
		extensions to be developed independently.</t>
      </section>	  

      <section title="Common Information Model View for a Specific Purpose">
        <t>The next step is the development of a purpose specific 
		information model view, which is a true subset of the 
		common information model.  To provide maximal reuse, the purpose 
		specific view is developed in two steps: (1) pruning and refactoring 
		to provide a purpose specific information model of the network to 
		be managed, where only those artefacts that represent the 
		capabilities that are both in scope and supported are included, 
		and (2)defining the access rights for the various groups of 
		users that will manage that network.</t>
		  <t><list style="symbols">
 
 		     <t>Pruning to remove the objects/packages/attributes 
		  that are not required.<list style="hanging" hangIndent="2">
             <t hangText="-">Selecting the required object classes from 
			 the common IM (all mandatory attributes and 
			 packages must be included)</t>
			 <t hangText="-">Selecting the required conditional packages 
			 and optional attributes (note that, where appropriate,
			 conditional packages and optional attributes may be 
			 declared mandatory)</t>
			 <t hangText="-">Removing any optional associations that are 
			 not required</t>
             </list></t>
		  
 		     <t>Refactoring to reduce association flexibility, such as:<list style="hanging" hangIndent="2">
             <t hangText="-">Reducing multiplicity (e.g., from [1..*] to [1]).
			 When this results in a composition association of 
			 multiplicity [1] between a subordinate and superior object class, 
			 they can be combined into a single object class by moving the 
			 attributes of the superior class into the subordinate class.</t>
			 <t hangText="-">Where possible, reducing the depth of the 
			 inheritance (i.e., combining object classes by moving the 
			 attributes of the super class into the subclass).</t>
			 <t hangText="-">Adding reverse navigation, if useful for the client.
			 The common IM only supports navigation from a subordinate object class 
			 to a superior object class. This allows new subordinate object classes 
			 to be added without any impact on the superior object class. 
			 In a network specific implementation it is frequently useful to be 
			 able to navigate the relationship between superior and subordinate 
			 object classes in both directions.</t>
             <t hangText="-">Constraining attribute definitions. This can be done 
			 by reducing legal value ranges, defining which (if any) attributes 
			 should be read only (for all users), and/or defining constraints 
			 between attributes.</t>
             </list></t>		  

 		     <t>Definition of access rights<list style="hanging" hangIndent="2">
			 <t>If only one group will use the network specific IM then 
			 this step is not required. If more than one group will use 
			 the network specific IM this optional step provides a profile 
			 for each user group to:</t>
             <t hangText="-">Convert some attributes defined as read/write 
			 in the network specific IM to read only</t>
			 <t hangText="-">Remove the right to create/delete some or all object instances</t>
             </list></t>
		  

			 
        </list></t>
      </section>	  	  

      <section title="Data Schema">
        <t>A data schema (DS) is constructed by mapping 
		of the purpose specific information model view into the DS together 
		with the operations patterns from the common information model 
		to provide  the interface protocol specific operations 
		and notifications. The operations should include data 
		structures taken directly from the purpose specific 
		information model view with no further adjustment.
		(Note that it is possible to map directly from the purpose specific 
		information model to interface encoding).</t>
		
        <t>The development of the data schema should consider 
		the following:</t>		
		  <t><list style="symbols">

 		     <t>The operations should act on the information 
		  in a way consistent with the modeled object 
		  lifecycle interdependency rules.<list style="hanging" hangIndent="2">
             <t hangText="-">Lifecycle dependencies to 
			 ensure sensible interface operation 
			 structuring and interface flow rules</t>
			 <t hangText="-">Usage of transaction approach style of 
			 interface to account for lifecycle dependencies 
			 of the model</t>
             </list></t>

          <t>The operations should abide the attribute 
		  properties.  Read only attributes (except those which are 
		  defined as setByCreate) should not 		  
		  be included in data related to creation of an 
		  object (e.g., not in createData) or in a specification 
		  of a desired object structure outcome.</t>
		  
          <t>Usage of attribute value ranges, etc. to allow "effort" 
		  statement, optionality and negotiation to be 
		  supported by the interface.</t>	  
		  		  
        </list></t>
      </section>	  		  

     <section title="Interface encoding">
	      <t>This step encodes the purpose specific data schema or 
		  purpose specific information model into either a specific protocol 
		  that is used to implement a purpose specific interface or; 
		  a programming language that is used to invoke a purpose specific API. 
		  If the interface is encoded directly from the purpose specific 
		  information model then the interface operations must be added as 
		  described above.</t>  
	  
     </section>
	  
    </section>

    <section anchor="Summary" title="Summary">
      <t>
	  This draft describes a modular and scalable approach for 
	  systematically deriving purpose and protocol specific interfaces 
	  from an underlying common information model, focusing upon the networking 
	  and forwarding domain. Building upon an underlying common information 
	  modeling description of network resources (functionality, capabilities, 
	  flexibility) is a key enabler to convergence and interoperability. 
	  It is also future proof in the sense that the emergence of new protocols 
	  becomes solely a non-disruptive mapping issue.  
	  It should be noted that not all domains require development 
	  of information model prior to solutions development; the domains 
	  where this is of greatest benefit involve networking domains requiring 
	  support for an enhanced level of control and network programmability.
      </t>

    </section>
	
	
    <section anchor="Acknowledgements" title="Acknowledgements">
      <t></t>

    </section>

    <!-- Possibly a 'Contributors' section ... -->
	
    <section title="Contributors">
        <figure align='left'>
        <artwork><![CDATA[
            Eve Varma
            Alcatel-Lucent
            USA
            email eve.varma@alcatel-lucent.com
	
	  ]]></artwork>
        </figure>
        <figure align='left'>	  
	  <artwork><![CDATA[
            Dave Hood
            Ericsson
            USA
            email dave.hood@ericsson.com
	
	  ]]></artwork>
      </figure>
	  
    </section>	
	
    <section anchor="IANA" title="IANA Considerations">
      <t>This memo includes no request to IANA.</t>

    </section>

    <section anchor="Security" title="Security Considerations">
      <t>TBD</t>
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
      <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
	  &RFC2119;
	  
	<?rfc include="reference.RFC.3444" ?>


	  
	  
	  
   </references>
   
    <references title="Informative References">
      <!-- Here we use entities that we defined at the beginning. -->


      <!-- A reference written by by an organization not a person. -->

      <reference anchor="OMG_UML">
        <front>
          <title>OMG Unified Modelling Language (UML), Infrastructure, Version 2.4.1</title>	  
          <author>
            <organization>OMG</organization>
          </author>
          <date year="2011" />
        </front>
      </reference>

      <reference anchor="ISO_IEC_UML">
        <front>
          <title>ISO/IEC 19505-1:2012 - Information technology - Object 
		  Management Group Unified Modeling Language (OMG UML) - Part 1: 
		  Infrastructure. Iso.org.2012-04-20. Retrieved 2014-04-10</title>
          <author>
            <organization>ISO/IEC</organization>
          </author>
          <date year="2012" />
        </front>
      </reference>

      <reference anchor="ITU-T_G.874.1"
                 target="http://www.itu.int/rec/T-REC-G.874.1/en">
        <front>
          <title>ITU-T G.874.1 (2012), Optical transport network: 
		  Protocol-neutral management information model for the 
		  network element view </title>
          <author>
            <organization>ITU-T</organization>
          </author>
          <date year="2012" />
        </front>
      </reference>
	
	  <reference anchor="ITU-T_G.8052"
                 target="http://www.itu.int/rec/T-REC-G.8052/en">
        <front>
          <title>ITU-T G.8052/Y.1346 (2013), Protocol-neutral 
		  management information model for the Ethernet 
		  Transport capable network element</title>
          <author>
            <organization>ITU-T</organization>
          </author>
          <date year="2013" />
        </front>
      </reference>
	
	 <reference anchor="ITU-T_G.8152"
                 target="">
        <front>
          <title>ITU-T G.8152/Y.1375 (draft in progress), 
		  Protocol-neutral management information model for 
		  the MPLS-TP network element</title>
          <author>
            <organization>ITU-T</organization>
          </author>
          <date year="201x" />
        </front>
      </reference>
	
	 <reference anchor="MEF_7.1"
                 target="http://www.metroethernetforum.org/Assets/Technical_Specifications/PDF/MEF7.1.pdf">
        <front>
          <title>Carrier Ethernet Management Information Model 
		  [superseded by MEF 7.2, which supports additional sets 
		  of service attributes defined in recent MEF specifications]</title>
          <author>
            <organization>MEF</organization>
          </author>
          <date year="2009" />
        </front>
      </reference>
	
	<reference anchor="MEF_38"
                 target="http://www.metroethernetforum.org/Assets/Technical_Specifications/PDF/MEF_38.pdf">
        <front>
          <title>Service OAM Fault Management YANG Modules</title>
          <author>
            <organization>MEF</organization>
          </author>
          <date year="2012" />
        </front>
      </reference>
	
	<reference anchor="MEF_39"
                 target="http://www.metroethernetforum.org/Assets/Technical_Specifications/PDF/MEF_39.pdf">
        <front>
          <title>Service OAM Performance Monitoring YANG Module</title>
          <author>
            <organization>MEF</organization>
          </author>
          <date year="2012" />
        </front>
      </reference>
	
	<reference anchor="TMF_MTNM"
                 target="http://www.tmforum.org/MTNM/1689/www.tmforum.org/DownloadCenter/7549/home.html#mtnm">
        <front>
          <title>TM Forum Multi Technology Network Management, Release 3.5</title>
          <author>
            <organization>TM Forum</organization>
          </author>
          <date year="2009" />
        </front>
      </reference>

	<reference anchor="TMF_MTOSI"
                 target="http://www.tmforum.org/MTNM/1689/www.tmforum.org/DownloadCenter/7549/home.html#mtosi">
        <front>
          <title>TM Forum Multi Technology OS Interface, Release 3.0</title>
          <author>
            <organization>TM Forum</organization>
          </author>
          <date year="2012" />
        </front>
      </reference>

	<reference anchor="TMF_TR225"
                 target="">
        <front>
          <title>TM Forum TR225, Logical Resource: Network Function Model</title>
          <author>
            <organization>TM Forum</organization>
          </author>
          <date year="2014" />
        </front>
      </reference>
	  
	<reference anchor="NGMN_NGCOR"
                 target="http://www.ngmn.org/uploads/media/NGMN_Next_Generation_Converged_Operations_Requirements_-_Final_Deliverable.pdf">
        <front>
          <title>Next Generation Converged Operations Requirements (NGCOR)</title>
          <author>
            <organization>NGMN Alliance</organization>
          </author>
          <date year="2013" />
        </front>
      </reference>
	  
	<reference anchor="ITU-T_G.gim"
                 target="">
        <front>
          <title>Generic protocol-neutral management Information Model for transport network resources</title>
          <author>
            <organization>ITU-T</organization>
          </author>
          <date year="201x" />
        </front>
      </reference>
	  
	<reference anchor="ONF_UML_Guide"
                 target="">
        <front>
          <title>onf2014.018 UML Modeling Guidelines</title>
          <author>
            <organization>ONF</organization>
          </author>
          <date year="2014" />
        </front>
      </reference>	  
	  
	  
    </references>	
	

	
    <section anchor="app-additional" title="Additional Stuff">
      <t>TBD</t>
    </section>

    <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                      v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                      other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                      Modified comments around figure to reflect non-implementation of
                      figure indent control.  Put in reference using anchor="DOMINATION".
                      Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                      added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                      images. Removed meta-characters from comments (causes problems).  -->
  </back>
</rfc>
