anchor.diff:  * `x2m`
   
   == 5 Implementation Comments
  +
  +=== 5.1 Alternatives
  +
  +Alternatives were explored to accomplish this work.  Here is a summary list.
  +
  +=== 5.1.1 Override Parser Recovery
  +
  +The idea here is that ASL activities will cause parse errors in the MASL
  +activity parser.  The detection and reaction to these could be changed.
  +`antlr` provides mechanisms to override the error detection and recovery
  +operations.  These could be changed to "eat until the end of the file".
  +
  +This was explored and found to be non-trivial.  It also provides no advantage
  +of the approach chosen.
  +
  +=== 5.1.2 Pre-Process (`sed/grep/awk`) Activity Files
  +
  +The ASL bodies could be extracted from the activity files before running
  +the parser.  Or, the operation signatures and begin-null-end strings could
  +be stripped from the activity files.  This leaves the problem that the
  +signature actually serves as the key for the activity.
  +
  +The fact that both the MASL and ASL in the file is needed renders this
  +approach less than ideal.
  +
  +=== 5.1.3 Create a New Parser for ASL
  +
  +A parser could be created that understands ASL.  It could be invoked from
  +within the MASL parser.
  +
  +This is simply a much larger amount of work than other approaches.
  +
  +=== 5.1.4 Adapt MASL Parser
  +
  +This is approach chosen.  The MASL parser will be given a single new rule
  +that parses ASL between two tags inserted around the action statements.
  +It is a small change to the parser and allows both the MASL portions and
  +the ASL portions of the files to be processed correctly.
   
   == 6 Unit Test
   
  
positive.code: lines of an activity.  This is superfluous and incorrect syntax for ASL
  activities.  The MASL dumper also emits a "begin, null, end" sequence
  for empty activities which is not useful for ASL.
  
  ==== 3.2.1 'Grep out' the MASL Function Signature
  
  
negative.code: 
  MASL models are imported with special tags 'masl_project' and 'masl_domain'
  in particular model element locations.  This is done to provide a key to
  the BridgePoint model import functionality.  During import, BridgePoint
  detects these keys and performs dialect-specific operations for MASL.
  
  ASL dialect models will need to use a similar approach with different keys.
  
  ==== 3.5.1 Add 'asl_project' and 'asl_domain' to `m2x`
  
  Based upon command line input, the `m2x` conversion utility will embed
  the label 'asl_project' and 'asl_domain' in the same locations where it
  currently embeds 'masl_project' and 'masl_domain' for MASL models.
  
  ==== 3.5.2 Detect 'asl_project' and 'asl_domain' in Import
  
  