Jump to: navigation, search

Plastic:Main

Plastic 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:

  • Allan Clarke <aclarke@luminanetworks.com>
  • Balaji Varadaraju <bvaradar@luminanetworks.com>
  • Tejas Nevrekar <tnevrekar@luminanetworks.com>

IRC: freenode.net #opendaylight-plastic
Mailing List: plastic-dev@lists.opendaylight.org
    Archives: mailing list archives
Meetings: See global meetings page
Repository: git clone https://git.opendaylight.org/gerrit/plastic
Jenkins: jenkins silo
Gerrit Patches: code patches/reviews
Bugs:

Welcome the Plastic Project!

Introduction

The 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"

Documentation, Tutorials & Examples

Documentation

  • An Introduction (that is too detailed and needs rewriting)
  • A Best Practices document
  • A document on running the stand-alone command line version of Plastic called Plastic Runner
  • An Authoring document aimed at advanced coding usages (this should evolve into a reference over time)

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

Acknowledgments

  • 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

All subpages

Plastic:Getting StartedPlastic:Main