bigmodels
======================

This repository purpose is to host all Papyrus bigmodels.
The main goal is to ease performances monitoring. 

List of models: 
 # sysml14: A *big* obfuscated using the SysML 1.4 profile.
 # uml: A *big* obfuscated UML model using a lot of sub models. 
  
How to add a model to this repository
 - create a meaning full sub-directory
 - create a Readme.md in this sub-directory
 - add a short description of the model in the Readme
    - kind of model (UML, SysML...)
	- size, number of elements
 - copy/paste the model and its elements (profile, css ...)
 - add the sub-directory in the *List of models* with a one line description

How to obfuscate a model:
 - use this [tutorial](https://wiki.eclipse.org/Papyrus_Obfuscation_Guide)
 
How to test performances in Papyrus
 - use this [tutorial](https://wiki.eclipse.org/Papyrus/Oxygen_Work_Description/Refactoring/PerformancesImprovements) 
 
 