Plastic

Plastic

Welcome to 

Introduction

The Plastic Project Proposal is a great place to get the five minute read of what Plastic is and why you might want to consider using it. A portion of that content is repeated below.

What is a mapping problem?

  • Occurs in internals of a system behind endpoints

  • ODL context – moving from northbound to southbound representations

  • Sometimes need to trivially convert data representation

  • JSON, XML, YML, other parse-able formats

  • Sometimes need to change abstractions (1:1, N:1, N:N)

  • Morph one model into completely different model

  • Morph N models into one model

ODL/plastic Advantages

  • Pay-as-you-go for complexity (field deployable changes)

  • Declarative representations are emphasized (clear schemas)

  • Translation-by-intent (say what you want, not how to do it)

  • Deeper levels of abstraction to help keep custom logic schema-independence

  • Can specify arbitrary morphing via plug-ins in JVM language

  • Understands breaking large mapping problems up (both time and space) into small chunks

Solves problems like…

  • Schema changes for device configurations across releases

  • No more hard-wired dependency on vendor libraries

  • In-the-field updating to support multiple versions of devices

  • Light weight specifications avoid religiosity around “DRY"

Project Facts

Project Creation Date: Nov 1st, 2019
Lifecycle State: Incubation
Type: Kernel
Primary Contact: Allan Clarke <aclarke-at-pobox.com>
Project Lead:  Allan Clarke <aclarke-at-pobox.com>
Committers:  
IRC: freenode.net #opendaylight-plastic
Meetings: See Community Meetings 
Jenkins: jenkins silo
Gerrit Patches: code patches/reviews
Bugs:

Documentation, Tutorials & Examples

Documentation

Tutorial

Both parts of the tutorial below include examples ready to run via Plastic Runner

  • A No Coding Tutorial on how to configure translations without using any coding (for the translation itself)

  • A Coding Tutorial that shows how to create simple plugins that are automatically picked up during the translation process

Source

  • Git clone below for read-only access 

https://git.opendaylight.org/gerrit/plastic.git

  • Git clone below for full access 

Acknowledgments

  • Allan Clarke, originator, architect, and primary implementor

  • Lumina Networks, Inc, for allowing this code to be open-sourced

  • Balaji Varadaraju, for discussing ideas and requirements wrangling

  • Mike Arsenault, for discussing ideas and contributing

  • Shaleen Saxeena, for pushing the boundaries around requirements

Open Meetings

Please contact hosts in case of any issues.

  • Topic: ODL - Weekly Plastic Project meeting

  • Time: TBA