Effective Strategic Programming for Java Developers - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Article Dans Une Revue Software: Practice and Experience Année : 2014

Effective Strategic Programming for Java Developers

Résumé

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.
Fichier principal
Vignette du fichier
final.pdf (451.44 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01265319 , version 1 (01-02-2016)

Identifiants

Citer

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⟩
234 Consultations
348 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More