Using the MEF Core Model in ONAP John Strassner, Ph. D. Andy Mayer, Ph

Slides:



Advertisements
Similar presentations
Interface & Abstract Class. Interface Definition All method in an interface are abstract methods. Methods are declared without the implementation part.
Advertisements

© Copyright Eliyahu Brutman Programming Techniques Course.
8.1 Classes & Inheritance Inheritance Objects are created to model ‘things’ Sometimes, ‘things’ may be different, but still have many attributes.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Design Patterns.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Unified Modeling Language, Version 2.0
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part V: Design The Design Workflow Design Classes Refining Analysis Relationships.
Creational Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
Patterns in programming1. 2 What are patterns? Answers to common design problems. A language used by developers –To discuss answers to design problems.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
Independent Insight for Service Oriented Practice Summary: Service Reference Architecture and Planning David Sprott.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
© 2016 TM Forum Live! 2016 | 1 TMF Open ORANGE.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
SDN-O LCM for Mercury Release Key Points and Overview
ONAP and MEF LSO External API Framework Functional Reference Architecture 12 July 2017 Andy Mayer, Ph.D. © 2016 AT&T Intellectual Property. All rights.
ONAP layering/MEF alignment
Defining ONAP APIs With BSS/OSS
MEF Modeling Activities
LSO Hackathon Kickoff Charles Eckel.
Lifecycle Service Orchestration (LSO) Models in context
Sections Inheritance and Abstract Classes
MEF Common Information Model Overview
Chapter 1: Introduction to Systems Analysis and Design
Defining ONAP VNF Package Model
Business System Development
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Inheritance Allows extension and reuse of existing code
MEF Modeling Activities
LSO Hackathon Kickoff Charles Eckel.
MEF Q2, April Frankfurt, Germany
Systems Analysis and Design With UML 2
Introduction to Design Patterns
ONAP Integration Through Information and Data Modeling
MEF LSO Legato SDK 24 October 2017 Andy Mayer, Ph.D. Tara Cummings.
ONAP Integration to External Domain Management Systems (DMS)
ECOMP Information Model
Systems Analysis and Design With UML 2
LSO Hackathon Summary Charles Eckel, Cisco DevNet.
Intent Based Orchestration for Applications
Types of Programming Languages
ONAP APIs Andrew Mayer, AT&T
MEF 3.0.
Consideration of Modeling Evolution in ONAP Michela Bevilacqua Peter Wörndle and Tara Cummings 13 December , 2017.
Inheritance B.Ramamurthy 11/7/2018 B.Ramamurthy.
MEF API Development Approach
Documenting ONAP components (functional)
The Extensible Tool-chain for Evaluation of Architectural Models
Jim Fawcett CSE776 – Design Patterns Summer 2003
Lec 3: Object-Oriented Data Modeling
ONAP Beijing Architecture Chris Donley 1/9/18
Defining ONAP VNF Package Model
Object-Oriented Knowledge Representation
Chapter 1: Introduction to Systems Analysis and Design
Automated Analysis and Code Generation for Domain-Specific Models
ARC Alignment ExtAPI ExtAPI Team.
Software Analysis.
Object Oriented System Design Class Diagrams
Object Oriented Design & Analysis
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Using the MEF Core Model in ONAP John Strassner, Ph. D. Andy Mayer, Ph Using the MEF Core Model in ONAP John Strassner, Ph.D. Andy Mayer, Ph.D. Chair, Modelling Projects, MEF PTL ONAP ExtAPI TMF Distinguished Fellow MEF Legato API Lead strazpdj@gmail.com am803u@att.com 12/12/2017

Models That the MEF Has to Offer for ONAP A robust core information model (MCM) that defines common concepts that other models use Based on a set of standard patterns as well as novel new patterns A robust and novel policy information model that provides abstractions to enable imperative, declarative, and intent policies that are represented and managed using a single model Enables any policy programming paradigm to be abstracted as a set of statements that make up a program A resource model, harmonized with ONF TAPI, for working with connectivity, inventory, and management of resources ONF TAPI can thus be reused A generic metadata model

Benefits of Using MEF Models Extensibility Based on standard patterns (some 20+ years of proven usage) Based on new patterns needed to support ICT applications Providing an Integrated View Fragmented views make it difficult to follow common architectural guidelines and use multiple data models Model-driven Engineering Models are used for everything – design, development, implementation, documentation, testing, … APIs and Domain-Specific Languages (DSLs) are Supported The model defines a common lexicon that defines the elements of the API and the grammar of the DSL MEF Models can be used out of the box to improve ONAP models

