Papyrus Guidelines
Total Page:16
File Type:pdf, Size:1020Kb
Papyrus Guidelines TR-515 v1.3-info July 2018 TR-515 Papyrus Guidelines Version 1.3 Disclaimer THIS SPECIFICATION IS PROVIDED “AS IS” WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. Any marks and brands contained herein are the property of their respective owners. Open Networking Foundation 1000 El Camino Real, Suite 100, Menlo Park, CA 94025 www.opennetworking.org ©2018 Open Networking Foundation. All rights reserved. Open Networking Foundation, the ONF symbol, and OpenFlow are registered trademarks of the Open Networking Foundation, in the United States and/or in other countries. All other brands, products, or service names are or may be trademarks or service marks of, and are used to identify, products or services of their respective owners. Important note This Technical Recommendations has been approved by the OIMT Project TST but has not been approved by the ONF board. This Technical Recommendation has been approved under the ONF publishing guidelines for 'Informational' publications that allow Project technical steering teams (TSTs) to authorize publication of Informational documents. The designation of '-info' at the end of the document ID also reflects that the project team (not the ONF board) approved this TR. Page 2 of 115 © Open Networking Foundation TR-515 Papyrus Guidelines Version 1.3 Table of Contents 1 Introduction _______________________________________________ 10 2 References ________________________________________________ 10 3 Abbreviations _____________________________________________ 11 4 Documentation Overview ____________________________________ 11 5 Getting Papyrus Running ____________________________________ 12 5.1 Applied Tool Versions _______________________________________________ 12 5.2 Downloading Papyrus _______________________________________________ 13 5.2.1 Downloading Latest Version ________________________________________________ 13 5.2.2 Downloading Applied Version _______________________________________________ 15 5.3 Papyrus Overview __________________________________________________ 25 5.4 Gendoc Plugin Installation ___________________________________________ 27 5.5 Importing a Model into Papyrus _______________________________________ 29 5.6 Importing Common Models into a Model ________________________________ 33 5.7 Deleting a Project ___________________________________________________ 37 6 GitHub Usage _____________________________________________ 37 6.1 Introduction to GitHub _______________________________________________ 37 6.2 Open Model Profiles and Tools on GitHub ______________________________ 38 Modeling Infrastructure Files on GitHub _________________________________________ 39 6.2.1 Forking _________________________________________________________________ 39 6.2.2 Cloning ________________________________________________________________ 40 6.2.3 Model in Papyrus _________________________________________________________ 43 6.2.4 Additional Remote Repository _______________________________________________ 44 6.2.5 Fetching Remote Repository ________________________________________________ 48 6.2.6 Updating Local Repository _________________________________________________ 48 6.2.7 Updating Own Remote Repository ___________________________________________ 50 6.3 Information Model on GitHub _________________________________________ 52 6.3.1 Placeholder XxxModel _____________________________________________________ 52 6.3.2 XxxModel Structure on GitHub ______________________________________________ 52 6.4 GitHub Work Flow __________________________________________________ 53 Model Structure ____________________________________________________________ 54 6.4.1 Forking _________________________________________________________________ 54 6.4.2 Cloning ________________________________________________________________ 54 6.4.3 Model in Papyrus _________________________________________________________ 58 6.4.4 Developing the Model _____________________________________________________ 59 6.4.5 Identify Changes to be upload to Repository ___________________________________ 59 6.4.6 Updating Local Repository _________________________________________________ 60 6.4.7 Updating Own Remote Repository ___________________________________________ 60 6.4.8 Updating Remote Repository _______________________________________________ 62 6.4.9 Merging with Remote Repository ____________________________________________ 63 6.5 Downloading a Model from github for “Read Only Use” ___________________ 63 Page 3 of 115 © Open Networking Foundation TR-515 Papyrus Guidelines Version 1.3 7 Using Papyrus _____________________________________________ 65 7.1 Illustrative Profile and Model _________________________________________ 65 7.2 Papyrus File Structure _______________________________________________ 67 7.3 Model Splitting _____________________________________________________ 67 7.4 Constructing Modeling Environment for a new Model _____________________ 69 7.4.1 Download model infrastructure files (CommonDataTypes, StyleSheets, Open Model Profiles) from Github_____________________________________________________________ 70 7.4.2 Create a new model in a new project _________________________________________ 70 7.4.3 Copy downloaded model infrastructure files into new project _______________________ 74 7.4.4 Apply the Open Model Profiles to the new model ________________________________ 76 7.4.5 Create Default Packages __________________________________________________ 78 7.4.6 Add the Style Sheet to the new model ________________________________________ 79 7.4.7 Load CommonDataTypes libraries into the new model ___________________________ 81 8 Generating Model Documentation _____________________________ 84 8.1 Introduction _______________________________________________________ 84 8.2 Template usage ____________________________________________________ 84 8.3 Basic template _____________________________________________________ 85 8.4 Cover, contents, closing text etc ______________________________________ 86 8.5 Figures from the model with interleaved text ____________________________ 86 8.6 Figure in alphabetical order with no interleaved specific text _______________ 88 8.7 Further explanation of the script ______________________________________ 88 8.8 Test template for printing diagrams and associated text ___________________ 88 8.9 Data Dictionary template overview _____________________________________ 89 8.10 Adding the class and its stereotypes ___________________________________ 89 8.11 Adding properties and stereotypes in tabular form _______________________ 91 8.12 Adding complex data types ___________________________________________ 93 8.13 Adding other data types _____________________________________________ 93 8.13.1 Enumeration Types _____________________________________________________ 93 8.13.2 Primitive Types ________________________________________________________ 94 8.14 Using Fragments ___________________________________________________ 95 8.14.1 Fragment Definitions ____________________________________________________ 95 8.14.2 Examples using Gendoc Fragments _______________________________________ 108 8.15 Example complete template _________________________________________ 110 8.16 Extending the template _____________________________________________ 111 8.17 Known issues _____________________________________________________ 111 9 Importing RSA Models into Papyrus __________________________ 111 9.1 Prerequisite_______________________________________________________ 111 9.2 Import RSA Model into Papyrus ______________________________________ 112 9.3 Replace RSA Profile by Papyrus Profile _______________________________ 114 Page 4 of 115 © Open Networking Foundation TR-515 Papyrus Guidelines Version 1.3 9.4 Remove the “old” RSA files _________________________________________ 114 10 Main Changes between Releases ____________________________ 115 10.1 Summary of main changes between version 1.0 and 1.1 __________________ 115 10.2 Summary of main changes between version 1.1 and 1.2 __________________ 115 10.3 Summary of main changes between version 1.2 and 1.3 __________________ 115 List of Figures Figure 4-1: Specification Architecture ......................................................................................................... 12 Figure 5-1: Papyrus Download Page .......................................................................................................... 13 Figure 5-2: Content of the Papyrus Folder after Extracting the Zip-file ...................................................... 14 Figure 5-3: Initial Papyrus Welcome Icon ................................................................................................... 14 Figure 5-4: Selecting a Workspace ............................................................................................................. 15 Figure 5.5: Eclipse Oxygen Modeling Tools Download Page ..................................................................... 16 Figure 5.6: Content of the Eclipse Folder after Extracting the Zip-file ........................................................ 16 Figure 5-7: Initial eclipse Welcome Icon ..................................................................................................... 17 Figure 5-8: Selecting a Workspace ............................................................................................................