CPL - Chalmers Publication Library
| Utbildning | Forskning | Styrkeområden | Om Chalmers | In English In English Ej inloggad.

Generic libraries in C++ with concepts from high-level domain descriptions in Haskell: A domain-specific library for computational vulnerability assessment

Daniel Lincke ; Patrik Jansson (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers)) ; Marcin Zalewski (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers)) ; Cezar Ionescu
Domain-Specific Languages - IFIP TC 2 Working Conference, DSL 2009 (0302-9743). Vol. 5658/2009 (2009), p. 236-261.
[Konferensbidrag, refereegranskat]

A class of closely related problems, a problem domain, can often be described by a domain-specific language, which consists of algorithms and combinators useful for solving that particular class of problems. Such a language can be of two kinds: it can form a new language or it can be embedded as a sublanguage in an existing one. We describe an embedded DSL in the form of a library which extends a general purpose language. Our domain is that of vulnerability assessment in the context of climate change, formally described at the Potsdam Institute for Climate Impact Research. The domain is described using Haskell, yielding a domain specific sublanguage of Haskell that can be used for prototyping of implementations. In this paper we present a generic C++ library that implements a domain-specific language for vulnerability assessment, based on the formal Haskell description. The library rests upon and implements only a few notions, most importantly, that of a monadic system, a crucial part in the vulnerability assessment formalisation. We describe the Haskell description of monadic systems and we show our mapping of the description to generic C++ components. Our library heavily relies on concepts, a C++ feature supporting generic programming: a conceptual framework forms the domain-specific type system of our library and parametrised types and functions, ``typed'' by the concepts in our conceptual framework, represent the combinators and algorithms of the domain. Furthermore, we discuss what makes our library a domain specific language and how our domain-specific library scheme can be used for other domains (concerning language design, software design, and implementation techniques).


LNCS, Springer



Den här publikationen ingår i följande styrkeområden:

Läs mer om Chalmers styrkeområden  

Denna post skapades 2009-03-25. Senast ändrad 2016-07-26.
CPL Pubid: 91900

 

Läs direkt!


Länk till annan sajt (kan kräva inloggning)


Institutioner (Chalmers)

Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers) (2008-2010)

Ämnesområden

Informations- och kommunikationsteknik
Hållbar utveckling
Datalogi
Programvaruteknik
Klimatforskning
Miljöteknik

Chalmers infrastruktur