This page is about ONAP modeling design principles and guidelines for release 2+

Refer to ONAP Modeling Design Principles and Guidelines (20171023) for approved working version of the modeling principles and guidelines.


Guidelines:

1-Initial focus on a Unified IM and TOSCA construct representation

[Thinh Nguyenphu] what is Unified IM? currently, my understanding from there are many projects using different part of one ore models. Or, are we trying to bring Service CSAR, NS CSAR, VNF CSAR, WAN API, Cont/WAN  into a Unified IM? 

Thinh Nguyenphu] Also, this bullet point should be separate into two bullets for additional clarifications. for example, SO and SDN-C: WAN API is using TOSCA Rel1 and 2? Or we should clearly states: VNF descriptor, NS descriptor, and CSAR package (VNF package and NS/service Package) as initial focus.

Lingli Deng I agree the scope for the entire modeling stack is too broad for us to work with within Release 2  time frame. I recalled that we agreed on starting with SERVICE and RESOURCE modeling for Beijing earlier. So I suggest we could consider rephrase it as "Initial focus on a Unified IM and TOSCA construct representation on Service and Resource".

Andy Mayer:


  • Initial focus of Information Model will capture Service Desc, VNF Desc models
  • First doing an Information Model and then do a TOSCA representation based on the Information Model applying OASIS TOSCA Simple Profile 1.2
  • The model will support the VNF requirements (e.g. scaling). The modeling team should not define the feature requirements, but rather Information Model support for defined requirements.
  • Principles focus on the "what"
  • Guidelines are best practices and focus on the "how" 


2-Align terminology with ETSI (IFA11, IFA14) where appropriate

   -Mapping needed between equivalent terms, identify the differences
   -Based on use cases, select the appropriate model


3-Identify all the types/constructs we need

  • [Munish Agarwal] Identify GAPs  and prioritize per release

  • Thinh Nguyenphu] beside gaps and priority, the guideline should identify supporting features. For example, scaling feature can a simple scaling to a more complex scale such as aspect scaling to scaling to a specific level, etc. A similar different to deployment flavour too. Describing use case is important.
  • Lingli Deng Scaling is an appealing feature to have with Bejing. But I do not believe the modeling subcommittee should be the place to define feature requirements. Instead, we should take funtional/non-functional requirements input from other forums, such as Usecase subcommittee, etc., and identify the indicated modeling gaps to fulfill those requirements as our target.

4-Initial round should be based on SDC DM and OpenECOMP

 ([Munish Agarwal] Not relevant in the guidelines section. Consider moving to Principles)  Thinh Nguyenphu: agreed with the comment
Lingli Deng It seems that we do need to clearly state what we mean respectively by "Principles" and "Guidelines". IMHO, Principles are the facts/targets we agree to behold, while Guidelines specifies in high level step-by-step how we work together to ensure those principles while achieving the target. If we could agree on the above differentiation, I suppose this statement seems more relevant to Guidelines rather than Principles.

  -Identify existing construct defined in SOL001 and TOSCA NFV Profile

  -Propose new constructs to TOSCA NFV profile when desired types are not defined ([Munish Agarwal] It would be good to define extensions to SOL001. VNF vendors will provide TOSCA VNFD compliant to SOL001. The new constructs in ONAP can be proposed in ETSI SOL001). Thinh Nguyenphu: agreed with the comment

 Lingli Deng: Good suggestion. We should encourage mutual contribution between this community and SDOs or other OS communities as always. But the suggested efforst, although welcome and encouraged,  is not committed to this specific group, nor is the target or constraint to the practice of this specific group. Hence, I suggest removal of the entirety of this statement.

Andy Mayer: Moving these to the Principles section

Munish AgarwalIdentify DM for VNFD based on the SDC DM, eCOMP IM and NFV SOL001 (IFA011)
Lingli Deng This statement is duplicating the guideline Item #4.

Munish Agarwal] Identify DM for NSD based on the eCOMP  IM and NFV SOL001 (IFA014)

Lingli Deng This statement is duplicating the guideline Item #4. ]



•Try to maintain backward compatibility

Munish Agarwal] The APIs should be backward compatible. 

