Skip to main content

Correctness of Object Oriented Models by Extended Type Inference

  • Conference paper
  • 368 Accesses

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 7521)

Abstract

Modelling and analysing data dependencies and consistency between classes and objects is a complex task. We show that dependently typed programming languages can handle this in a particularly simple, convenient and highly automated way. Dependent datatypes are used to implement (meta)models for classes and objects directly and concisely. Data dependencies and similar system constraints are specified within the language’s expressive type system. Verification and propagation of these constraints is handled by type inference, which can be enhanced by customised decision procedures or external solvers if needed. The approach thus supports the development of software models that are correct by construction.

Keywords

  • Model Transformation
  • Class Diagram
  • Class Graph
  • Type Inference
  • Object Graph

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (Canada)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (Canada)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   72.00
Price excludes VAT (Canada)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Texts in Theoretical Computer Science. Springer (2004)

    Google Scholar 

  2. Bove, A., Dybjer, P., Norell, U.: A Brief Overview of Agda – A Functional Language with Dependent Types. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 73–78. Springer, Heidelberg (2009)

    CrossRef  Google Scholar 

  3. Brucker, A.D., Wolff, B.: HOL-OCL: Experiences, Consequences and Design Choices. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 196–211. Springer, Heidelberg (2002)

    Google Scholar 

  4. Foster, S., Struth, G.: Integrating an Automated Theorem Prover into Agda. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 116–130. Springer, Heidelberg (2011)

    CrossRef  Google Scholar 

  5. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Sci. Comput. Program. 72(1-2), 31–39 (2008)

    CrossRef  MATH  Google Scholar 

  6. Kahl, W.: Dependently-typed formalisation of typed term graphs. In: Echahed, R. (ed.) TERMGRAPH 2011. EPTCS, pp. 38–53 (2011)

    Google Scholar 

  7. Knapp, A., Merz, S.: Model checking and code generation for UML state machines and collaborations. Tech. Rep. 2002-11, Institut für Informatik, Universität Augsburg (2002); in Proc. FM-TOOLS 2002

    Google Scholar 

  8. Kuske, S., Gogolla, M., Kreowski, H., Ziemann, P.: Towards an integrated graph-based semantics for UML. Software and Systems Modeling 8, 403–422 (2009)

    CrossRef  Google Scholar 

  9. Lano, K.: Constraint-driven development. Information & Software Technology 50(5), 406–423 (2008)

    CrossRef  Google Scholar 

  10. Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving Executability into Object-Oriented Meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)

    CrossRef  Google Scholar 

  11. Poernomo, I.: Proofs-as-Model-Transformations. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 214–228. Springer, Heidelberg (2008)

    CrossRef  Google Scholar 

  12. Smith, G.P., Kammüller, F., Santen, T.: Encoding Object-Z in Isabelle/HOL. In: Bert, D., P. Bowen, J., C. Henson, M., Robinson, K. (eds.) ZB 2002. LNCS, vol. 2272, pp. 82–99. Springer, Heidelberg (2002)

    CrossRef  Google Scholar 

  13. Snook, C.F., Butler, M.J.: UML-B: Formal modeling and design aided by UML. ACM Trans. Softw. Eng. Methodol. 15(1), 92–122 (2006)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Foster, S., Rypáček, O., Struth, G. (2012). Correctness of Object Oriented Models by Extended Type Inference. In: Roychoudhury, A., D’Souza, M. (eds) Theoretical Aspects of Computing – ICTAC 2012. ICTAC 2012. Lecture Notes in Computer Science, vol 7521. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32943-2_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-32943-2_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-32942-5

  • Online ISBN: 978-3-642-32943-2

  • eBook Packages: Computer ScienceComputer Science (R0)