Skip to main content

Metamodel and UML Profile for Functional Programming Languages

  • Conference paper
Dependable Computer Systems

Part of the book series: Advances in Intelligent and Soft Computing ((AINSC,volume 97))

  • 533 Accesses

Abstract

Functional programming languages are ideally suited for developing dependable software, but not much work have been done on modeling functional programs. Although UML is mainly based on concepts which are native to imperative object-oriented programming languages, this chapter shows how – through the profile mechanism – it can be used to model software that is to be implemented in a functional programming language. In this chapter Haskell was chosen as one of the most popular modern, pure functional languages. First, a partial metamodel of Haskell is defined and then the corresponding UML profile is presented.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Backus, J.: Can Programming Be Liberated from the von Neumann Style?A Functional Style and Its Algebra of Programs. Communications of the ACM 21(8), 613–641 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  2. Cardelli, L.: Two-dimensional syntax for functional languages. In: Proceedings of ECICS, vol. 82, pp. 139–151 (1983)

    Google Scholar 

  3. Harrop, J.: F# for Scientists. Wiley Interscience, Hoboken (2008)

    Book  Google Scholar 

  4. Hudak, P.: Conception, Evolution, and Application of Functional Programming Languages. ACM Computing Surveys 21(3), 359–411 (1989)

    Article  Google Scholar 

  5. Hutton, G.: Programming in Haskell. Cambridge University Press, Cambridge (2007)

    MATH  Google Scholar 

  6. Jones, S.P.: Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, Cambridge (2003)

    Google Scholar 

  7. Warmer, J., Kleppe, A.: The Object Constraint Language: Precise Modeling With UML. Addison-Wesley, Reading (1998)

    Google Scholar 

  8. Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML (Revised). MIT Press, Cambridge (1997)

    Google Scholar 

  9. Object Management Group, MDA Guide Version 1.0.1 (omg/03-06-01) (2003)

    Google Scholar 

  10. Object Management Group, Metamodel and UML Profile for Java and EJB Specification (formal/04-02-02) (2004)

    Google Scholar 

  11. Object Management Group UML 2.3 Superstructure Specification (formal/2010-05-05) (2010)

    Google Scholar 

  12. Reekie, H.J .: Realtime Signal Processing: Dataflow, Visual, and Functional Programming. PhD thesis, University of Technology at Sydney (1995)

    Google Scholar 

  13. Rémy, D.: Using, Understanding, and Unraveling the OCaml Language. In: Barthe, G., Dybjer, P., Pinto, L., Saraiva, J. (eds.) APPSEM 2000. LNCS, vol. 2395, pp. 413–537. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  14. Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual, 2nd edn. Addison-Wesley, Reading (2004)

    Google Scholar 

  15. Russell, D.: FAD: A Functional Analysis and Design Methodology. PhD thesis, University of Kent at Canterbury (2001)

    Google Scholar 

  16. Turner, D.A.: Miranda: A non-strict functional language with polymorphic types. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 1–16. Springer, Heidelberg (1985)

    Google Scholar 

  17. Wakeling, D.: A Design Methodology for Functional Programs. In: Taha, W. (ed.) SAIG 2001. LNCS, vol. 2196, pp. 146–161. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Szlenk, M. (2011). Metamodel and UML Profile for Functional Programming Languages. In: Zamojski, W., Kacprzyk, J., Mazurkiewicz, J., Sugier, J., Walkowiak, T. (eds) Dependable Computer Systems. Advances in Intelligent and Soft Computing, vol 97. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21393-9_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21393-9_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21392-2

  • Online ISBN: 978-3-642-21393-9

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics