This thesis proposes a software description language to represent the source code of
C++, Java, and VB.NET in the Extensible Markup Language. The similarity of
semantics between these languages enables representing the source code in a form such
that both, the source code and logic can be easily shared and reused between these
languages.
By performing semantic and syntactic comparison between C++, Java and VB.NET, the
proposed language has been designed to include the similar and identical features and
language constructs. For every adopted language construct, a corresponding construct in
the proposed language has been developed.
The validity of the proposed language has been investigated and proved theoretically by
conducting a semantic comparison between the three languages and experimentally by
developing applications to convert source code from Java into the proposed language
and from the proposed language into VB.NET. Validation cases have been designed to
include various programs such as sorting, searching and also to include the most used
programming constructs in the three languages. Source code of the validation cases
have been converted from Java into the proposed language, and from the proposed
language into VB.NET. Java and VB.NET programs of the validation cases have been
executed and results compared. The results were identical for all conducted
experiments.
The proposed language has some major benefits in the conversion between
programming languages as an intermediary language. It may also be used in the
integration between systems as it enables sharing of programming logic at runtime.
Existing integration technologies only enable the sharing of data between various
systems.
This thesis is not concerned with adapting programming languages libraries and
functions. Future work may extend the proposed language to adapt different features
such as pointers and multiple-inheritance into the proposed language.
Table of Contents
CHAPTER 1 : INTRODUCTION
1.1 Preface
1.2 Problem Definition
1.3 Contributions
1.4 Significance
1.5 Limitations
1.6 Thesis Outline (Thesis Organization)
CHAPTER 2 : LITERATURE SURVEY
2.1 Theoretical Background
2.1.1 Programming Languages, Syntax and Semantics
2.1.2 Paradigms of programming languages
2.2 Related Work
2.3 What Distinguishes This Thesis?
CHAPTER 3 : THE PROPOSED MODEL
3.1 SDL and Its Role in the Conversion between Languages
3.2 SDL’s Features List
3.2.1 The Object Oriented Features
3.2.2 The Imperative Paradigm Features
3.3 SDL Schema
3.4 Transformation Algorithms and Functions
CHAPTER 4 : EXPERIMENTAL RESULTS
4.1 Switch Statements
4.2 Conditional Statements
4.3 Bitwise Expression
4.4 Arrays
4.5 Object Oriented Programming
4.6 Sorting Algorithms
4.7 Sample of Validation Cases Execution Results
CHAPTER 5 : CONCLUSION AND FUTURE WORK
Objectives and Topics
This thesis aims to develop a Software Description Language (SDL) that uses XML to represent the source code of C++, Java, and VB.NET. By leveraging the semantic similarities between these languages, the research provides a unified format to facilitate the sharing, reuse, and conversion of program logic across different platforms and environments, ultimately addressing the lack of a universally agreed-upon representation for programming logic.
- Development of an XML-based Software Description Language (SDL).
- Semantic and syntactic comparison of C++, Java, and VB.NET.
- Creation of transformation algorithms to map language constructs to XML.
- Experimental validation using sorting, searching, and logic-heavy algorithms.
- Utilization of XSD for structural specification and automatic validation.
Excerpt from the book
3.1 SDL and Its Role in the Conversion between Languages
SDL is an XML representation of source code in objects oriented languages. It includes the common semantics between C++, Java, and VB.NET. SDL can be used as intermediary to share source code across different languages and platforms. A program or a module written in Java can be converted to SDL, and then, VB.NET applications may utilize this representation by transforming the code from SDL to VB.NET. This process is illustrated in Figure 3-1
Summary of Chapters
CHAPTER 1 : INTRODUCTION: This chapter introduces the motivation behind the thesis, specifically the need for a unified representation for programming logic to enable easier conversion between C++, Java, and VB.NET.
CHAPTER 2 : LITERATURE SURVEY: This chapter reviews the theoretical background of programming languages, including their syntax, semantics, and programming paradigms, while also evaluating existing research on source code representation.
CHAPTER 3 : THE PROPOSED MODEL: This chapter outlines the design and architecture of the Software Description Language (SDL), including its XML schema, supported features, and the specific algorithms used for transformation.
CHAPTER 4 : EXPERIMENTAL RESULTS: This chapter provides empirical evidence of the language's effectiveness by showcasing various validation cases, including sorting algorithms, and comparing execution results across languages.
CHAPTER 5 : CONCLUSION AND FUTURE WORK: This chapter summarizes the contributions of the research and identifies potential areas for future improvement, such as supporting multiple inheritance and more complex language APIs.
Keywords
Software Description Language, SDL, XML, Source Code, C++, Java, VB.NET, Program Logic, Syntax, Semantics, XSD, Transformation Algorithms, Intermediary Language, Software Integration, Portability.
Frequently Asked Questions
What is the primary purpose of this research?
The research aims to create an intermediary XML-based language (SDL) that represents programming logic, enabling easier conversion and reuse of source code across different programming languages like C++, Java, and VB.NET.
What are the core thematic areas covered in this thesis?
The core themes include programming language theory, syntax and semantic analysis, XML schema definition (XSD), and practical source code transformation methodologies.
What is the main research question or goal?
The main goal is to determine if a common XML representation can successfully bridge the differences between three disparate object-oriented programming languages to facilitate logical portability.
Which scientific methods are employed?
The research employs a combination of theoretical comparative analysis of language syntax and semantics, followed by experimental verification through the development of conversion tools and validation test cases.
What is addressed in the main part of the document?
The main body details the specification of the SDL schema, the design of transformation functions for various programming constructs, and the practical implementation of these concepts for sorting and logic-based algorithms.
What are the defining keywords for this work?
Key terms include Software Description Language, SDL, XML, Source Code, C++, Java, VB.NET, Program Logic, and Portability.
How is the SDL schema structured?
The SDL schema is defined using XSD to ensure structural integrity, with a root 'source' element containing package elements, which in turn hold class and interface definitions mapped to corresponding XML constructs.
Why is VB.NET treated differently in the transformation process?
VB.NET requires specific adaptations because certain control flow features (like the switch statement flow) in C++ and Java do not exist natively in VB.NET, necessitating a sequence of 'if' statements to replicate the behavior.
What are the limitations of the current implementation?
The current SDL implementation covers only a subset of common features and does not adapt language-specific APIs or complex features like multiple inheritance or pointers.
- Arbeit zitieren
- Khaled Mahmoud (Autor:in), 2012, A Proposed Software Description Language for Representing Program Logic in XML, München, GRIN Verlag, https://www.grin.com/document/209330