Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
An Architecture for Retargeting Application Logic to Multiple Component Types in Multiple Languages Marselina Wiharto and Peter Stanski Monash University ([email protected] - [email protected]) Presented by Marselina Wiharto Tue, 13th of April 2004 Fifth Australasian Workshop on Software and System Architectures Melbourne, Australia Overview 2 Background Research Objectives Related Works O2XML Framework Current Prototype Implementation Future Works © marselina wiharto Background Inevitable application migration – – Would storing application logic in a nonprogramming-language-specific format: – – 3 Same logic Different language Helps application migration? Allows for retargeting of application logic to multiple types of components of different programming languages? © marselina wiharto Research Objectives 4 To propose a framework that can facilitate the generation of different types of components in multiple languages To implement a prototype that conforms to the proposed framework To evaluate the prototype implementation © marselina wiharto Related Works JavaML (Badros, 2000) srcML (Maletic et al, 2002) JavaML, PascalML, PLIXML (McArthur et al, 2002) CppML, JavaML, and OOML (Mamas & Kontogiannis, 2000) 5 © marselina wiharto O2XML Framework 6 Focuses on OO-languages-based components Uses XML based markup language (O2XML) as an intermediate representation of OO source codes Generates various types of components in different OO languages © marselina wiharto O2XML Framework Components Source Code to O2XML Parser O2XML XSLT Transformer – CodeDOM Generator – 7 Outputs: Source codes Outputs: Source codes, DLLs, EXEs © marselina wiharto CodeDOM Technology Part of .NET Framework Core: – System.CodeDom namespace – System.CodeDom.Compiler namespace 8 Builds in-memory object representation of source codes Classes: CodeCompileUnit, CodeTypeDeclaration, CodeMemberMethod, CodeConditionStatement Generates source codes, DLLs, and EXEs from the object representation Classes: CodeDomProvider, CodeGenerator, CodeCompiler Current Prototype Implementation 9 © marselina wiharto O2XML 10 Object Oriented eXtensible Markup Language Based on an XML Schema Represents C#, J#, Java, and VB .NET source codes © marselina wiharto Sample O2XML Document 11 Transformer/Generator XSLT Transformer – – CodeDOM Generator – – 12 Core: C#, Java, VB .NET XSLT Scripts Output: C#, Java, VB .NET source codes Core: CodeDOM technology Output: C#, J#, VB .NET source codes, DLLs, EXEs, XML Web Services, and console applications © marselina wiharto Future Works 13 Source Code to O2XML Parser Thorough Construct Support Cross Language Library Mappings Further Language Support Abstracting O2XML Longhorn Integration © marselina wiharto Questions or Comments 14 © marselina wiharto