AlloyTools / org.alloytools.alloy

Alloy is a language for describing structures and a tool for exploring them. It has been used in a wide range of applications from finding holes in security mechanisms to designing telephone switching networks. This repository contains the code for the tool.
Other
694 stars 123 forks source link

Additional information in meta-model visualization #251

Open nmacedo opened 3 months ago

nmacedo commented 3 months ago

The meta-model visualization is missing some of the information that can be extracted from the signature hierarchy, namely:

I don't personally use this feature very often, but it would be easy to extend to identify those features. Namely, to produce something like the example below (each of these subsets could be "painted" differently by default).

abstract some sig A {
    r : E }
one sig A1,A2 extends A {}
sig A3 extends A {
    var s : E }
var lone sig B in A1+A2 {}
var sig C = B+A3 {}
enum E { E1, E2, E3 }
Screenshot 2024-03-28 at 15 21 29