Determining the feasibility of automatically translating SMILE to a Java framework

2Gsim is an Ericsson AB product which is used for simulations of second generation wireless telephone technology networks (2G networks). It is a tool used to test, verify and support the development of all of the 2G products that Ericsson AB maintains. The main purpose of 2Gsim is to simulate realistic traffic cases in order to verify functionality of a BSC (Base Station Controller) under load. The application has a wide range of uses including validation tests, protocol conformance tests, traffic tests, function tests and system tests. The SUT (System Under Test) is usually a BSC.

MTsim (Mobile Traffic Simulator) is an Ericsson AB internal software application that is part of 2Gsim. It is used to simulate elements of a GSM (Global System for Mobile communications) network for feature testing and automated testing….

Contents

1. INTRODUCTION
1.1. Typographic conventions
1.2. Background of thesis
1.3. Purpose
1.4. Problem statement
1.4.1. Requirements
1.5. Methodology
1.6. Limitation of thesis
1.7. Structure of thesis
2. BACKGROUND
2.1. The finite state machine
2.1.1. Ways of implementing the finite state machine
2.1.2. Procedural
2.1.3. Object oriented
2.1.4. Issues when implementing FSMs
3. SMILE
3.1. Structure of a TSS test application
3.2. Test programs
3.2.1. TSS Test programs as FSMs
3.3. Basic language elements
3.3.1. Literals
3.3.2. Identifiers
3.3.3. Data types
3.3.4. Operators
3.3.5. Conversions
3.3.6. Variables
3.3.7. Control flow
3.3.8. Messages
3.3.9. Timers
3.3.10. Procedures and functions
3.3.11. Events
3.4. Test Program Compiler
3.4.1. Dataflow
3.4.2. Abstract syntax tree
3.5. TSS Interpreter
4. BASIC LANGUAGE TRANSLATION OF SMILE TO JAVA
4.1. Language comparison
4.2. Translating literals
4.2.1. Occurrence of literals in MTsim
4.2.2. Integer literals
4.2.3. String literals
4.2.4. BCD literals
4.2.5. Array literals
4.2.6. Summary of literal translation
4.3. Translating identifiers
4.4. Translating data types
4.4.1. Translating unsigned integers to Java
4.5. Translating operations
4.6. Translation of control structures
4.6.1. IF-THEN-ELSE statements
4.6.2. ON statements
4.6.3. DO-WHILE statements
4.6.4. SWITCH-CASE statements
4.6.5. GOTO statements
4.7. Procedures and functions
4.7.1. Parameter passing
5. DESIGN OF A COMMON JAVA FRAMEWORK
5.1. Hollywood principle
5.2. Responsibilities of the framework and run-time environment
5.3. General decision about the framework
5.4. Communicating with external software
5.5. Event kernel
5.6. Message decoding
5.6.1. Messages
5.6.2. Message matching
5.7. Multiple threads
5.8. Existing frameworks
5.8.1. UniMod
5.8.2. jfsm
5.9. Overview of the Java framework runtime environment
5.10. Implement a prototype of the Java framework
5.10.1. Test case
5.10.2. Test programs
5.10.3. Test program example
5.10.4. Modeling variable scope
5.11. Error handling
5.11.1. Run-time errors
5.11.2. Run-time environment errors
5.11.3. System errors
6. TRANSLATING SMILE TO A JAVA FRAMEWORK
6.1. Translating MTsim to the Java framework
6.2. Different approaches
6.2.1. Direct source code translation
6.2.2. Translation via abstraction and reimplementation
6.2.3. Translation via intermediate language
6.2.4. Chosen approach for translation
6.3. Implementation of the parser
6.4. Implementation of the translator
6.5. Example
6.5.1. SMILE source code
6.5.2. Original TPC AST
6.5.3. The Java code
7. DISCUSSION
7.1. Limitations
7.1.1. General framework
7.1.2. Messages
7.1.3. Translator
7.2. Problems that need to be addressed
7.2.1. Unsigned integer issue
7.2.2. Better modeling of variable scope
7.2.3. Delay of execution
7.2.4. Translating comments
7.3. Suggestion for future improvements
7.3.1. Extend model for message primitives
7.3.2. Extend model for user messages
7.3.3. Externalize message and primitive definitions
7.3.4. Scalability
7.3.5. Improve precision of recurring timers
7.3.6. Making message definitions static
7.4. Cost prediction
7.5. Feasibility
8. REVIEW
8.1. Problem statement and requirements
8.1.1. Problem statements
8.1.2. Requirements
8.2. Conclusion
APPENDIX

Author: Aspen, Said

Source: Linköping University

Download URL 2: Visit Now

Leave a Comment