MDrivenText

Proposed new ViewModel data textual representation.

Goals: Text based modeling, more to-the-point format than json

How does the format look:

SomeViewModelName ValueOfFirstColumn{  
  NameOfAColumn{ValueOfThatColumn}  
  NameOfAColumn1{ValueOfThatColumn}  
  NameOfAColumn2{ValueOfThatColumn}  
  NameOfAColumn3{ValueOfThatColumn}  
  NameOfColumnWithNesting ValueOfFirstColumnOfNestedObject{    NameOfColumnOfNestedObject{ValueOfThatColumn}  }  
  NameOfColumnWithNesting ValueOfFirstColumnOfNestedObject{    NameOfColumnOfNestedObject{ValueOfThatColumn}  }  
  NameOfColumnWithNesting ValueOfFirstColumnOfNestedObject{    NameOfColumnOfNestedObject{ValueOfThatColumn}  }  
  NameOfColumnWithNesting ValueOfFirstColumnOfNestedObject{    NameOfColumnOfNestedObject{ValueOfThatColumn}  }  
  NameOfColumnWithOtherNesting ValueOfFirstColumnOfNestedObject{    NameOfColumnOfNestedObject{ValueOfThatColumn}  }  
  NameOfColumnWithOtherNesting ValueOfFirstColumnOfNestedObject{    NameOfColumnOfNestedObject{ValueOfThatColumn}  }  
  NameOfColumnWithOtherNesting ValueOfFirstColumnOfNestedObject{    NameOfColumnOfNestedObject{ValueOfThatColumn}  }  
  NameOfColumnWithOtherNesting ValueOfFirstColumnOfNestedObject{    NameOfColumnOfNestedObject{ValueOfThatColumn}  }  
}

An Example if the ViewModel is named "class", has a nesting "attribute" and another nesting "role"

class Thing{  
  SuperClass{SomeSuper}  
  attribute Attribute1{    Type{string}  }  
  role Detail2{  
    Cardinality{0..*}    
    TargetType{Detail}      
    BackName{Thing2}
    BackCardinality{0..1}
    Aggregation{composite}
    IsNavigable{true}
    RoleClass{TheRoleClass}  } 
}

How does the format differ from json?

  • - json has "" on identifiers and some values
  • - json will make it problematic to have values that have special chars like "
  • - json handles arrays differently than properties with [ enclosures
  • - MDrivenText has special meaning ViewModel/Nesting classifier seperate from other properties
  • - json must handle mulltilinks as arrays - MDrivenText collects based in Nesting classifier to build lists

What are the use-cases?

Initially it will be used in MDrivenDesigner to provide textbased editing of classes, statemachines, viewmodels and actions. This in turn will be the initial format when experimenting with other ways (than MDrivenDesigner) to change the model

This page was edited 46 days ago on 03/26/2024. What links here