Aspect weaver (original) (raw)

Property Value
dbo:abstract An aspect weaver is a metaprogramming utility for aspect-oriented languages designed to take instructions specified by aspects (isolated representations of significant concepts in a program) and generate the final implementation code. The weaver integrates aspects into the locations specified by the software as a pre-compilation step. By merging aspects and classes (representations of the structure of entities in the program), the weaver generates a woven class. Aspect weavers take instructions known as advice specified through the use of pointcuts and join points, special segments of code that indicate what methods should be handled by aspect code. The implementation of the aspect then specifies whether the related code should be added before, after, or throughout the related methods. By doing this, aspect weavers improve modularity, keeping code in one place that would otherwise have been interspersed throughout various, unrelated classes. (en) Le tissage est l'étape de la programmation orientée aspect qui a pour but d'insérer des bouts de codes appelés greffons (Advice) dans le code métier d'une application. Tisser un greffon dans une méthode revient à redéfinir la méthode comme la composition de son corps avec le greffon. Le tissage d'aspects au niveau de l'application est un mécanisme offrant l'extensibilité et l'adaptabilité, permettant ainsi à l'application de s'adapter facilement quand des nouveaux besoins font surface. Tisser un aspect peut se faire à plusieurs moments : à la compilation, au chargement et à l'exécution. Il existe de nombreux tisseurs dans différents langages mais c'est en Java que l'on trouve les tisseurs les plus matures (utilisabilité, stabilité, performances, intégration aux outils...). (fr)
dbo:genre dbr:Aspect-oriented_programming
dbo:language dbr:AspectC++ dbr:AspectJ
dbo:thumbnail wiki-commons:Special:FilePath/AspectWeaver.svg?width=300
dbo:wikiPageExternalLink http://cse.sjtu.edu.cn/~zhao/pub/pdf/aoasia07.pdf%7Cisbn=978-0-7695-2870-0%7Cciteseerx=10.1.1.547.6577 http://fusion.cs.uni-magdeburg.de/pubs/ecoop2001.pdf%7Cjournal=Proceedings http://reference.kfupm.edu.sa/content/s/e/a_semantics_for_advice_and_dynamic_join__97028.pdf http://www.acs.org.au/documents/public/crpit/CRPITV10Spinczyk.pdf http://www.csg.is.titech.ac.jp/paper/yoshiki-gpce03.pdf%7Caccess-date=4 http://www.daimi.au.dk/~eernst/aosdF06/papers/AJWeaving.pdf%7Cdoi=10.1145/976270.976276%7Cisbn=978-1-58113-842-9%7Carchive-url=https:/web.archive.org/web/20110727171117/http:/www.daimi.au.dk/~eernst/aosdF06/papers/AJWeaving.pdf%7Carchive-date=27 http://www.imamu.edu.sa/DContent/IT_Topics/Aspect%20Support%20in%20the%20Design%20Phase.pdf http://www4.informatik.uni-erlangen.de/Publications/2007/spinczyk_07_knosys.pdf%7Cjournal=Knowledge-Based http://wwwx.cs.unc.edu/~lee/docs/pra03-colyer.pdf https://web.archive.org/web/20040730135825/http:/www.kerstens.org/mik/publications/aspectj-ecoop2002.pdf https://web.archive.org/web/20091013015127/http:/www.acs.org.au/documents/public/crpit/CRPITV10Spinczyk.pdf https://web.archive.org/web/20100924060437/http:/csg.is.titech.ac.jp/paper/yoshiki-gpce03.pdf%23%7Carchive-date=2010-09-24%7Curl-status=dead https://web.archive.org/web/20110722194353/http:/www.imamu.edu.sa/DContent/IT_Topics/Aspect%20Support%20in%20the%20Design%20Phase.pdf https://web.archive.org/web/20110825210934/http:/reference.kfupm.edu.sa/content/s/e/a_semantics_for_advice_and_dynamic_join__97028.pdf http://kerstens.org/mik/publications/aspectj-ecoop2002.pdf
dbo:wikiPageID 25674200 (xsd:integer)
dbo:wikiPageLength 20977 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1054431997 (xsd:integer)
dbo:wikiPageWikiLink dbr:Programmer dbr:Variable_(programming) dbr:Duplicate_code dbr:Preprocessor dbc:Programming_language_implementation dbr:Compiler dbr:Cross-cutting_concern dbr:Run_time_(program_lifecycle_phase) dbr:Object-oriented_programming dbr:Object_(computer_science) dbr:Toolchain dbr:Pointcut dbr:Function_(computer_science) dbr:Context_switch dbr:Identifier dbr:Static_variable dbr:C++ dbr:Join_point dbr:Just-in-time_compilation dbr:Advice_(programming) dbr:Source_code dbr:Java_(programming_language) dbr:AspectC++ dbr:AspectJ dbr:Association_for_Computing_Machinery dbr:Abstraction_layer dbc:Articles_with_example_Java_code dbc:Compiler_construction dbc:Aspect-oriented_programming dbr:Sun_Microsystems dbr:Code dbr:Modular_programming dbr:Aspect-oriented_programming dbc:Aspect-oriented_software_development dbr:Bytecode dbr:Plan dbr:Embedded_systems dbr:Metaprogramming dbr:Method_(computer_science) dbr:Virtual_machine dbr:IEEE_Software dbr:Programming_language dbr:Java_1.3 dbr:Java_1.4 dbr:Java_Virtual_Machine dbr:Modularity_(programming) dbr:Class_(computer_science) dbr:Aspect-oriented_language dbr:Aspect_(computer_science) dbr:Breakpoints dbr:Compile-time
dbp:bot InternetArchiveBot (en)
dbp:date July 2017 (en)
dbp:fixAttempted yes (en)
dbp:genre dbr:Aspect-oriented_programming
dbp:language dbr:AspectC++ dbr:AspectJ
dbp:logo AspectWeaver.svg (en)
dbp:logoAlt Two classes and a single aspect are presented. The aspect weaver analyzes each class and combines the aspect into the implementation code. The result is two implementation classes with the aspect code present in appropriate, but distinct, places in each class. (en)
dbp:logoCaption An aspect weaver takes information from raw classes and aspects and creates new classes with the aspect code appropriately weaved into the classes. (en)
dbp:logoSize 300 (xsd:integer)
dbp:name Aspect weaver (en)
dbp:wikiPageUsesTemplate dbt:Cite_book dbt:Cite_journal dbt:Dead_link dbt:Good_article dbt:Infobox_software dbt:Refbegin dbt:Refend dbt:Reflist dbt:Short_description dbt:Aosd
dcterms:subject dbc:Programming_language_implementation dbc:Articles_with_example_Java_code dbc:Compiler_construction dbc:Aspect-oriented_programming dbc:Aspect-oriented_software_development
gold:hypernym dbr:Utility
rdf:type owl:Thing dbo:Software schema:CreativeWork dbo:Work wikidata:Q386724 wikidata:Q7397 yago:Abstraction100002137 yago:Code106355894 yago:CodingSystem106353757 yago:Communication100033020 yago:Writing106359877 yago:WrittenCommunication106349220 yago:Software106566077
rdfs:comment An aspect weaver is a metaprogramming utility for aspect-oriented languages designed to take instructions specified by aspects (isolated representations of significant concepts in a program) and generate the final implementation code. The weaver integrates aspects into the locations specified by the software as a pre-compilation step. By merging aspects and classes (representations of the structure of entities in the program), the weaver generates a woven class. (en) Le tissage est l'étape de la programmation orientée aspect qui a pour but d'insérer des bouts de codes appelés greffons (Advice) dans le code métier d'une application. Tisser un greffon dans une méthode revient à redéfinir la méthode comme la composition de son corps avec le greffon. Le tissage d'aspects au niveau de l'application est un mécanisme offrant l'extensibilité et l'adaptabilité, permettant ainsi à l'application de s'adapter facilement quand des nouveaux besoins font surface. (fr)
rdfs:label Aspect weaver (en) Tissage dans la programmation orientée aspect (fr)
owl:sameAs freebase:Aspect weaver yago-res:Aspect weaver wikidata:Aspect weaver dbpedia-fa:Aspect weaver dbpedia-fr:Aspect weaver https://global.dbpedia.org/id/3Fdte
prov:wasDerivedFrom wikipedia-en:Aspect_weaver?oldid=1054431997&ns=0
foaf:depiction wiki-commons:Special:FilePath/AspectWeaver.svg
foaf:isPrimaryTopicOf wikipedia-en:Aspect_weaver
foaf:name Aspect weaver (en)
is dbo:wikiPageWikiLink of dbr:Pointcut dbr:AspectJ dbr:Java_Classloader dbr:Aspect-oriented_programming dbr:Aspect_(computer_programming) dbr:Metaprogramming
is foaf:primaryTopic of wikipedia-en:Aspect_weaver