Examples of Existing Problems and How to Fix Them (1) Recursive relationships are dangerous: All subclasses inherit this, so you must be careful to follow Liskov substitution when using it Cannot differentiate between an atomic instance and a composite instance (i.e., fails to provide a single responsibility) Must implement additional constraints to prevent cycles (e.g., your grandfather cannot be your grandson) Cannot differentiate between a tree and a forest Inconsistent A Whole-Part Relationship cannot have this multiplicity!

Examples of Existing Problems and How to Fix Them (2) Solution: Use the Composite Pattern Note: The MEF Core Model defines Product, Resource, and Service using this pattern Example Common Interface Definition Standalone Objects Composite object; container-specific operations can precede or follow child operations

Examples of the Composite Pattern Used in the MCM Composite pattern usage in MCM for Product, Service, and Resource (other places not shown)

Examples of Existing Problems and How to Fix Them (3) Which version applies to which contained object? Creates cycles X Violates encapsulation! This does NOT change the cardinality of the aggregation! The properties in xxxValue are not a function of the relationship EVERYTHING in the shaded area must be repeated FOR EACH CHARACTERISTIC! Properties should be inherited. If there are no standard characteristics, how are new ones recognized?

If the Goal of the Previous Slide was Dynamicity… This pattern is fundamentally static Builds a class to contain attributes to substitute into another object Attribute control requires additional relationships to other classes This pattern creates a large number of classes and relationships to provide a small increase in functionality The functionality is limited to choosing among pre-defined values The decorator pattern is far more flexible Defined in 1995 Used (for example) in Java and most windowing toolkits Enables all or part of an object to be used to construct a new object at runtime

The Decorator Pattern Extension via composition Uses a base interface to create variations on a specific object that can be composited to add specific attributes and/or behavior Enables functionality of an object to change dynamically

The MEF Decorator Provides Object Consolidation and Additional Extensibility Feature Existing Approach Using a Decorator Number of Classes Required to Implement ONE Feature ELEVEN Service + 5 Classes; ServiceInstance + 1 class; 3 Association Classes FOUR Service, ServiceInstance, a Decorator Class, and a DecoratedFeature Class Number of Relationships Required to Implement ONE Feature TEN Association between Service and ServiceInstance; 5 for Service*, 4 for ServiceInstance** TWO Association between Service and ServiceInstance; Aggregation to implement the Decorator Number of Total Objects to Implement ONE Feature TWENTY ONE SIX Number to Implement FIVE Features FORTY SEVEN CLASSES FORTY SIX RELATIONSHIPS NINE CLASSES SIX RELATIONSHIPS (really method calls) Change attributes values YES, by pre-defining values YES, can also use class methods Change behavior NO YES (execute methods before and/or after decorator is called) Using a Decorator 1 Decorator 1 or more classes for decoration 1 relationship to decorate object Total number of objects (same assumptions) 1 decorator 1 aggregation Have the flexibility to: Add all or part of an object Execute methods at the beginning or the end of the delegation Key point: no compilation needed * Not counting recursive aggregations ** Not counting association marked for deletion

Business Applications Business Applications REFERENCE ARCHITECTURE Customer Domain SP Domain Partner Domain Cantata (CUS:BUS) Business Applications Business Applications Sonata (BUS:BUS) Customer Application Coordinator LEGATO (BUS:SOF) LEGATO (BUS:SOF) Service Orchestration Functionality Interlude (SOF:SOF) Service Orchestration Functionality Allegro (CUS:SOF) Presto (SOF:ICM) Presto (SOF:ICM) Infrastructure Control and Management Infrastructure Control and Management ADAGIO (ICM:ECM) ADAGIO (ICM:ECM) Element Control and Management Element Control and Management Network Infrastructure

SOF Interface Reference Points Service feasibility; Service provisioning configuration & activation; Request fallout; Usage events & metrics; License accounting; Service performance & quality (e.g., KPI); Service trouble management; Service policy; Capacity engineering; Address allocation management; SOF Interface Reference Points LEGATO Dynamic service control; Service state info; Service performance & quality; Service related alerts; Service Orchestration Functionality Dynamic service control; Service parameter config; Service state info; Service performance info; Service problem alerts ALLEGRO INTERLUDE PRESTO Connectivity and network function feasibility; Configuration, activation, and management of connectivity and logical network functions; Topology and routing; Performance and Fault; Connectivity policy

Work in Progress Work jointly with MEF and ONAP External API Project in defining Use Cases and Information Model for Legato and Interlude Leverage MEF Operational Threads and revise MEF 56, Interface Profile Specification: Service Configuration and Activation, to reflect consistent Use Cases The Service Descriptor Model is key to Model Driven Orchestration Work with ONAP and TM Forum define the Service Catalog and Service Instantiation API is a model driven and extensible fashion