eMoflon / emoflon-neo

A Neo4j-based implementation of eMoflon
Eclipse Public License 2.0
6 stars 2 forks source link

Missing connector in visualisation #300

Closed anthonyanjorin closed 4 years ago

anthonyanjorin commented 4 years ago

The visualisation of the if/else constraint below is wrong as a connector between erfahrung and erfahrung is missing.

image

pattern ErfahrungInStakeholderAnalysis {
    analysis:StakeholderAnalysis {
        -erfahrungen->erfahrung
    }

    erfahrung:Erfahrung
}

pattern ErfahrungNotIsolated -> ErfahrungInStakeholderAnalysis {
    analysis:StakeholderAnalysis {
        -stakeholder->stakeholder
    }

    stakeholder:Stakeholder {
        -erfahrungen->$erfahrung
    }
}

constraint ForbidIsolatedErfahrung = if ErfahrungInStakeholderAnalysis then 
                                        ErfahrungNotIsolated

metamodel stakeholderAnalysis {
    StakeholderAnalysis {
        <>-stakeholder(0..*)->Stakeholder
        <>-bereiche(0..*)->Bereich
        <>-erwartungen(0..*)->Erwartung
        <>-erfahrungen(0..*)->Erfahrung
    }

    Stakeholder {
        .name : EString
        .aufgaben : EString

        -abteilung(0..1)->Bereich
        <>-dauer(0..1)->DATE
        -erwartungen(0..*)->Erwartung
        -erfahrungen(0..*)->Erfahrung
    }

    Bereich {
        .name : EString
    }

    Erwartung {
        .name : EString
        .description : EString
    }

    Erfahrung {
        .name : EString
        .type : Erfahrungstyp
        .description : EString
    }

    DATE {
        .day : EInt
        .month : EInt
        .year : EInt
    }

    enum Erfahrungstyp {
        TOOL
        SPRACHE
        TECHNOLOGIE
        TECHNIK
    }
}