Henrik Nilsson
School of Computer Science and IT, University of Nottingham, UK
John Peterson
Math and Computer Information Science Department, Western State College, USA
Paul Hudak
Department of Computer Science, Yale University, USA
Download article![](/images/PDF_24.png)
Published in: Proceedings of the 1st International Workshop on Equation-Based Object-Oriented Languages and Tools
Linköping Electronic Conference Proceedings 24:7, p. 71–87
Published: 2007-07-18
ISBN: 978-91-7519-822-4
ISSN: 1650-3686 (print), 1650-3740 (online)
The modeling and simulation of physical systems is of key importance in many areas of science and engineering; and thus can benefit from high-quality software tools. In previous research we have demonstrated how functional programming can form the basis of an expressive language for causal hybrid modeling and simulation. There is a growing realization; however; that a move toward non-causal modeling is necessary for coping with the ever increasing size and complexity of modeling problems. Our goal is to combine the strengths of functional program ming and non-causal modeling to create a powerful; strongly typed fully declarative modeling language that provides modeling and simulation capabilities beyond the current state of the art: in particular; support for highly structurally dynamic systems. Additionally; we think our approach could serve as a semantical framework for studying modeling and simulation languages supporting structural dynamism; and maybe even as a core language in systems where the surface syntax is more conven tional. Although our work is still in its very early stages; we believe that this paper clearly articulates the need for improved modeling languages and shows how functional programming techniques can play a pivotal role in meeting this need.
1. Paul I. Barton and Cha Kun Lee. Modeling; simulation; sensitivity analysis; and optimization of hybrid systems. Submitted to ACM Transactions on Modelling
and Computer Simulation: Special Issue on Multi-Paradigm Modeling; September 2001.
2. Fran¸cois E. Cellier. Object-oriented modelling: Means for dealing with system complexity. In Proceedings of the 15th Benelux Meeting on Systems and Control; Mierlo; The Netherlands; pages 53–64; 1996.
3. Mun Hon Cheong. Functional programming and 3D games. BEng thesis; University of New South Wales; Sydney; Australia; November 2005.
4. Antony Courtney; Henrik Nilsson; and John Peterson. The Yampa arcade. In Proceedings of the 2003 ACM SIGPLAN Haskell Workshop (Haskell’03); pages
7–18; Uppsala; Sweden; August 2003. ACM Press.
5. Hilding Elmqvist; Fran¸cois E. Cellier; and Martin Otter. Object-oriented modeling of hybrid systems. In Proceedings of ESS’93 European Simulation Symposium; pages xxxi–xli; Delft; The Netherlands; 1993.
6. Hilding Elmqvist and Martin Otter. Methods for tearing systems of equations in object-oriented modeling. In Proceedings of ESM’94; European Simulation Multi- conference; pages 326–332; Barcelona; Spain; June 1994.
7. Hilding Elmqvist; Martin Otter; and Fran¸cois E. Cellier. Inline integration: A new mixed symbolic/numeric approach. In Proceedings of ESM’95; European Simula- tion Multiconference; pages xxiii–xxxiv; Prague; Czech Republic; June 1995.
8. Dawson R. Engler; Wilson C. Hsieh; and M. Frans Kaashoek. ‘C: A language for high-level; efficient; and machine-independent dynamic code generation. In Proceedings of the 23rd ACM Symposium on Principles of Programming Languages (POPL’96); pages 131–144; January 1996.
9. Paul Hudak; Antony Courtney; Henrik Nilsson; and John Peterson. Arrows; robots; and functional reactive programming. In Johan Jeuring and Simon Peyton Jones; editors; Advanced Functional Programming; 4th International School 2002; volume 2638 of Lecture Notes in Computer Science; pages 159–187. Springer-Verlag; 2003.
10. John Hughes. Generalising monads to arrows. Science of Computer Programming; 37:67–111; May 2000.
11. Andrew Kennedy. Programming Languages and Dimensions. PhD thesis; Uni- versity of Cambridge; Computer Laboratory; April 1996. Published as Technical Report No. 391.
12. John King; Michael Lees; and Brian Logan. Agent-based and continuum modelling of populations of cells. Technical report; University of Nottingham; December 2006.
13. Edward A. Lee. Overview of the Ptolemy project. Technical memorandum UCB/ERLM01/11; Electronic Research Laboratory; University of California; Berkeley; March 2001.
14. The Modelica Association. Modelica – A Unified Object-Oriented Lan- guage for Physical Systems Modeling: Tutorial version 1.4; December 2000. http://www.modelica.org/documents/ModelicaTutorial14.pdf.
15. The Modelica Association. Modelica – A Unified Object-Oriented Language for Physical Systems Modeling: Language Specification version 2.2; February 2005. http://www.modelica.org/documents/ModelicaSpec22.pdf.
16. Pieter J. Mosterman. An overview of hybrid simulation phenomena and their support by simulation packages. In Fritz W. Vaadrager and Jan H. van Schuppen; editors; Hybrid Systems: Computation and Control ’99; number 1569 in Lecture Notes in Computer Science; pages 165–177; 1999.
17. Pieter J. Mosterman; Gautam Biswas; and Martin Otter. Simulation of disconti- nuities in physical system models based on conservation principles. In Proceedings of SCS Summer Conference 1998; pages 320–325; July 1998.