<commit_before>---

Copyright 2014 Mentor Graphics Corp.  All Rights Reserved.

---

# Dump BridgePoint Code into xtuml/editor Repository
### xtUML Project Design Note



1. Abstract
-----------
This note describes the work to be done to quickly make BridgePoint code available
in the Open Source repository.  

2. Document References
----------------------
[1] Issues 162, https://github.com/xtuml/internal/issues/162  
[2] CQ DEI dts0101036706 - Place more code into public repository  
[3] CQ DEI dts0100906711 - BridgePoint Open Source Phase II   
[4] CQ DEI dts0100919690 - Separate the open source code from the closed source code.  

3. Background
-------------
The BridgePoint team formally announced our intention to put the source code to
(most of) BridgePoint into the Open Source Domain in September of 2012.  Customers
had been informed privately in March of 2012.  In 
February of 2013, we announced via xtuml.org that code was available.  In reality,
little code was thereafter made available as we worked on the long-running project
to fully separate the editor and verifier code [3][4].  

Customers and customer advocates are concerned that the move to OSS is not
progressing quickly enough.  Customers are expressing concern over vendor
lock-in with xtUML and BridgePoint.  Dissatisfaction is growing.

In response to customer requests, we must move a bit more quickly.  While we
continue in parallel on the infrastructure to build OOAofOOA and while we
complete the extraction/separation of the key bits of Verifer and prebuilder
IP, we will make available now a version of the models and plugins.  These
models and plugins will satisfy the need of customers to be assured that
they are not locked in to closed source UML editing.

The strategy for xtUML/BP development will be to protect as little as
possible to maintain control of Verifier and prebuilder (model compilers).
Default to open source.  Anything that is verifier user interface is considered 
part of "the editor" and will not be kept private.

4. Requirements
---------------
4.1  Mentor Graphics proprietary IP for pre-builder and Verifier shall not be distributed.  
  
4.2  Generated Java shall be included for all plug-ins put into public xtuml/editor  
4.2.1  The java shall be generated from the OOAofOOA stripped of Verifier bits  
4.2.2  The plug-ins shall be compilable and exportable into usable plug-ins    
  
5. Analysis
-----------
5.1  The following projects & plug-ins __shall not__ be included:  
```
com.mentor.nucleus.bp.core.linux.x86
com.mentor.nucleus.bp.core.win.x86
com.mentor.nucleus.bp.docgen          ** See Note 1
com.mentor.nucleus.bp.internal.tools  ** See Note 2
com.mentor.nucleus.bp.mc
com.mentor.nucleus.bp.mc.c.binary
com.mentor.nucleus.bp.mc.c.source
com.mentor.nucleus.bp.mc.cpp.source
com.mentor.nucleus.bp.mc.mcpaas
com.mentor.nucleus.bp.mc.none         
com.mentor.nucleus.bp.mc.systemc.source
com.mentor.nucleus.bp.mc.template
com.mentor.nucleus.bp.mc.vhdl.source
com.mentor.nucleus.bp.sequencecapture
Installer_MIP_MIMIC
libTRANS
MC-Java
MC-Java.test
pt_antlr
```
  - __Note 1:__ com.mentor.nucleus.bp.docgen will not be made OSS.  It contains no real IP. However, 
  it relies entirely on tools we will not make OSS or put into xtuml/editor: pre-builder, xtumlmc_build.exe, docgen.exe, xsltproc.  It also has build dependencies on the bp.mc* plug-ins and will not compile without them.  
  - __Note 2:__ Some of the classes in this plug-in provide small utilities we use during development.
  However, the Java Export Builder cannot be made OSS.  Additionally, we don't want to move stuff to bp.utilities
  that would make bp.utilities dependent on other parts of the tool.  Other projects should depend on bp.utilities, 
  not it on others.  Thus, we will keep the bp.internal.tools plug-in private to contain MC-Java tools and 
  carefully consider moving other classes to the OSS plug-in bp.utilities.

5.2  The OOAofOOA model in bp.core will be stripped of the following subsystems/packages
  (marked with X) before the project is posted to xtuml/editor:
