Transformation of Applicative Specifications into Imperative ...
Transformation of Applicative Specifications into Imperative ... Transformation of Applicative Specifications into Imperative ...
APPENDIX D. SPECIFICATION OF TRANSFORMER IN RSL1 end, typesMap( TRValueExpr( first(ve), tedom(et), func, trans, types))))))), typesMap( TROptRestriction( or, Known(TypeLiteral(BOOL)), func, trans, typesMap( TRValueExpr( second(ve), terange(et), func, trans, typesMap( TRValueExpr( first(ve), tedom(et), func, trans, types))))))) TROptValueExprList : OptionalValueExprList × ExpType × FUNC × TRANS × TYPES → OVEL_TYPES TROptValueExprList(ovel, et, func, trans, types) ≡ case ovel of ValueExprList(vel) → mk_OVEL_TYPES( ValueExprList( valueExprList( TRValueExprListOpt( vel, et, func, trans, types))), typesMap( TRValueExprListOpt( vel, et, func, trans, types))), NoValueExprList → mk_OVEL_TYPES(ovel, types) end, TROptValueExprPairList : OptionalValueExprPairList × MapType × FUNC × TRANS × TYPES → OVEPL_TYPES TROptValueExprPairList(ovel, et, func, trans, types) ≡ case ovel of ValueExprPairList(vel) → mk_OVEPL_TYPES( 388
D.2. FORMAL SPECIFICATION OF THE TRANSFORMER IN RSL1 ValueExprPairList( valueExprPairList( TRValueExprPairListOpt( vel, et, func, trans, types))), typesMap( TRValueExprPairListOpt( vel, et, func, trans, types))), NoValueExprPairList → mk_OVEPL_TYPES(ovel, types) end, TRValueExprListOpt : ValueExpr ∗ × ExpType × FUNC × TRANS × TYPES → VEL_TYPES TRValueExprListOpt(vel, et, func, trans, types) ≡ if vel = 〈〉 then mk_VEL_TYPES(〈〉, types) else mk_VEL_TYPES( 〈getValueExpr( TRValueExpr(hd vel, et, func, trans, types) )〉 valueExprList( TRValueExprList( tl vel, et, func, trans, typesMap( TRValueExpr( hd vel, et, func, trans, types)))), typesMap( TRValueExprList( tl vel, et, func, trans, typesMap( TRValueExpr( hd vel, et, func, trans, types))))) end, TRValueExprPairListOpt : ValueExprPair ∗ × MapType × FUNC × TRANS × TYPES → VEPL_TYPES TRValueExprPairListOpt(vel, et, func, trans, types) ≡ if vel = 〈〉 then mk_VEPL_TYPES(〈〉, types) else mk_VEPL_TYPES( 〈mk_ValueExprPair( valueExpr( 389
- Page 354 and 355: APPENDIX D. SPECIFICATION OF TRANSF
- Page 356 and 357: APPENDIX D. SPECIFICATION OF TRANSF
- Page 358 and 359: APPENDIX D. SPECIFICATION OF TRANSF
- Page 360 and 361: APPENDIX D. SPECIFICATION OF TRANSF
- Page 362 and 363: APPENDIX D. SPECIFICATION OF TRANSF
- Page 364 and 365: APPENDIX D. SPECIFICATION OF TRANSF
- Page 366 and 367: APPENDIX D. SPECIFICATION OF TRANSF
- Page 368 and 369: APPENDIX D. SPECIFICATION OF TRANSF
- Page 370 and 371: APPENDIX D. SPECIFICATION OF TRANSF
- Page 372 and 373: APPENDIX D. SPECIFICATION OF TRANSF
- Page 374 and 375: APPENDIX D. SPECIFICATION OF TRANSF
- Page 376 and 377: APPENDIX D. SPECIFICATION OF TRANSF
- Page 378 and 379: APPENDIX D. SPECIFICATION OF TRANSF
- Page 380 and 381: APPENDIX D. SPECIFICATION OF TRANSF
- Page 382 and 383: APPENDIX D. SPECIFICATION OF TRANSF
- Page 384 and 385: APPENDIX D. SPECIFICATION OF TRANSF
- Page 386 and 387: APPENDIX D. SPECIFICATION OF TRANSF
- Page 388 and 389: APPENDIX D. SPECIFICATION OF TRANSF
- Page 390 and 391: APPENDIX D. SPECIFICATION OF TRANSF
- Page 392 and 393: APPENDIX D. SPECIFICATION OF TRANSF
- Page 394 and 395: APPENDIX D. SPECIFICATION OF TRANSF
- Page 396 and 397: APPENDIX D. SPECIFICATION OF TRANSF
- Page 398 and 399: APPENDIX D. SPECIFICATION OF TRANSF
- Page 400 and 401: APPENDIX D. SPECIFICATION OF TRANSF
- Page 402 and 403: APPENDIX D. SPECIFICATION OF TRANSF
- Page 406 and 407: APPENDIX D. SPECIFICATION OF TRANSF
- Page 408 and 409: APPENDIX D. SPECIFICATION OF TRANSF
- Page 410 and 411: APPENDIX D. SPECIFICATION OF TRANSF
- Page 412 and 413: APPENDIX D. SPECIFICATION OF TRANSF
- Page 414 and 415: APPENDIX D. SPECIFICATION OF TRANSF
- Page 416 and 417: APPENDIX D. SPECIFICATION OF TRANSF
- Page 418 and 419: APPENDIX D. SPECIFICATION OF TRANSF
- Page 420 and 421: APPENDIX D. SPECIFICATION OF TRANSF
- Page 422 and 423: APPENDIX D. SPECIFICATION OF TRANSF
- Page 424 and 425: APPENDIX D. SPECIFICATION OF TRANSF
- Page 426 and 427: APPENDIX D. SPECIFICATION OF TRANSF
- Page 428 and 429: APPENDIX D. SPECIFICATION OF TRANSF
- Page 430 and 431: APPENDIX D. SPECIFICATION OF TRANSF
- Page 432 and 433: APPENDIX D. SPECIFICATION OF TRANSF
- Page 434 and 435: APPENDIX D. SPECIFICATION OF TRANSF
- Page 436 and 437: APPENDIX D. SPECIFICATION OF TRANSF
- Page 438 and 439: APPENDIX D. SPECIFICATION OF TRANSF
- Page 440 and 441: APPENDIX D. SPECIFICATION OF TRANSF
- Page 442 and 443: APPENDIX D. SPECIFICATION OF TRANSF
- Page 444 and 445: APPENDIX D. SPECIFICATION OF TRANSF
- Page 446 and 447: APPENDIX D. SPECIFICATION OF TRANSF
- Page 448 and 449: APPENDIX D. SPECIFICATION OF TRANSF
- Page 450 and 451: APPENDIX D. SPECIFICATION OF TRANSF
- Page 452 and 453: APPENDIX D. SPECIFICATION OF TRANSF
APPENDIX D. SPECIFICATION OF TRANSFORMER IN RSL1<br />
end,<br />
typesMap(<br />
TRValueExpr(<br />
first(ve), tedom(et),<br />
func, trans, types))))))),<br />
typesMap(<br />
TROptRestriction(<br />
or, Known(TypeLiteral(BOOL)), func,<br />
trans,<br />
typesMap(<br />
TRValueExpr(<br />
second(ve), terange(et), func,<br />
trans,<br />
typesMap(<br />
TRValueExpr(<br />
first(ve), tedom(et), func,<br />
trans, types)))))))<br />
TROptValueExprList :<br />
OptionalValueExprList × ExpType × FUNC × TRANS ×<br />
TYPES →<br />
OVEL_TYPES<br />
TROptValueExprList(ovel, et, func, trans, types) ≡<br />
case ovel <strong>of</strong><br />
ValueExprList(vel) →<br />
mk_OVEL_TYPES(<br />
ValueExprList(<br />
valueExprList(<br />
TRValueExprListOpt(<br />
vel, et, func, trans, types))),<br />
typesMap(<br />
TRValueExprListOpt(<br />
vel, et, func, trans, types))),<br />
NoValueExprList → mk_OVEL_TYPES(ovel, types)<br />
end,<br />
TROptValueExprPairList :<br />
OptionalValueExprPairList × MapType × FUNC ×<br />
TRANS × TYPES →<br />
OVEPL_TYPES<br />
TROptValueExprPairList(ovel, et, func, trans, types) ≡<br />
case ovel <strong>of</strong><br />
ValueExprPairList(vel) →<br />
mk_OVEPL_TYPES(<br />
388