1 Complex Types and Typed Instance Identifiers IETF #76 NETMOD WG

Slides:



Advertisements
Similar presentations
1 IETF KEYPROV WG Protocol Basis and Characteristics IEEE P April 11, 2007 Andrea Doherty.
Advertisements

Complex Types and Typed Instance Identifiers as YANG Extension
1 Complex Types and Typed Instance Identifiers IETF #75 NETMOD WG
YANG Boot Camp The YANG Gang IETF 71. YANG Boot Camp The YANG Gang IETF 71.
Semantics Static semantics Dynamic semantics attribute grammars
Object-Oriented Programming
Object-Oriented Programming Python. OO Paradigm - Review Three Characteristics of OO Languages –Inheritance It isn’t necessary to build every class from.
COMP 521 F10 Final Exam Review. 1. Which of the following is defined as a property or description of an entity. A. RelationB. Attribute C. DomainD. Selection.
ISO DSDL ISO – Document Schema Definition Languages (DSDL) Martin Bryan Convenor, JTC1/SC18 WG1.
1 Web Data Management XML Schema. 2 In this lecture XML Schemas Elements v. Types Regular expressions Expressive power Resources W3C Draft:
Copyright © Open Applications Group, Inc. All rights reserved 1 OAGi XML Schema User Report June 21, Michael.
SRDC Ltd. 1. Problem  Solutions  Various standardization efforts ◦ Document models addressing a broad range of requirements vs Industry Specific Document.
Fall Semantics Juan Carlos Guzmán CS 3123 Programming Languages Concepts Southern Polytechnic State University.
NETCONF Light. Motivation To support devices unable to implement the full NETCONF protocol – The “-00” draft noted hardware-based resource constraints.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
C++ fundamentals.
MTEI Methods & Tools for Enterprise Integration
Method of Converting Resource definitions into XSD Group Name: WG3 (PRO) Source: Shingo Fujimoto, FUJITSU, Meeting Date:
NETCONF Server and RESTCONF Server Configuration Models draft-ietf-netconf-server-model-06 NETCONF WG IETF #92 Dallas, TX, USA.
1 A Common API for Transparent Hybrid Multicast (draft-waehlisch-sam-common-api-04) Matthias Wählisch, Thomas C. Schmidt Stig Venaas {waehlisch,
NETMOD Architecture Phil Shafer IETF 72.
1 Strassner-Policy Theory and Practice – IM2001 Purpose of the PCIM Provide a set of classes and relationships that provide an extensible means for defining.
NetConf Data Model draft-adwankar-netconf-datamodel-01.txt Sandeep Adwankar.
 Three-Schema Architecture Three-Schema Architecture  Internal Level Internal Level  Conceptual Level Conceptual Level  External Level External Level.
YANG in a Nutshell The YANG Gang IETF 71. YANG has... A reasonable self-contained specification A focus on readers and reviewers Text-based , patch,
I2RS draft-rfernando-yang-mods.txt I2RS Yang Extensions draft-rfernando-yang-data-mods R.Fernando, P.Chinnakannan, M.Madhayyan, A.Clemm.
Models to manage G parameters 1.draft-galikunze-ccamp-g snmp-mib-09.txt 2.draft-dharinigert-ccamp-g lmp-08.txt 3.draft-dharini-netmod-g yang-01.txt.
Tutorial 13 Validating Documents with Schemas
Chapter 9 Logical Database Design : Mapping ER Model To Tables.
Processing of structured documents Spring 2003, Part 3 Helena Ahonen-Myka.
Kalua – A DML for NETCONF
1 / 48 Formal a Language Theory and Describing Semantics Principles of Programming Languages 4.
Abierman-sming-nov02 1 SMIv3 Open Issues Andy Bierman.
Representing Netconf Data Models using Document Schema Definition Languages (DSDL) Rohan Mahy Sharon Chisholm Lada Lhotka IETF 72 - Dublin.
Abierman-netconf-mar07 1 NETCONF WG 68 th IETF Prague, CZ March 19, 2007.
 Introduction  Structure of Management Information  Practical Issues  Summary 2.
Example: Expressions Python Programming, 2/e 1 [+, [*, 3, 5], [*, 2, [-, 6, 1]]]
1 Header Compression over IPsec (HCoIPsec) Emre Ertekin, Christos Christou, Rohan Jasani {
Using XML Schema to define NETCONF Content Sharon Chisholm Alex Clemm TJ Tjong
Kalua DML Examples
Netconf Schema Query Mark Scott IETF 70 Vancouver December 2007
 Description of Inheritance  Base Class Object  Subclass, Subtype, and Substitutability  Forms of Inheritance  Modifiers and Inheritance  The Benefits.
YANG Data Model for IPv4-in-IPv6 Softwire draft-sun-softwire-yang November 2014 Q. Sun, H. Wang, Y. Cui, I. Farrer (presenter), M. Boucadair.
YANG Background and Discussion: Why we need a new language for NETCONF configuration modeling The YANG Gang IETF 70 Vancouver, Canada.
Draft-wilton-netmod-intf-ext-yang-01 draft-wilton-netmod-intf-vlan-yang-01 Rob Wilton IETF 94 – Yokohama, NETMOD WG.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
Mr H Kandjimi 2016/01/03Mr Kandjimi1 Week 3 –Modularity in C++
Conditional Enablement draft-kwatsen-conditional-enablement-00.
KeyProv PSKC Specification Mingliang Pei Authors: P. Hoyer, M. Pei and S. Machani 73 nd IETF meeting, Minneapolis, Nov
Draft-ietf-netconf-server-model-04 NETCONF Server Configuration Model
YANG Roque Gagliano.
Lec7: SNMP Management Information
Names and Attributes Names are a key programming language feature
ietf-syslog Model Status
PHP Classes and Objects
draft-clacla-netmod-yang-model-update-02
Subscribing to YANG datastore push updates draft-netconf-yang-push-00 IETF #94 Yokohama A. Clemm A. Gonzalez Prieto
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Chapter 12 Outline Overview of Object Database Concepts
Comparison of NMDA datastores draft-ietf-netmod-nmda-diff-00
Joe Clarke (presenting)
Interface extensions YANG & VLAN sub-interface YANG Status update
Post WG LC NMDA datastore architecture draft
Updates to YANG Data Model for IEEE 1588v2
A YANG Data Model for Microwave Radio Link draft-mwdt-ccamp-mw-yang-01
Handling YANG Revisions – Discussion Kickoff
IETF Montreal BFD YANG Data Model
Interface extensions YANG & VLAN sub-interface YANG Status update
Comparison of NMDA datastores draft-ietf-netmod-nmda-diff-02
New Perspectives on XML
Presentation transcript:

1 Complex Types and Typed Instance Identifiers IETF #76 NETMOD WG

2 Changes since IETF 75 Complex types as “YANG extensions” Modified complex type syntax: –Renamed “element(-list)” to “instance-(list)” –New extension keyword “instance-type” Update rules for complex types added Complex type feature added IANA considerations addressed -> Semantics of complex types unchanged!

Complex Types and Typed Instance Identifiers 3 Specified in form of a YANG module: module complex-types { // … prefix "ct"; // … extension complex-type { description "Defines a complex-type."; reference "chapter 2.2., complex-type extension statement"; argument type-identifier { yin-element true; } extension extends { description "Defines the base type of a complex-type."; reference "chapter 2.5., extends extension statement"; argument base-type-identifier { yin-element true; } // …. feature complex-types { description "This feature indicates that the agent supports complex types and instance identifiers."; } Extension definitions Feature indicating complex type support

4 Further steps pyang plug-ins –complex type validation (under construction) –mapping to XSD and RelaxNG (planned) Anything to add to the draft? We welcome any comments –Is anybody interested to co-author? How should we proceed? –Proposed standard or Experimental?

5 Thank You! Question?

6 Support for High-Level abstractions TMF SID: ct:complex-type Equipment { ct:extends PyhsicalContainer; ct:abstract true; leaf installStatus { … } ct:instance-list equipment { type Equipment; } ct:complex-type Card { ct:extends Equipment; … } Complex types Blueprint for instances Complex types Extensions Complex type instances single list

7 ct:complex-type EquipmentHolder { ct:extends ManagedHardware; ct:abstract true; ct:instance-list equipment { type Equipment; } ct:instance-list holder { type EquipmentHolder; } Complex type nesting Recursive containment with unknown depth Recursive Structures in Model and Payload

8 Rack-A2 … Subrack-1 … Card-1 … Backplane-A … Card-1 … // … more holders Rack-A2 NETCONF payload reflects instance nesting Simple filter to select sub-tree under a particular tree node

9 ct:complex-type PhysicalPort { ct:abstract true; key portNumber; leaf portNumber { type int32; mandatory true; } } ct:complex-type Card { ct:instance-list port { type PhysicalPort; } … ct:complex-type PluginModule { ct:instance-list port { type PhysicalPort; } Base Type Substitution ct:complex-type ExtPhysicalPort { ct:extends PhysicalPort; } Substitution of base type instance with derived type instances -wherever the base type is used -no need to know all places it is used Derived complex-type:

10 Rich Type Definitions ct:complex-type PhysicalPort { ct:abstract true; key portNumber; leaf portNumber { type int32; mandatory true; } } ct:complex-type Card { ct:instance-list port { type PhysicalPort; } ct:complex-type PluginModule { ct:instance-list port { type PhysicalPort; } Definition of abstract types enforce common attributes must be extended to be instantiated Definition of types with a key no need to add key definitions at every place of use

11 Type Information In Payload R31s2 hw:Slot 1 hw:EquipmentHolder ATM hw:STMCard 16 hw:Card 1 true A2 1 A b ATM-ADM 2 T-K x45 CU-Slot Type information in the payload Enables handling of unknown derived types Does not require explicit type codes Filtering types including derived types Use of predefined set of properties controlled by a type

12 Instance Identifiers Restricted by Type ct:complex-type PhysicalPort { ct:extends ManagedHardware; leaf portNumber { type int32; mandatory true; } } ct:complex-type PhysicalLink { ct:extends ManagedHardware; leaf-list connectedPort { type instance-identifier { ct:instance-type PhysicalPort; } min-elements 2; } Constrains what type of entity may be identified Allows to refer to instances of referred type derived types added later