Multiple Concerns in Aspect-Oriented Language Design: A Language Engineering Approach to Balancing Benefits, with Examples

dc.contributor.author Leavens, Gary
dc.contributor.author Clifton, Curtis
dc.contributor.department Computer Science
dc.date 2018-02-14T00:32:23.000
dc.date.accessioned 2020-06-30T01:56:35Z
dc.date.available 2020-06-30T01:56:35Z
dc.date.issued 2007-02-01
dc.description.abstract <p>Some in the aspect-oriented community view a programming language as aspect-oriented only if it allows programmers to perfectly eliminate scattering and tangling. That is, languages that do not allow programmers to have maximal quantification and perfect obliviousness are not viewed as aspect-oriented. On the other hand, some detractors of aspect-oriented software development view maximal quantification and perfect obliviousness as causing problems, such as difficulties in reasoning or maintenance. Both views ignore good language design and engineering practice, which suggests trying to simultaneously optimize for several goals. That is, designers of aspect-oriented languages that are intended for wide use should be prepared to compromise quantification and obliviousness to some (small) extent, if doing so helps programmers solve other problems. Indeed, balancing competing requirements is an essential part of engineering. Simultaneously optimizing for several language design goals becomes possible when one views these goals, such as minimizing scattering and tangling, not as all-or-nothing predicates, but as measures on a continuous scale. Since most language design goals will only be partially met, it seems best to call them ``concerns.''</p>
dc.identifier archive/lib.dr.iastate.edu/cs_techreports/305/
dc.identifier.articleid 1302
dc.identifier.contextkey 5498253
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath cs_techreports/305
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/20134
dc.source.bitstream archive/lib.dr.iastate.edu/cs_techreports/305/TR.pdf|||Fri Jan 14 23:28:53 UTC 2022
dc.subject.disciplines Programming Languages and Compilers
dc.subject.disciplines Software Engineering
dc.subject.keywords Aspect-oriented programming language design
dc.subject.keywords concerns
dc.subject.keywords goals
dc.subject.keywords quantification
dc.subject.keywords obliviousness
dc.subject.keywords scattering
dc.subject.keywords tangling
dc.subject.keywords ease of reasoning
dc.subject.keywords ease of maintenance
dc.subject.keywords compromise
dc.subject.keywords tradeoff
dc.subject.keywords balance
dc.title Multiple Concerns in Aspect-Oriented Language Design: A Language Engineering Approach to Balancing Benefits, with Examples
dc.type article
dc.type.genre article
dspace.entity.type Publication
relation.isOrgUnitOfPublication f7be4eb9-d1d0-4081-859b-b15cee251456
File
Original bundle
Now showing 1 - 1 of 1
Name:
TR.pdf
Size:
165.36 KB
Format:
Adobe Portable Document Format
Description:
Collections