Skip to main content
Log in

Relational concurrent refinement part III: traces, partial relations and automata

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

Data refinement in a state-based language such as Z is defined using a relational model in terms of the behaviour of abstract programs. Downward and upward simulation conditions form a sound and jointly complete methodology to verify relational data refinements, which can be checked on an event-by-event basis rather than per trace. In models of concurrency, refinement is often defined in terms of sets of observations, which can include the events a system is prepared to accept or refuse, or depend on explicit properties of states and transitions. By embedding such concurrent semantics into a relational framework, eventwise verification methods for such refinement relations can be derived. In this paper, we continue our program of deriving simulation conditions for process algebraic refinement by defining further embeddings into our relational model: traces, completed traces, failure traces and extension. We then extend our framework to include various notions of automata based refinement.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abrial J-R (2010) Modelling in Event-B. CUP, Cambridge

    Book  Google Scholar 

  2. Bolognesi T, Brinksma E (1988) Introduction to the ISO Specification Language LOTOS. Comput Networks ISDN 14(1): 25–59

    Article  Google Scholar 

  3. Boiten EA, Derrick J (2002) Unifying concurrent and relational refinement. ENTCS 70(3):182–196. In: Derrick J, Boiten EA, Von Wright J, Woodcock JCP (eds) Proceedings of REFINE’02

    Google Scholar 

  4. Bolton C, Davies J (2002) Refinement in Object-Z and CSP. In: Butler M, Petre L, Sere K (eds) IFM 2002. LNCS, vol 2335. Springer, Berlin, pp 225–244

  5. Bolton C, Davies J (2006) A singleton failures semantics for communicating sequential processes. Form Asp Comp 18: 181–210

    Article  MATH  Google Scholar 

  6. Boiten EA, Derrick J (2009) Modelling divergence in relational concurrent refinement. In: Leuschel M, Wehrheim H (eds) IFM 2009.. LNCS, vol 5423. Springer, pp 183–199

    Google Scholar 

  7. Boiten EA, Derrick J (2010) Incompleteness of relational simulations in the blocking paradigm. Sci Comput Program 75(12): 1262–1269

    Article  MATH  MathSciNet  Google Scholar 

  8. Boiten EA, Derrick J, Schellhorn G (2009) Relational concurrent refinement II: internal operations and outputs. Form Asp Comp 21(1–2): 65–102

    Article  MATH  Google Scholar 

  9. Bergstra, JA, Ponse, A, Smolka, SA (eds) (2001) Handbook of process algebra. Elsevier Science Inc., New York

    MATH  Google Scholar 

  10. Brinksma E (1988) A theory for the derivation of tests. In: Aggarwal S, Sabnani K (eds) Protocol specification, testing and verification, VIII.. North-Holland, Atlantic City, pp 63–74

    Google Scholar 

  11. Brinksma E, Scollo G (1986) Formal notions of implementation and conformance in LOTOS. Technical Report INF-86–13, Department of Informatics, University of Twente

  12. Brinksma E, Scollo G, Steenbergen C (1986) Process specification, their implementation and their tests. In: Sarikaya B, Bochmann GV (eds) Protocol specification, testing and verification, VI.. North-Holland, Montreal, pp 349–360

    Google Scholar 

  13. Derrick J, Boiten EA (2001) Refinement in Z and Object-Z. Springer, Berlin

    Book  MATH  Google Scholar 

  14. Derrick J, Boiten EA (2003) Relational concurrent refinement. Form Asp Comp 15(1): 182–214

    Article  MATH  MathSciNet  Google Scholar 

  15. Derrick J, Boiten EA (2008) More relational refinement: traces and partial relations. ENTCS 214:255–276. In: Proceedings of REFINE 2008 (Turku)

    Google Scholar 

  16. De Nicola R (1987) Extensional equivalences for transition systems. Acta Inform 24(2): 211–237

    Article  MATH  MathSciNet  Google Scholar 

  17. De Roever WP, Engelhardt K (1998) Data refinement: model-oriented proof methods and their comparison. CUP, Cambridge

    Book  MATH  Google Scholar 

  18. De Nicola R, Segala R (1995) A process algebraic view of I/O automata. Theor Comput Sci 138: 391–423

    Article  MATH  MathSciNet  Google Scholar 

  19. Derrick J, Schellhorn G, Wehrheim H (2007) Proving linearizability via non-atomic refinement. In: Davies J, Gibbons J (eds) IFM.. LNCS, vol 4591. Springer, pp 195–214

    Google Scholar 

  20. 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. Springer, pp 127–147

  21. Derrick J, Wehrheim H (2003) Non-atomic refinement in Z and CSP. In: Treharne H, King S, Henson MC, Schneider SA (eds) ZB2005.. LNCS, vol 3455. Springer, pp 24–44

    Google Scholar 

  22. Jifeng H, Hoare CAR (1990) Prespecification and data refinement. In: Data refinement in a categorical setting, technical monograph, number PRG-90. Oxford University Computing Laboratory, UK

  23. Jifeng H, Hoare CAR, Sanders JW (1986) Data refinement refined. In: Robinet B, Wilhelm R (eds) Proceedings of ESOP 86. LNCS, vol 213. Springer, Berlin, pp 187–196

  24. Hoare CAR (1985) Communicating sequential processes. Prentice Hall, Englewood Cliffs

  25. Josephs MB (1988) A state-based approach to communicating processes. Distrib Comput 3: 9–18

    Article  MATH  Google Scholar 

  26. Langerak R (1989) A testing theory for LOTOS using deadlock detection. In: (eds) In: Protocol specification testing and verification IX.. North-Holland, Atlantic City, pp 87–98

    Google Scholar 

  27. Langerak R (1992) Transformations and semantics for LOTOS. PhD thesis, University of Twente, The Netherlands

  28. Leduc G (1991) On the role of implementation relations in the design of distributed systems using LOTOS. PhD thesis, University of Liège, Liège, Belgium

  29. Lynch N, Tuttle M (1989) An introduction to input/output automata.. CWI Q 2(3): 219–246

    MATH  MathSciNet  Google Scholar 

  30. Lynch N, Vaandrager F (1995) Forward and backward simulations I.: untimed systems. Inform Comput 121(2): 214–233

    Article  MATH  MathSciNet  Google Scholar 

  31. Milner R (1989) Communication and concurrency. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  32. Reeves S, Streader D (2008) Data refinement and singleton failures refinement are not equivalent. Form Asp Comp 20(3): 295–301

    Article  MATH  Google Scholar 

  33. Segala R (1993) Quiescence, fairness, testing, and the notion of implementation (extended abstract). In: International conference on concurrency theory, pp 324–338

  34. Segala R (1997) Quiescence, fairness, testing, and the notion of implementation. Inform Comput 138(2): 194–210

    Article  MATH  MathSciNet  Google Scholar 

  35. Tretmans J (1996) Test generation with inputs, outputs, and quiescence. In: Margaria T, Steffen B (eds) TACAS’96.. LNCS, vol 1055. Springer, pp 127–146

    Google Scholar 

  36. Vaandrager FW (1991) On the relationship between process algebra and input/output automata. In: Logic in computer science, pp 387–398

  37. Van Glabbeek RJ (1993) The linear time–branching time spectrum II; the semantics of sequential systems with silent moves (extended abstract). In: Best E (ed) CONCUR’93. LNCS, vol 715. Springer, Berlin, pp 66–81

  38. Van Glabbeek RJ (2001) The linear time–branching time spectrum I. The semantics of concrete sequential processes. In: [BPS01], pp 3–99

  39. Woodcock JCP, Davies J (1996) Using Z: specification, refinement, and proof. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to John Derrick.

Additional information

Dong Jin Song, Steve Reeves and Jim Woodcock

Rights and permissions

Reprints and permissions

About this article

Cite this article

Derrick, J., Boiten, E. Relational concurrent refinement part III: traces, partial relations and automata. Form Asp Comp 26, 407–432 (2014). https://doi.org/10.1007/s00165-012-0262-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-012-0262-3

Keywords

Navigation