Entity: Share 272 21 null * symbol String 3 false false false dayreturn Sequence(double) 3 false false false sma Sequence(double) 3 false false false Operation: adddata Share boolean d ShareDayData query daydata.size > 25 & sma.size > 0 n = daydata@pre.size & smad = sma@pre.last + d.closing / 26 - daydata[( n - 25 )].closing / 26 & daydata->includes(d) & sma->includes(smad) & result = true Operation: initialise Share void dd Sequence(ShareDayData) dd.size > 25 daydata = dd & sma = dd->collect(closing) Entity: ShareDayData 455 240 null * opening double 3 false false false closing double 3 false false false high double 3 false false false low double 3 false false false date String 3 false false false volume double 3 false false false sma double 3 false false false Association: Share ShareDayData 1 452 129 468 237 0 daydata null ordered GeneralUseCase: settup false Constraint: true null MathLib.setSeeds(243,122,999) null settup false Constraint: i : Integer.subrange(1,90) null ShareDayData->exists( s | s.closing = 100 + 10*(1 - 2*MathLib.random()) & s.date = ( i + "" ) ) null settup false Constraint: null true Share->exists( s | s.initialise(ShareDayData.allInstances()) ) null settup false GeneralUseCase: simulate false Constraint: i : Integer.subrange(1,180) true ShareDayData->exists( d | d.closing = 100 + 10*(1 - 2*MathLib.random()) & self.adddata(d)) Share simulate false Constraint: i : Integer.subrange(91,sma.size) true daydata[i].sma = sma[i] Share simulate false