anchor.diff: -= Automatically formalize and force user to setup referentials and role phrases at creation
  += Relationship Editor
   
   xtUML Project Analysis Note
   
   == 1 Abstract
   
   Want to automatically formalize relationships when they are drawn and force the
  -user to set up referentials and role phrase at creation time.
  +user to set up referentials and role phrases at creation time.
   
  -This comes from a Nov 17, 2018 discussion between One Fact and users about
  -high-priority items.
  +This issue originates from a November 17, 2018 discussion between users and
  +the BridgePoint engineering team regarding high-priority work items.
   
   == 2 Introduction and Background
   
  
positive.code: -- creating an attribute includes specifying its type, optionally adding it to
  an identifier, etc. Creating a relationship includes formalizing the
  relationship, specifying cardinality and role phrases, etc. iUML does not allow
  users to create an attribute and then add it to an identifier. These are done in
  one action. Model elements may be edited after the fact, but it is always in the
  context of the larger modeling action.
  
  == 3 Requirements
  
  === 3.1 BridgePoint shall support formalizing associations at relationship creation time.
  
  ==== 3.2.1 This mechanism may be enabled or disabled through a workspace preference.
  
  === 3.2 The auto-formalization mechanism shall support enforcement of certain modeling standards.
  
  ==== 3.2.1 The enforcement rules may be configured through workspace preferences.
  
  ==== 3.2.2 Role phrases may be configured to be required or optional.
  
  ==== 3.3 Reasonable defaults shall be provided for all new workspace preferences.
  
  == 4 Analysis
  
  4.1 Workflow support
  
  BridgePoint currently uses a mechanism to generate UI workflows as Eclipse
  wizards. Actions that require multiple inputs or steps can be defined using a
  
negative.code: generate any flavor of UI element. For example, instead of wizards, it could be
  changed to support a workflow in a single dialog or even an editor pane.
  
  === 4.2 Element Creation
  
  During element creation, special OOA of OOA functions are invoked to initialize
  a new element. These functions could be used to hook into existing UI workflows.
  In this way a particular workflow can be automatically initiated on creation of
  an element. This could be controlled by a preference.
  
  === 4.3 Workflow Generation Pitfalls
  
  A full relationship editor is quite a bit more complex than any UI workflow so
  far in BridgePoint. This section enumerates the shortcomings of the generation
  process and where it would need to be changed to support such a workflow.
  
  ==== 4.3.1 Model Data/Generation Coupling
  
  Over time the archetypes used to generate UI workflows have become strongly
  coupled to the data used to generate those workflows. The result is a generation
  