Come usare derivare: in OCL quando il tipo non è primitivo

1

Consideriamo il seguente diagramma di classe

Vorrei esprimere la seguente regola in OCL

if cond = true then 
  bderived = b 
else
  bderived.x = b.x + 10
  bderived.y = b.y + 10
endif

La mia migliore ipotesi per esprimere quanto sopra usando OCL è la seguente:

context A::bderived : B
derive: if cond = true then b
        else 
           {b.x + 10, b.y + 10}
        endif

So che l'espressione OCL precedente non è corretta, ma non riesco a capire alcuna espressione OCL valida per esprimere ciò che voglio.

    
posta Robbo 29.03.2016 - 00:40
fonte

0 risposte

Leggi altre domande sui tag