====== Tutorials ====== In this page you can find a list of tutorials about the LARA language and the available weaving tools. /* ===== Conference Tutorials ===== */ ===== CSW'16: LARA Tutorial ===== **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 */