Aspects of Pattern Relations

We have the opportunity to carefully read "Moldable Development Patterns" by Nierstrasz and Gîrba. This paper already offers a pattern hierarchy annotated as Tooling, Modeling or Process.

We anticipate constructing three separate graphs following the aspects already identified. We will speculate additional artifacts beyond patterns that will more visually connect these structure preserving transformations. We'll adopt the nomenclature from SigMod Example Unbound

Tools

Pattern:MoldableTool recognize Application:artifact invoke Mechanism:dynamic Pattern:ContextualPlayground instantiates Pattern:MoldableObject binds Application:instance evaluates Application:snippet Pattern:CustomView abstracts Application:navigation formats Application:state refines Pattern:SimpleView Pattern:CustomSearch extends Pattern:MoldableTool enumerates Application:attributes Pattern:CustomAction extends Pattern:MoldableTool encapsulates Mechanism:dynamic

Modeling

Pattern:MoldableObject pose Domain:question which invites Application:navigation suggests Pattern:MoldableTool Application:test creates Pattern:ExampleObject which represents Application:state extends Pattern:ExampleObject Application:data creates Pattern:MoldableDataWrapper which reflects Domain:entity extends Pattern:MoldableDataWrapper Pattern:MoldableCollectionWrapper aggregates Domain:entity delegates Application:collection

Process

Pattern:ProjectDiary summarize Project:goals reference Project:materials instantiate Pattern:MoldableObject Pattern:ToolingBuildup precedes Domain:question implement Application:parsers implement Application:bridges implement Application:algorithms Pattern:BlindSpot pick Stakeholder:problem convince Stakeholder:commitment implement Pattern:SimpleView which address Domain:question Pattern:ThrowawayAnalysisTool exploit Pattern:MoldableObject answer Domain:question precedes Pattern:ToolingBuildup

Plan: finish careful reading, encode as freeform relations, modify script for aspects in the Solo Super Collaborator.

http://ward.dojo.fed.wiki/assets/pages/aspects-of-pattern-relations/aspects-freeform.html HEIGHT 300

At the completion of our first careful reading we find 14 Pattern nodes and 12 Application nodes plus four more node types appearing in ones and twos.

["Moldable Colors",
{
  "Application": "fillcolor=bisque",
  "Pattern": "fillcolor=lightblue",
  "Graphviz": "fillcolor=white"
}]

We add appropriate emphasis and an alternative layout with Graphviz Rendering Pragma.

{
  "name": "Spring Layout",
  "layout": "neato",
  "url": "https://graphviz.org/docs/layouts/neato/"
}

pages/aspects-of-pattern-relations

Finally we interpret the freestyle graphs separately and write each to a line of a .jsonl file. View this along with some formatting options in solo. open