A domain-specific aspect language for transforming MATLAB programs

Detalhes bibliográficos
Autor(a) principal: Monteiro, Miguel Pessoa
Data de Publicação: 2010
Outros Autores: Saraiva, João Alexandre, Fernandes, João M., Cardoso, João M. P., Diniz, Pedro C.
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/37761
Resumo: Aspect-oriented programming provides powerful ways to augment programs with information out of the scope of the base language while avoiding harming code readability and thus portability. MATLAB is a popular modeling/programming language that will strongly benefit of aspect-oriented programming features. For instance, MATLAB programmers could use aspects to provide information such as restrictions on allowed data types and/or values, monitoring specific aspects of the execution such as the effective dataset sizes or if a given variable ever assumes a specific value, without “polluting” the code with “check code”. This paper describes the main concepts of a domain-specific aspect language (DSAL) for specifying transformations of MATLAB programs in view of supporting optimizations by facilitating the experimentation of alternative implementations. This DSAL specifies aspect modules structured in three sections: intersections equivalent to AspectJ poincuts, actions equivalent to AspectJ advice, and conditions that control triggering of actions. Support for aspect composition strategies and aspect parameterization of tokens from the base program are also supported. We believe the described features complement and enhance MATLAB programming in substantial and valuable ways.
id RCAP_6e4e60c73f6d3d2cc877e6190a0bbe71
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/37761
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling A domain-specific aspect language for transforming MATLAB programsAspect-oriented programmingStrategic programmingDomain-specific languagesMATLABAspect-oriented programming provides powerful ways to augment programs with information out of the scope of the base language while avoiding harming code readability and thus portability. MATLAB is a popular modeling/programming language that will strongly benefit of aspect-oriented programming features. For instance, MATLAB programmers could use aspects to provide information such as restrictions on allowed data types and/or values, monitoring specific aspects of the execution such as the effective dataset sizes or if a given variable ever assumes a specific value, without “polluting” the code with “check code”. This paper describes the main concepts of a domain-specific aspect language (DSAL) for specifying transformations of MATLAB programs in view of supporting optimizations by facilitating the experimentation of alternative implementations. This DSAL specifies aspect modules structured in three sections: intersections equivalent to AspectJ poincuts, actions equivalent to AspectJ advice, and conditions that control triggering of actions. Support for aspect composition strategies and aspect parameterization of tokens from the base program are also supported. We believe the described features complement and enhance MATLAB programming in substantial and valuable ways.Universidade do MinhoMonteiro, Miguel PessoaSaraiva, João AlexandreFernandes, João M.Cardoso, João M. P.Diniz, Pedro C.20102010-01-01T00:00:00Zconference paperinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/37761enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-05-11T06:17:52Zoai:repositorium.sdum.uminho.pt:1822/37761Portal AgregadorONGhttps://www.rcaap.pt/oai/openairemluisa.alvim@gmail.comopendoar:71602024-05-11T06:17:52Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv A domain-specific aspect language for transforming MATLAB programs
title A domain-specific aspect language for transforming MATLAB programs
spellingShingle A domain-specific aspect language for transforming MATLAB programs
Monteiro, Miguel Pessoa
Aspect-oriented programming
Strategic programming
Domain-specific languages
MATLAB
title_short A domain-specific aspect language for transforming MATLAB programs
title_full A domain-specific aspect language for transforming MATLAB programs
title_fullStr A domain-specific aspect language for transforming MATLAB programs
title_full_unstemmed A domain-specific aspect language for transforming MATLAB programs
title_sort A domain-specific aspect language for transforming MATLAB programs
author Monteiro, Miguel Pessoa
author_facet Monteiro, Miguel Pessoa
Saraiva, João Alexandre
Fernandes, João M.
Cardoso, João M. P.
Diniz, Pedro C.
author_role author
author2 Saraiva, João Alexandre
Fernandes, João M.
Cardoso, João M. P.
Diniz, Pedro C.
author2_role author
author
author
author
dc.contributor.none.fl_str_mv Universidade do Minho
dc.contributor.author.fl_str_mv Monteiro, Miguel Pessoa
Saraiva, João Alexandre
Fernandes, João M.
Cardoso, João M. P.
Diniz, Pedro C.
dc.subject.por.fl_str_mv Aspect-oriented programming
Strategic programming
Domain-specific languages
MATLAB
topic Aspect-oriented programming
Strategic programming
Domain-specific languages
MATLAB
description Aspect-oriented programming provides powerful ways to augment programs with information out of the scope of the base language while avoiding harming code readability and thus portability. MATLAB is a popular modeling/programming language that will strongly benefit of aspect-oriented programming features. For instance, MATLAB programmers could use aspects to provide information such as restrictions on allowed data types and/or values, monitoring specific aspects of the execution such as the effective dataset sizes or if a given variable ever assumes a specific value, without “polluting” the code with “check code”. This paper describes the main concepts of a domain-specific aspect language (DSAL) for specifying transformations of MATLAB programs in view of supporting optimizations by facilitating the experimentation of alternative implementations. This DSAL specifies aspect modules structured in three sections: intersections equivalent to AspectJ poincuts, actions equivalent to AspectJ advice, and conditions that control triggering of actions. Support for aspect composition strategies and aspect parameterization of tokens from the base program are also supported. We believe the described features complement and enhance MATLAB programming in substantial and valuable ways.
publishDate 2010
dc.date.none.fl_str_mv 2010
2010-01-01T00:00:00Z
dc.type.driver.fl_str_mv conference paper
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/37761
url http://hdl.handle.net/1822/37761
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv mluisa.alvim@gmail.com
_version_ 1817544923087372288