To make a model easier to understand, it is often useful to be able to associate the same color with a set of entities from the same functional sub-domain.

 

 

Akwatype lets you define sub-models that group together entities to which a color can be assigned.

In a façade description file, they are introduced by the keyword subModel followed by the name of the sub-model and the properties between {  }

subModel CourseColor {
    customColor: "#badc58,darkgray"
    facades: [Course,Book,Author,Subject,CourseCategory]
}

 

SubModel properties

  • customColor (String)
    • Allows you to give a custom color to all entities associated with this sub-model, eg. "#C9A9A9,#543894" ("background,font")
    • You can use the hexadecimal color code eg. #FF5000 or the standard HTML color name
  • facades (String)
    • List of facades (type or facade) associated to the submodel
  • label (String)
    • short description of the subModel
  • description (String)
    • Longer description of the subModel
  • comment (String)
    • Longer description of the subModel
 
Color display in the editor and use of the color picker make color management easier in Akwatype

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Color propagation

If a color is defined on a Type, all facades defined on this Type will inherit this color.

It is of course possible to override this inherited color by specifically associating the facade with another subModel

Example :

types

type Person{
  name:String
  firstName:String
  socialSecurityNumber: String
  address:Address
}

type Address{   createdDate:Date   updatedDate:Date   street : String   zipCode:String   city:String   country:String }

facades and subModel


facade ShortPerson on Person{     name     address::ShortAddress }
facade ShortAddress on Address{     city     country }
subModel PersonalInformation {     customColor: "yellowgreen,white"     facades: [Person,Address] }
subModel AdressFacade {     customColor: "#7AF0ED,drakGray"     facades: [ShortAddress] }

 

Graph :