Munish Agarwal] Backward compatibility guidelines on API need to be defined.

Lingli Deng API is not in the scope for this group, I suppose.

Munish Agarwal] Define UML modelling guidelines. Take inspiration from IISOMI 514 UML Modeling Guidelines

>> See Informal Inter-SDO Open Model Initiative (IISOMI)


Lingli Deng UML is another Data Modeling language, it is not clear to me what would be the benefits of introducing another DM to represent the IM, or whether or not it would introduce undesirable constraints in defining the IM. Since it is not an urgent decision, I suggest we could leave the choice/recommendation on using it and its tools out of the current document and for further discussion.

Brian Hedstrom UML is not a data modeling language, it is a general purpose Modeling language to visualize (through diagrams) the design of a system:

  • Unified Modeling Language (UML) is a standard syntax for describing the architectural design of a system
    • Object Management Group (OMG) & ISO standard
    • Originated from object-oriented software development methods
  • UML includes many diagrams types to graphically represent parts of a system’s model, including
    • Structural Views: The static nature of the system using objects, attributes and relationships (e.g., information or components that must be present in the system)
    • Behavioral: The dynamic nature of the system through collaboration of objects and state changes (e.g., activities performed by the system)

  • Information models are protocol agnostic; data models are protocol specific.
  • Eclipse Papyrus is one open source tool for creating and editing UML content. There are many UML tools on the Market.


Create a (class) diagram which outlines ONAP DM relationship to TOSCA Simple Profile 1.2 ( Munish Agarwal] Not clear. Consider rephrase)

•Create ONAP TOSCA profiles/templates derived from Information Model applying TOSCA 1.2 types and constructs

   -Follow the principals define in next slide

•Validate the model using the selected use cases


•Tools: Papyrus

  • Andy Mayer Papyrus will be used for Information Modeling in UML

  • Andy Mayer Track ONF progress on EAGLE tool support of TOSCA generation 
  • Munish Agarwal] IM Language: UML

    Lingli Deng UML is another Data Modeling language, it is not clear to me what would be the benefits of introducing another DM to represent the IM, or whether or not it would introduce undesirable constraints in defining the IM. Since it is not an urgent decision, I suggest we could leave the choice/recommendation on using it and its tools out of the current document and for further discussion.

  • Brian Hedstrom See my comment above on UML.
  • Munish Agarwal] Evaluate the EAGLE work done in MEF to generate APIs from the Models

    Lingli Deng API is not in the scope for this group, I suppose.


  • Brian Hedstrom Data Models and APIs are a translation from the UML Models (interface realizations). 


 Principles:

Andy Mayer (moved from Guidelines Section) Identify DM for VNFD based on the SDC DM, eCOMP IM and NFV SOL001 (IFA011)

Andy Mayer (moved from Guidelines Section) Identify DM for NSD based on the eCOMP IM and NFV SOL001 (IFA014)

•New constructs
   -Best effort to use TOSCA Simple Profile 1.2 “normatives”
   -Extend/Derive from Simple Profile 1.2 “normatives”s (Munish Agarwal] Using simple profile 1.2 as basis and define new constructs taking in consideration both SOL001 and TOSCA NFV profile is the proposed way forward. Is that the correct understanding. Please clarify in either case)

 
   -Derive directly from tosca.nodes.root


   -DM does not need to match exactly the IM; DM can represent the IM

 Munish Agarwal] There should be a clear distrinction between the IM (Information Model) and DM (Data Model)

   -DM are pruned and refactored from IM
   -Discuss extensibility guidelines to be progressed

•Properties
   -Best effort to put properties on capabilities (Not clear. Consider rephrase to clarify)


   Andy Mayer (reworded) - Include support for properties in TOSCA capability types



•Namespace
  -TBD

  • Thinh Nguyenphu] In order to avoid namespaces and types name types definitions collision, it is recommended that ONAP uses the rule and guidelines as described in the OASIS TOSCA Simple YAML Profile v1.2. At minimum, ONAP describes:
    • Namespace Alias: TBD
    • Namespace Prefix: TBD
    • tosca_definitions_version:TBD
    • ONAP's types: naming convention and format


Create ONAP profiles/templates derived from IM using TOSCA 1.2 types