Skip to main content

2020 | OriginalPaper | Buchkapitel

Transformations for Generating Type Refinements

verfasst von : Douglas R. Smith, Stephen J. Westfold

Erschienen in: Formal Methods. FM 2019 International Workshops

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

We present transformations for incrementally defining both inductive sum/variant types and coinductive product/record types in a formal refinement setting. Inductive types are built by incrementally accumulating constructors. Coinductive types are built by incrementally accumulating observers. In each case, when the developer decides that the constructor (resp. observer) set is complete, a transformation is applied that generates a canonical definition for the type. It also generates definitions for functions that have been characterized in terms of patterns over the constructors (resp. copatterns over the observers). Functions that input a possibly-recursive sum/variant type are defined inductively via patterns on the input data. Dually, functions that output a possibly-recursive record type are defined coinductively via copatterns on the function’s output. The transformations have been implemented in the Specware system [4] and have been used extensively in the automated synthesis of concurrent garbage collection algorithms [9, 12] and families of protocol-processing codes for distributed vehicle control [5].

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Abel, A., Pientka, B., Thibodeau, D., and Setzer, A. Copatterns: programming infinite structures by observations. In: Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2013, pp. 27–38 (2013) Abel, A., Pientka, B., Thibodeau, D., and Setzer, A. Copatterns: programming infinite structures by observations. In: Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2013, pp. 27–38 (2013)
3.
Zurück zum Zitat Jacobs, B., Rutten, J.: A tutorial on (co)algebras and (co)induction. Bull. EATCS 62, 222–259 (1996)MATH Jacobs, B., Rutten, J.: A tutorial on (co)algebras and (co)induction. Bull. EATCS 62, 222–259 (1996)MATH
6.
Zurück zum Zitat Leroy, X., Blazy, S.: Formal verification of a C-like memory model and its uses for verifying program transformations. J. Autom. Reason. 41(1), 1–31 (2008)MathSciNetMATHCrossRef Leroy, X., Blazy, S.: Formal verification of a C-like memory model and its uses for verifying program transformations. J. Autom. Reason. 41(1), 1–31 (2008)MathSciNetMATHCrossRef
7.
Zurück zum Zitat Liu, Y.: Systematic Program Design: From Clarity to Efficiency. Cambridge University Press, Cambridge (2013)CrossRef Liu, Y.: Systematic Program Design: From Clarity to Efficiency. Cambridge University Press, Cambridge (2013)CrossRef
8.
Zurück zum Zitat Paige, R., Koenig, S.: Finite differencing of computable expressions. ACM Trans. Program. Lang. Syst. 4(3), 402–454 (1982)MATHCrossRef Paige, R., Koenig, S.: Finite differencing of computable expressions. ACM Trans. Program. Lang. Syst. 4(3), 402–454 (1982)MATHCrossRef
9.
Zurück zum Zitat Pavlovic, D., Pepper, P., Smith, D.R.: Formal derivation of concurrent garbage collectors. In: Bolduc, C., Desharnais, J., Ktari, B. (eds.) MPC 2010. LNCS, vol. 6120, pp. 353–376. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13321-3_20. Extended version in http://arxiv.org/abs/1006.4342 Pavlovic, D., Pepper, P., Smith, D.R.: Formal derivation of concurrent garbage collectors. In: Bolduc, C., Desharnais, J., Ktari, B. (eds.) MPC 2010. LNCS, vol. 6120, pp. 353–376. Springer, Heidelberg (2010). https://​doi.​org/​10.​1007/​978-3-642-13321-3_​20. Extended version in http://​arxiv.​org/​abs/​1006.​4342
14.
Zurück zum Zitat Tuch, H.: Formal verification of C systems code: structured types, separation logic and theorem proving. J. Autom. Reason. 42(2), 125–187 (2009)MathSciNetMATHCrossRef Tuch, H.: Formal verification of C systems code: structured types, separation logic and theorem proving. J. Autom. Reason. 42(2), 125–187 (2009)MathSciNetMATHCrossRef
15.
Zurück zum Zitat Veloso, P.A., Maibaum, T.: On the modularization theorem for logical specification. Inf. Process. Lett. 53(5), 287–293 (1995)MATHCrossRef Veloso, P.A., Maibaum, T.: On the modularization theorem for logical specification. Inf. Process. Lett. 53(5), 287–293 (1995)MATHCrossRef
Metadaten
Titel
Transformations for Generating Type Refinements
verfasst von
Douglas R. Smith
Stephen J. Westfold
Copyright-Jahr
2020
DOI
https://doi.org/10.1007/978-3-030-54997-8_24