```
  - Datatypes
  ** Functions
  ** External Entities
  - Activity
  - Association
  - Body
  X Breakpoint
  - Communication
  - Communication And Access
  - Component
  - Constants
  - Domain
  - Element Packaging
  - Event
  - Globals
  XX Instance
  - Instance Access
  - Interaction
  - Interface Package
  - Invocation
  X Local
  - Message
  - Model Integrity
  - Packageable Element
  - Persistence Associations
  - Relate and Unrelate
  X Runtime Value
  ** Search
  - Selection
  - Sequence
  - State Machine
  - Subsystem
  - System Level Datatypes
  - Use Case
  - Value
  - Wiring
```  
5.2.1  Items marked with ** were previously stripped from the OOAofOOA shipped
  in the bp.welcome plug-in, but they will no longer be stripped.  
5.2.2  The Instance package (marked XX above) is divided so that Verifier specific
  IP is placed into a separate package which is then reserved as if it was marked
  with an X. The only elements left public will be Instance, Attribute Value, Link
  Participation and Link. The future possibility of pre-created events shall also
  be supported, requiring Pending Event and Data Item Value. The Timer and
  Component Instance classes will also be made public. The new reserved
  package will be named Engine. The pruned Instance package will be published.  

5.3  The license files in the plug-ins that are put into xtuml/editor needs to be
  changed from the Mentor Graphics EULA to the Apache license.    
  
5.4 Mentor IP   
5.4.1 The Java Licensing Component (JLC) and SVX jars shall be removed from bp.core
  before the project is posted to xtuml/editor.    
5.4.2 The demo BP encryption pieces shall be removed from bp.core before the project 
  is posted to xtuml/editor.   
5.4.3 The expected results in io.mdl.test has an ooaofooa model that shall be removed 
  before the project is posted to xtuml/editor.  
5.4.4 The BridgePointLicenseManager.java shall be removed from bp.core before the project
  is posted to xtuml/editor.  If we leave it, people can modify the license code to 
  just never check a license.  They could then put this change in the licensed version of the tool.  
                           
<commit_msg>Update 162_editor_code_dump_dnt.md<commit_after>---

Copyright 2014 Mentor Graphics Corp.  All Rights Reserved.

---

# Dump BridgePoint Code into xtuml/editor Repository
### xtUML Project Design Note



1. Abstract
-----------
This note describes the work to be done to quickly make BridgePoint code available
in the Open Source repository.  

2. Document References
----------------------
[1] Issues 162, https://github.com/xtuml/internal/issues/162  
[2] CQ DEI dts0101036706 - Place more code into public repository  
[3] CQ DEI dts0100906711 - BridgePoint Open Source Phase II   
[4] CQ DEI dts0100919690 - Separate the open source code from the closed source code.  

3. Background
-------------
The BridgePoint team formally announced our intention to put the source code to
(most of) BridgePoint into the Open Source Domain in September of 2012.  Customers
had been informed privately in March of 2012.  In 
February of 2013, we announced via xtuml.org that code was available.  In reality,
little code was thereafter made available as we worked on the long-running project
to fully separate the editor and verifier code [3][4].  

Customers and customer advocates are concerned that the move to OSS is not
progressing quickly enough.  Customers are expressing concern over vendor
lock-in with xtUML and BridgePoint.  Dissatisfaction is growing.

In response to customer requests, we must move a bit more quickly.  While we
continue in parallel on the infrastructure to build OOAofOOA and while we
complete the extraction/separation of the key bits of Verifer and prebuilder
IP, we will make available now a version of the models and plugins.  These
models and plugins will satisfy the need of customers to be assured that
they are not locked in to closed source UML editing.

The strategy for xtUML/BP development will be to protect as little as
possible to maintain control of Verifier and prebuilder (model compilers).
Default to open source.  Anything that is verifier user interface is considered 
part of "the editor" and will not be kept private.

4. Requirements
---------------
4.1  Mentor Graphics proprietary IP for pre-builder and Verifier shall not be distributed.  
  
4.2  Generated Java shall be included for all plug-ins put into public xtuml/editor  
4.2.1  The java shall be generated from the OOAofOOA stripped of Verifier bits  
4.2.2  The plug-ins shall be compilable and exportable into usable plug-ins    
  
