Print Email Facebook Twitter Encapsulating Software Platform Logic by Aspect-Oriented Programming: A Case Study in Using Aspects for Language Portability Title Encapsulating Software Platform Logic by Aspect-Oriented Programming: A Case Study in Using Aspects for Language Portability Author Kats, L.C. Visser, E. Faculty Electrical Engineering, Mathematics and Computer Science Department Software Technology Date 2010-12-31 Abstract Software platforms such as the Java Virtual Machine or the CLR .NET virtual machine have their own ecosystem of a core programming language or instruction set, libraries, and developer community. Programming languages can target multiple software platforms to increase interoperability or to boost performance. Introducing a new compiler backend for a language is the first step towards targeting a new platform, translating the language to the platform’s language or instruction set. Programs written in modern languages generally make extensive use of APIs, based on the runtime system of the software platform, introducing additional portability concerns. They may use APIs that are implemented by platform-specific libraries. Libraries may perform platform-specific operations, make direct native calls, or make assumptions about performance characteristics of operations or about the file system. This paper proposes to use aspect weaving to invasively adapt programs and libraries to address such portability concerns, and identifies four classes of aspects for this purpose. We evaluate this approach through a case study where we retarget the Stratego program transformation language towards the Java Virtual Machine Preprint accepted for publication in Proceedings of the Tenth IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2010), Timisoara (Romania), 12-13 Sept. 2010 Subject programming languagescompilersaspect-oriented programmingStrategoSpoofaxJava To reference this document use: http://resolver.tudelft.nl/uuid:d649654d-3be2-4f68-93a6-77d252e95ba2 Publisher Delft University of Technology, Software Engineering Research Group ISSN 1872-5392 Source Technical Report Series TUD-SERG-2010-018 Part of collection Institutional Repository Document type report Rights © 2010 The Author(s) . Software Engineering Research Group, Department of Software Technology, Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology Files PDF TUD-SERG-2010-018.pdf 324.38 KB Close viewer /islandora/object/uuid:d649654d-3be2-4f68-93a6-77d252e95ba2/datastream/OBJ/view