Download Slides - Swinburne University of Technology

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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