Thema (M09)

Erweiterung der Sprache Java um ein Konzept zum Mitführen von Maßeinheiten


Beschreibung:


Für die Implementation von Simulationsmodellen in Physik, Chemie, Biologie, Medizin, Ingenieurwissenschaften etc. ist es oft nützlich, bei Ein- und Ausgaben sowie bei Modellparametern Maßeinheiten mitführen zu können, die in der programminternen Arithmetik mit verarbeitet werden können. Insbesondere können durch fehlerhafte Einheiten verursachte Unstimmigkeiten so leichter aufgedeckt werden. Die Sprache Java soll um ein dementsprechendes Konzept erweitert werden, und es soll für die Spracherweiterung ein Compiler implementiert und getestet werden. Testweise soll die Erweiterung zunächst an der Sprache XL (eine Obermenge von Java; Kniemeyer 2008) vorgenommen werden.


Als Maßeinheiten sollen sowohl die standardisierten SI-Einheiten (Default) als auch selbstdefinierte Einheiten möglich sein. Ihre Verwendung bei numerischen Größen soll optional sein. Zusätzlich soll es – ebenfalls optional – möglich sein, Wertebereiche für Variablen festzulegen, bei deren Überschreitung eine Exception generiert wird. Die Maßeinheiten und die Wertebereiche sollen bei arithmetischen Operationen korrekt verrechnet werden.


Syntaktisch soll die Erweiterung möglichst einfach aussehen und sich an bereits realisierten Sprachen mit Verarbeitung von Maßeinheiten orientieren, etwa an F#, AIMMS, Atlas Transformation Language (ATL); s.a. Kennedy (1996, 2010).




Literatur:


  • AIMMS: http://www.aimms.com/features/mathematical-modeling-language
  • F# : http://msdn.microsoft.com/de-de/fsharp
  • Goguen, Joseph A.; Burstall, Rod M. (1992): Institutions: abstract model theory for specification and programming. Journal of the ACM 39 (1).
  • Kennedy, Andrew (1996): Units of Measure. PhD thesis, University of Cambridge, published as Technical Report No. 391, Univ. of Cambridge Computer Laboratory, April 1996.
  • Kennedy, Andrew (2010): Types for units-of-measure: Theory and practice. Lecture Notes for CEFP'09, to appear in LNCS.
  • Kniemeyer, Ole (2008): Design and Implementation of a Graph Grammar Based Language for Functional-Structural Plant Modelling. Dissertation, BTU Cottbus. http://nbn-resolving.de/urn/resolver.pl?urn=urn:nbn:de:kobv:co1-opus-5937
  • Novak, Gordon S., Jr. (1995): Conversion of Units of Measurement. IEEE Transactions on Software Engineering, vol. 21, no. 8 (August 1995), 651-661.
  • Schneider, H. J. (1988): Physikalische Maßeinheiten und das Typkonzept moderner Programmiersprachen. Informatik-Spektrum 11 / 1988, 256-263








Betreuung:




Masterarbeit für 1 Studierende/n (Angewandte Informatik)