Skip to Main content Skip to Navigation
New interface
Journal articles

Effective Strategic Programming for Java Developers

Emilie Balland 1 Pierre-Etienne Moreau 2 Antoine Reilles 3 
1 Phoenix - Programming Language Technology For Communication Services
LaBRI - Laboratoire Bordelais de Recherche en Informatique, Inria Bordeaux - Sud-Ouest, EA4136 - Handicap et système nerveux :Action, communication, interaction: rétablissement de la fonction et de la participation [Bordeaux]
2 PAREO - Formal islands: foundations and applications
INRIA Lorraine, LORIA - Laboratoire Lorrain de Recherche en Informatique et ses Applications
Abstract : In object programming languages, the Visitor design pattern allows separation of algorithms and data-structures. When applying this pattern to tree-like structures, programmers are always confronted with the difficulty of making their code evolve. One reason is that the code implementing the algorithm is interwound with the code implementing the traversal inside the Visitor. When implementing algorithms such as data analyses or transformations, encoding the traversal directly into the algorithm turns out to be cumbersome as this type of algorithm only focuses on a small part of the data-structure model (e.g., program optimization). Unfortunately, typed programming languages like Java do not offer simple solutions for expressing generic traversals. Rewrite-based languages like ELAN or Stratego have introduced the notion of strategies to express both generic traversal and rule application control in a declarative way. Starting from this approach, our goal was to make the notion of strategic programming available in a widely used language such as Java and thus to offer generic traversals in typed Java structures. In this paper, we present the strategy language SL that provides programming support for strategies in Java.
Document type :
Journal articles
Complete list of metadata

Cited literature [47 references]  Display  Hide  Download
Contributor : Pierre-Etienne Moreau Connect in order to contact the contributor
Submitted on : Monday, February 1, 2016 - 8:53:14 AM
Last modification on : Saturday, June 25, 2022 - 10:36:25 AM
Long-term archiving on: : Friday, November 11, 2016 - 10:45:14 PM


Files produced by the author(s)




Emilie Balland, Pierre-Etienne Moreau, Antoine Reilles. Effective Strategic Programming for Java Developers. Software: Practice and Experience, 2014, Software: Practice and Experience, 44 (2), pp.34. ⟨10.1002/spe.2159⟩. ⟨hal-01265319⟩



Record views


Files downloads