This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lara:tutorial [2015/03/31 18:55] tdrc [LARA] |
lara:tutorial [2019/09/22 15:47] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Tutorials ====== | ====== Tutorials ====== | ||
- | In this page you can find a list of tutorials available about the LARA language and the available tools. | + | In this page you can find a list of tutorials about the LARA language and the available weaving tools. |
- | ===== LARA ===== | + | /* |
+ | ===== Conference Tutorials ===== | ||
+ | */ | ||
- | * [[lara:tutorial:languagespecification|The Language Specification]] - this tutorial serves to first explain the language specification, an important aspect for programming strategies in LARA. | + | ===== CSW'16: LARA Tutorial ===== |
- | * [[lara:tutorial:basics|Basic 101]] - this tutorial shows the basics of the LARA language regarding its aspect-oriented programming approach. | + | |
- | * [[lara:tutorial:js|JavaScript in LARA]] - here we depict the use of javascript inside a LARA aspect. | + | |
- | * [[lara:tutorial:advanced|Advanced LARA]] - in this tutorial we show more complex examples of aspects. | + | |
- | * [[lara:tutorial:larac|larac]] - this tutorial explains how to use the LARA compiler to obtain the intermediate-representation of the aspects (Aspect-IR). | + | |
- | * [[lara:tutorial:larai|Basic larai]] - this tutorial explains the use of a LARA interpreter to interpret and execute simple lara aspects. | + | |
- | * [[lara:tutorial:weavergenerator|Weaver Generator]] - this tutorial explains how to create weavers and interface them with larai. | + | |
- | * [[lara:tutorial:tools|Use external tools in larai]] - this tutorial explains how larai can be used to execute external tools. | + | |
- | ===== MATISSE ===== | + | |
- | ===== MANET ===== | + | |
+ | **A DSL-based Approach for Cross Layer Programming: Monitoring, Adaptivity and Tuning,** //in HiPEAC Spring Computing System Week (CSW’2016, https://www.hipeac.net/csw/2016/porto)//, April 20-22, 2016, Porto, Portugal, (Thematic Session). João M. P. Cardoso, João Bispo, Tiago Carvalho, Luís Reis, Pedro Pinto, Ricardo Nobre, Faculty of Engineering (FEUP), University of Porto, PT | ||
+ | |||
+ | |||
+ | - **Introduction to the LARA Language and its use in the context of Toolchains and Design Flows**, João M.P. Cardoso {{:lara:tutorial:csw16:intro2lara.pdf| }} | ||
+ | - **LARA for Programming Code Characteristics and Metrics**, Pedro Pinto, Tiago Carvalho {{:lara:tutorial:csw16:manet_1-static_analysis.pdf| }} | ||
+ | - **LARA for Programming Code Instrumentation Strategies**, Pedro Pinto, Tiago Carvalho {{:lara:tutorial:csw16:manet_2-dynamic_analysis.pdf| }} | ||
+ | - **LARA for Programming Strategies for Code Transformations and Optimizations**, Pedro Pinto, Ricardo Nobre | ||
+ | * **Code Transformation and Optimizations**, Pedro Pinto {{:lara:tutorial:csw16:manet_3-code_transformations.pdf| }} | ||
+ | * **Design-Space Exploration in the Context of Phase-Ordering**, Ricardo Nobre {{:lara:tutorial:csw16:dse_3-compiler_optimizations.pdf| }} | ||
+ | - **LARA in the context of a MATLAB/Octave to C/OpenCL Compiler**, João Bispo, Luís Reis | ||
+ | * **Weaving MATLAB**, João Bispo {{:lara:tutorial:csw16:matisse_4-weaving_matlab.pdf| }} | ||
+ | * **MATLAB to C/OpenCL Compilation**, Luís Reis {{lara:tutorial:csw16:matisse_5-compilation.pdf| }} | ||
+ | * **[[http://specs.fe.up.pt/tools/matisse|Online Tool (MATISSE)]]** | ||
+ | - **LARA in the context of a Java to Java Compiler**, Tiago Carvalho, Pedro Pinto {{lara:tutorial:csw16:kadabra_6-weaving_java.pdf| }} | ||
+ | - **LARA for Programming Strategies for Runtime Adaptivity **, Tiago Carvalho, Pedro Pinto {{lara:tutorial:csw16:kadabra_7-runtime_adaptability_with_lara.pdf| }} | ||
+ | - **Plans for LARA in the context of the ANTAREX Project**, João Bispo, João M.P. Cardoso {{lara:tutorial:csw16:8-laraandantarex-tutorial.pdf| }} | ||
+ | |||
+ | ===== May DEI'18: LARA Tutorial for Java ===== | ||
+ | |||
+ | **Introduction to the LARA AOP Language,** Tiago Carvalho, Pedro Pinto, João Bispo, João M. P. Cardoso, Faculty of Engineering (FEUP), University of Porto, PT | ||
+ | - **[[https://github.com/specs-feup/specs-lara/tree/master/Tutorial-2018-DEI-Java|GitHub Repository]]** | ||
+ | |||
+ | ===== The LARA Language ===== | ||
+ | * [[lara:tutorial:basics|Basic 101]] -basics of the LARA language regarding its aspect-oriented programming approach. | ||
+ | /* [[lara:tutorial:js|JavaScript in LARA]] - the use of javascript inside a LARA aspect. */ | ||
+ | /* * [[lara:tutorial:advanced|Advanced LARA]] - more complex examples of LARA aspects. */ | ||
+ | * [[lara:tutorial:languagespecification|Target Language Specification]] - how to define the target language specification (before moving to the LARA compiler). | ||
+ | /* [[lara:tutorial:larai|Basic larai]] - use of a LARA interpreter to interpret and execute simple lara aspects. */ | ||
+ | /* * [[lara:tutorial:weavergenerator|Weaver Generator]] - how to create weavers and interface them with larai. */ | ||
+ | /* * [[lara:tutorial:tools|Use external tools in larai]] - how larai can be used to execute external tools. */ | ||
+ | |||
+ | /* | ||
+ | ===== Weaving Tools ===== | ||
+ | |||
+ | ==== MATISSE ==== | ||
+ | * [[matisse:tutorial:basics|Basic 101]] -basics of the MATISSE platform | ||
+ | * [[matisse:tutorial:basics|The MatlabWeaver]] - the LARA weaver implementation used in MATISSE | ||
+ | |||
+ | ==== MANET ==== | ||
+ | * [[manet:tutorial:basics|Basic 101]] - basics of the MANET weaver | ||
+ | * [[manet:tutorial:basics|Advanced MANET]] - advanced usages of MANET | ||
+ | |||
+ | ==== Kadabra ==== | ||
+ | * [[kadabra:tutorial:basics|Basic 101]] - basics of the Kadabra weaver | ||
+ | * [[kadabra:tutorial:basics|Advanced Kadabra]] - advanced usages of kadabra | ||
+ | |||
+ | ==== ReflectC ==== | ||
+ | * [[reflectc:tutorial:basics|Basic 101]] - basics of the ReflectC weaver | ||
+ | * [[reflectc:tutorial:basics|Advanced ReflectC]] - advanced usages of ReflectC | ||
+ | */ |