Abstract
This paper reconsiders refinements which introduce actions on the concrete level which were not present at the abstract level. It considers a range of different basic refinement relations, covering the standard ones for formalisms like Event-B, Z, action systems, and CSP. It also describes a number of ways in which new operations may be introduced: extended interfaces, internal actions, stuttering steps, and action refinement. The main contribution of this paper is in exploring the interaction between those two dimensions. In particular, it shows how the “refining skip” method is incompatible with failures-based refinement relations, and consequently some decisions in designing Event-B refinement are more entangled than previously highlighted.
Similar content being viewed by others
References
Abrial J-R (2010) Modelling in Event-B. CUP, Cambridge
Aceto L (1992) Action refinement in process algebras. CUP, Cambridge
Abrial J-R, Cansell D, Méry D (2005) Refinement and reachability in Event-B. In: Treharne H, King S, Henson MC, Schneider SA (eds) ZB. LNCS, vol 3455, pp 222–241. Springer
Back RJR (1993) Refinement of parallel and reactive programs. In: Broy M (ed) Program design calculi, pp 73–92
Bolognesi T, Brinksma E (1988) Introduction to the ISO specification language LOTOS. Comput Netw ISDN 14(1): 25–59
Bolton C, Davies J (2006) A singleton failures semantics for communicating sequential processes. Form Asp Comp 18: 181–210
Boiten EA, Derrick J (2009) Modelling divergence in relational concurrent refinement. In: Leuschel M, Wehrheim H (eds) IFM 2009. LNCS, vol 5423, pp 183–199. Springer
Boiten EA, Derrick J (2010) Incompleteness of relational simulations in the blocking paradigm. Sci Comput Program 75(12): 1262–1269
Boiten EA, Derrick J, Schellhorn G (2009) Relational concurrent refinement II: internal operations and outputs. Form Asp Comp 21(1–2): 65–102
Boiten EA (2011) Perspicuity and granularity in refinement. In: Derrick J, Boiten EA, Reeves S (eds) Refinement workshop 2011. EPTCS, vol 55, pp 155–165
Banach R, Schellhorn G (2010) Atomic actions, and their refinements to isolated protocols. Form Asp Comp 22(1): 33–61
Butler M (1997) An approach to the design of distributed systems with B AMN. In: Bowen JP, Hinchey MG, Till D (eds) ZUM’97: the Z formal specification notation. LNCS, vol 1212, pp 223–241. Springer
Butler M (2009) Decomposition structures for Event-B. In: Leuschel M, Wehrheim H (eds) IFM. LNCS, vol 5423, pp 20–38. Springer
Derrick J, Boiten EA (1999) Non-atomic refinement in Z. In: Wing JM, Woodcock JCP, Davies J (eds) FM’99 World congress on formal methods in the development of computing systems. LNCS, vol 1708, pp 1477–1496. Springer
Derrick J, Boiten EA (2001) Refinement in Z and object-Z. Springer, Berlin
Derrick J, Boiten EA, Bowman H, Steen MWA (1998) Specifying and refining internal operations in Z. Form Asp Comp 10: 125–159
De Roever WP, Engelhardt K (1998) Data refinement: model-oriented proof methods and their comparison. CUP, Cambridge
Derrick J, Wehrheim H (2003) Using coupled simulations in non-atomic refinement. In: Bert D, Bowen JP, King S, Waldén M (eds) ZB 2003. LNCS, vol 2651, pp 127–147. Springer
Hesselink WH (2005) Eternity variables to prove simulation of specifications. ACM T Comput Log 6(1): 175–201
Hoare CAR, Jifeng H (1998) Unifying theories of programming. Prentice Hall, New Jersey
Jifeng H, Hoare CAR, Sanders JW (1986) Data refinement refined. In: Robinet B, Wilhelm R (eds) Proceedings of the ESOP 86. LNCS, vol 213, pp 187–196. Springer
Hoare CAR (1985) Communicating sequential processes. Prentice Hall, New Jersey
Lamport L (1994) The temporal logic of actions. ACM T Prog Lang Sys 16(3): 872–923
Morgan CC (1994) Programming from Specifications. International series in Computer Science, 2nd edn. Prentice Hall, New Jersey
Reeves S, Streader D (2008) Data refinement and singleton failures refinement are not equivalent. Form Asp Comp 20(3): 295–301
Schellhorn G (2005) ASM refinement and generalizations of forward simulation in data refinement: a comparison. Theor Comput Sci 336(2–3): 403–436
Van Glabbeek RJ (2001) The linear time—branching time spectrum I. The semantics of concrete sequential processes. In: Bergstra JA, Ponse A, Smolka SA (eds) Handbook of process algebra, pp 3–99. North-Holland
Wirth N (1971) Program development by stepwise refinement. Commun ACM 14: 221–227
Woodcock JCP, Davies J (1996) Using Z: specification, refinement, and proof. Prentice Hall, New Jersey
Author information
Authors and Affiliations
Corresponding author
Additional information
Jin Song Dong and Jim Woodcock
Rights and permissions
About this article
Cite this article
Boiten, E.A. Introducing extra operations in refinement. Form Asp Comp 26, 305–317 (2014). https://doi.org/10.1007/s00165-012-0266-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-012-0266-z