5. Analysis
-----------
5.1  The following projects & plug-ins __shall not__ be included:  
```
com.mentor.nucleus.bp.core.linux.x86
com.mentor.nucleus.bp.core.win.x86
com.mentor.nucleus.bp.docgen          ** See Note 1
com.mentor.nucleus.bp.internal.tools  ** See Note 2
com.mentor.nucleus.bp.mc
com.mentor.nucleus.bp.mc.c.binary
com.mentor.nucleus.bp.mc.c.source
com.mentor.nucleus.bp.mc.cpp.source
com.mentor.nucleus.bp.mc.mcpaas
com.mentor.nucleus.bp.mc.none         
com.mentor.nucleus.bp.mc.systemc.source
com.mentor.nucleus.bp.mc.template
com.mentor.nucleus.bp.mc.vhdl.source
com.mentor.nucleus.bp.sequencecapture
Installer_MIP_MIMIC
libTRANS
MC-Java
MC-Java.test
pt_antlr
```
  - __Note 1:__ com.mentor.nucleus.bp.docgen will not be made OSS.  It contains no real IP. However, 
  it relies entirely on tools we will not make OSS or put into xtuml/editor: pre-builder, xtumlmc_build.exe, docgen.exe, xsltproc.  It also has build dependencies on the bp.mc* plug-ins and will not compile without them.  
  - __Note 2:__ Some of the classes in this plug-in provide small utilities we use during development.
  However, the Java Export Builder cannot be made OSS.  Additionally, we don't want to move stuff to bp.utilities
  that would make bp.utilities dependent on other parts of the tool.  Other projects should depend on bp.utilities, 
  not it on others.  Thus, we will keep the bp.internal.tools plug-in private to contain MC-Java tools and 
  carefully consider moving other classes to the OSS plug-in bp.utilities.

5.2  The OOAofOOA model in bp.core will be stripped of the following subsystems/packages
  (marked with X) before the project is posted to xtuml/editor:
```
  - Datatypes
  ** Functions
  ** External Entities
  - Activity
  - Association
  - Body
  X Breakpoint
  - Communication
  - Communication And Access
  - Component
  - Constants
  - Domain
  - Element Packaging
  - Event
  - Globals
  XX Instance
  - Instance Access
  - Interaction
  - Interface Package
  - Invocation
  X Local
  - Message
  - Model Integrity
  - Packageable Element
  - Persistence Associations
  - Relate and Unrelate
  X Runtime Value
  ** Search
  - Selection
  - Sequence
  - State Machine
  - Subsystem
  - System Level Datatypes
  - Use Case
  - Value
  - Wiring
```  
5.2.1  Items marked with ** were previously stripped from the OOAofOOA shipped
  in the bp.welcome plug-in, but they will no longer be stripped.  
5.2.2  The Instance package (marked XX above) is divided so that Verifier specific
  IP is placed into a separate package which is then reserved as if it was marked
  with an X. The elements left public will be Instance, Attribute Value, Link
  Participation and Link. The future possibility of pre-created events shall also
  be supported, requiring Pending Event and Data Item Value to be left public. The Timer and
  Component Instance classes will also be made public. The new reserved
  package will be named Engine. The pruned Instance package will be published.  

5.3  The license files in the plug-ins that are put into xtuml/editor needs to be
  changed from the Mentor Graphics EULA to the Apache license.    
  
5.4 Mentor IP   
5.4.1 The Java Licensing Component (JLC) and SVX jars shall be removed from bp.core
  before the project is posted to xtuml/editor.    
5.4.2 The demo BP encryption pieces shall be removed from bp.core before the project 
  is posted to xtuml/editor.   
5.4.3 The expected results in io.mdl.test has an ooaofooa model that shall be removed 
  before the project is posted to xtuml/editor.  
5.4.4 The BridgePointLicenseManager.java shall be removed from bp.core before the project
  is posted to xtuml/editor.  If we leave it, people can modify the license code to 
  just never check a license.  They could then put this change in the licensed version of the tool.  
                           

{'fraction_non_alphanumeric': 0.06304658928287486, 'fraction_numerical': 0.017252345364922882, 'mean_word_length': 3.269857433808554, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4554831', 'n_tokens_mistral': 3897, 'n_tokens_neox': 3615, 'n_words': 1676}