Following is a fairly simple model for Party based on the TMF SID.   The intent is to start with a simple party model, and grow it as needed.


In this context, a Party represents an individual, organization or organization unit (a more detailed definition is found below).


The need for the party concept includes:

  1. Vnfs and Pnfs are onboarded from vendors.  
    A Vendor is a party role.
  2. The license model presently in ASDC also makes use of the Vendor concept.
    Agreements are made between vendors and service providers (another party role), and entitlements and licenses are provided by vendors.
  3. The concept of Customer is also modeled (a 3rd party role).  
    It can be discussed if the concept of Customer is in scope for ONAP.


It is assumed that this will be an R5 item.


1.1       Diagrams

1.1.1                   Basic Party

1.1.2                   Party Names

1.1.3                   Party Roles





1.2       Classes


1.2.1                   AtomicOrganization

AtomicOrganization is a type of Organization that does not have any subordinate Organization. That is, an AtomicOrganization is a leaf-level Organization.

Parent class: Organization

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


1.2.2                   CompositeOrganization

CompositeOrganizaiton is a type of Organization that is formed by aggregating other Organizations, which may be atomic or composite Organizations.

Parent class: Organization

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


1.2.3                   Customer

A person or organization that buys products and services from the enterprise or receives free offers or services. This is modeled as a Party playing the role of Customer. A Customer is a type of PartyRole. Customers can also be other service providers who resell the enterprises products, other service providers that lease the enterprise's resources for utilization by the other service provider's products and services, and so forth.

Parent class: PartyRole

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


1.2.4                   Individual

Represents a single human being (a man, woman or child). The individual could be a customer, an employee or any other person that the organization needs to store information about. An Individual is a type of Party.

Parent class: Party

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


1.2.5                   IndividualName

A word, term, or phrase by which an individual is known and distinguished from other individuals.A name is an informal way of identifying an object [Fowler]This entity allows for international naming variations. An IndividualName is a type of PartyName.

Parent class: PartyName

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


1.2.6                   Organization

A group of people identified by shared interests or purpose. Examples include business, department, enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same business entity in this model. An Organization is a type of Party. An Organization might be composite or atomic.

Parent class: Party

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


1.2.7                   OrganizationDecompositionComponent

The OrganizationDecompositionComponent specifies the valid period for the relationship between CompositeOrganization and Organization.

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


Attribute Name

Type

Mult.

Stereotypes

Description

validFor

TimePeriod

1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

The period during which the OrganizationDecompostionComponent is applicable.




1.2.8                   OrganizationName

A word, term, or phrase by which an organization is known and distinguished from other organizations.A name is an informal way of identifying an object [Fowler]An OrganizationName is a type of PartyName.

Parent class: PartyName

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


1.2.9                   Party

A Party represents an individual, an organization or an organization unit that is of interest, involved, or that provide value,  directly or indirectly. from an enterprise perspective (Enterprise is to be understood here as provider, service provider or operator).

Parent class: RootEntity

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


Attribute Name

Type

Mult.

Stereotypes

Description

validFor

TimePeriod

1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Experimental

The time period that the Party is valid for



name

String

0..1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).



description

String

0..1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Defines a textual free-form description of the object.



id

Identifier

1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Unambiguously distinguishes different object instances. It is the naming attribute of the object.

Identifier of this information element.   This attribute shall be globally unique.




1.2.10               PartyName

A word, term, or phrase by which a party (individual or organization) is known and distinguished from other parties.A name is an informal way of identifying an object [Fowler].PartyName is an abstract concept that should be used in places where the business refers to an organization name, organization unit name or individual name

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


1.2.11               PartyRole

The part played by a party in a given context with any characteristics, such as expected pattern of behavior, attributes, and/or associations that it entails.PartyRole is an abstract concept that should be used in places where the business refers to a Party playing a Role

Parent class: RootEntity

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


Attribute Name

Type

Mult.

Stereotypes

Description

status

String

1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Used to track the lifecycle status, e.g. existing, prospective or former customers.



validFor

TimePeriod

1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

The time period that the PartyRole is valid for



name

String

0..1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).



description

String

0..1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Defines a textual free-form description of the object.



id

Identifier

1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Unambiguously distinguishes different object instances. It is the naming attribute of the object.

Identifier of this information element.   This attribute shall be globally unique.




1.2.12               PartyRoleSpecification

The definition of a role a party may play.

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


1.2.13               ServiceProvider

An organization or individual which offers services and products to others in exchange for payment in some form.

Parent class: PartyRole

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


1.2.14               Vendor

An individual or organization that sells goods or services to somone else in the value fabric.

Parent class: PartyRole

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY



  • No labels

1 Comment

  1. HI,

    some clarifications requests about the UC:

    1. Vnfs and Pnfs are onboarded from vendors.  
      A Vendor is a party role.


    VNF/PNF packages are onboarded.

    VNF and PNF packages are provided by the vendors but the onboarding is not progressed by the vendors.

    It is not clear what is the expected use of the class vendor in ONAP in this use case.  Can you clarify ?

    The provider is already an agreed attribute defined in the VNFD  and PNFD in the ONAP Resource Information Model.