Sunteți pe pagina 1din 17

A REPORT ON Post-processing of host test script generated by Mobile Analyser

By Himanshu Gupta At 2008A7PS107P

Intel Mobile Communications , Bangalore

A Practice School II Station of

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, PILANI (Rajasthan)


October 2011

A REPORT ON

Post-processing of host test script generated by Mobile Analyser


By Himanshu Gupta 2008A7PS107P B.E.Computer Science

Prepared in partial fulfillment of the Practice School-II Course No. BITS C412/BITS G639 At

Intel Mobile Communications , Bangalore


A Practice School II Station of

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, PILANI (Rajasthan)


October 2011

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI-(Rajasthan) Practice School Division


Station : Intel Mobile Communications ,Bangalore Centre:Bangalore Duration: 5 Months Date of Start: 4th July,2011 Date of Report Submission: 22nd September 2011 Title of the Project: Post-processing of host test script generated by Mobile Analyser Name: Himanshu Gupta ID No: 2008A7PS107P Discipline of Student: B.E. Computer Science Name Name of the PS Faculty: Mr. C.R.Siju //Key words: Project Areas: Software Tool Development Abstract: This project which will be under WLS NAS PS division of Intel Mobile Communication and will concern with the post processing of the host test script generated in Mobile Analyser by using the Engineering Script Scheduler. These will be built on an already present process of decoding of the message logs from the host test script and thus will help in improving the efficiency of debugging the traces. Designation of the Expert

Signature of Student Date

Signature of PS Faculty Date

Acknowledgement
I hereby acknowledge that the report titled Post-processing of host test script generated by Mobile Analyser is a genuine work carried out by me while doing the course BITS C412 / G639 i.e. PS2 at Intel Mobile Communications, Bangalore, INDIA, under the able guidance of our PS2 Faculty Mr.C.R.Siju . I am very much thankful to Mr.C.R.Siju for his continuous evaluation and timely guidance in doing my internship here and having a very soft behavior towards us. I am also thankful to my manager Mr. Prasanna Prabhakaran and my mentors Mrs.Ritu Sethi and Mr. Gurunadharao Kota for their continuous support and guidance.

Himanshu Gupta, 2008A7PS107P, B.E.Computer Science, BITS Pilani,

Table of Contents

Topic

Page No.

1. Abstract 2. Introduction 3.Wireless Communications 4. Cellular Network 5. Mobile Phone Network 6. GSM Technology 7.Script Programming 8.Type of Script Programming 9.Mobile Analyser 10.Engineering Script 16. Methodology 17. Hardware/ Software Used 18. References

3 6 6 6 6 7 8 8 14 16 16 17 17

Introduction
Intel Mobile Communications (IMC), is the mobile research and development division of Intel Corporation.It was formed when Intel completed the acquisition of the Wireless Solutions (WLS) division of Infineon early in 2011. IMC develops, manufactures and markets semiconductor products and solutions for wireless communications. It targets the fast growing market segments of smart phones, connected devices (e.g. tablets, USB dongles, mobile PCs, M2M), and ultra-lowcost/entry phones. Its roadmap is focused on providing cost-effective 2G/3G single-chip platforms for ULC phones up to entry-level smart phones and 3G/4G slim modem and RF solutions for mid-to high-end smart phones and connected devices. IMC's stated goal is to "enable the smooth transmission of voice and high-speed data to the end-user's equipment". This report is written in a partial fulfilment of the Practice School II course at BITSPILANI. This report aims at presenting the skills and experience gained and work done during our practice school programme at Intel Mobile Communications,Bangalore. The objective of the project was to build a script by using the Engineering Script Scheduler for Post processing of the host test script generated in Mobile Analyser

Wireless communication
Wireless communication is the transfer of information over a distance without the use of electrical conductors or "wires. The distances involved may be short (a few meters as in television remote control) or long (thousands or millions of kilometers for radio communications). When the context is clear, the term is often shortened to "wireless". Wireless communication is generally considered to be a branch of telecommunications. Wireless communications is a rapidly growing segment of the communications industry, with the potential to provide high-speed high-quality information exchange between portable devices located anywhere in the world. Potential applications enabled by this technology include multimedia Internet-enabled cell phones, smart homes and appliances, automated highway systems, video teleconferencing and distance learning, and autonomous sensor networks, to name just a few. However, supporting these applications using wireless techniques poses a significant technical challenge.

Cellular Network
A cellular network is a radio network made up of a number of cells, each served by at least one fixed-location transceiver known as a cell site or base station. When joined together these cells provide radio coverage over a wide geographic area. This enables a large number of portable transceivers (mobile phones, pagers, etc) to communicate with

each other and with fixed transceivers and telephones anywhere in the network, via base stations, even if some of the transceivers are moving through more than one cell during transmission. Cellular networks offer a number of advantages over alternative solutions:

increased capacity reduced power usage larger coverage area reduced interference from other signals

In a cellular radio system, a land area to be supplied with radio service is divided into regular shaped cells, which can be hexagonal, square, circular or some other irregular shapes, although hexagonal cells are conventional. Each of these cells is assigned multiple frequencies (f1 - f6) which have corresponding radio base stations. The group of frequencies can be reused in other cells, provided that the same frequencies are not reused in adjacent neighboring cells as that would cause co-channel interference.

The mobile phone network:


The most common example of a cellular network is a mobile phone (cell phone) network. A mobile phone is a portable telephone which receives or makes calls through a cell site (base station), or transmitting tower. Radio waves are used to transfer signals to and from the cell phone. Modern mobile phone networks use cells because radio frequencies are a limited, shared resource. Cell-sites and handsets change frequency under computer control and use low power transmitters so that a limited number of radio frequencies can be simultaneously used by many callers with less interference. There are a number of different digital cellular technologies, including: Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Evolution-Data Optimized (EV-DO), Enhanced Data Rates for GSM Evolution (EDGE), 3GSM, Digital Enhanced Cordless Telecommunications (DECT), Digital AMPS (IS-136/TDMA), and Integrated Digital Enhanced Network (iDEN).

GSM technology
GSM (Global System for Mobile Communications) is the most popular standard for mobile

telephone systems in the world. GSM is a cellular network, which means that mobile phones connect to it by searching for cells in the immediate vicinity. The network is structured into a number of discrete sections:

The Base Station Subsystem (the base stations and their controllers).

The Network and Switching Subsystem (the part of the network most similar to a fixed network). This is sometimes also just called the core network. The GPRS Core Network (the optional part which allows packet based Internet connections). The Operations support system (OSS) for maintenance of the network.

Script Programming
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the end-user.[1] Scripts are often interpreted from source code or bytecode, whereas the application is typically first compiled to native machine code.[2]

Types of scripting languages


Job control languages and shells
A major class of scripting languages has grown out of the automation of job control, which relates to starting and controlling the behavior of system programs. (In this sense, one might think of shells as being descendants of IBM's JCL, or Job Control Language, which was used for exactly this purpose.) Many of these languages' interpreters double as command-line interpreters such as the Unix shell or the MS-DOS COMMAND.COM. Others, such as AppleScript offer the use of English-like commands to build scripts. This

combined with Mac OS X's Cocoa frameworks allows user to build entire applications using AppleScript & Cocoa objects.

GUI scripting
With the advent of graphical user interfaces a specialized kind of scripting language emerged for controlling a computer. These languages interact with the same graphic windows, menus, buttons, and so on that a system generates. They do this by simulating the actions of a human user. These languages are typically used to automate user actions or configure a standard state. Such languages are also called "macros" when control is through simulated key presses or mouse clicks. These languages could in principle be used to control any application running on a GUIbased computer; but, in practice, the support for such languages typically depends on the application and operating system. There are a few exceptions to this limitation. Some GUI scripting languages are based on recognizing graphical objects from their display screen pixels. These GUI scripting languages do not depend on support from the operating system or application.

Application-specific languages
Many large application programs include an idiomatic scripting language tailored to the needs of the application user. Likewise, many computer game systems use a custom scripting language to express the programmed actions of non-player characters and the game environment. Languages of this sort are designed for a single application; and, while they may superficially resemble a specific general-purpose language (e.g. QuakeC, modeled after C), they have custom features that distinguish them. Emacs Lisp, while a fully formed and capable dialect of Lisp, contains many special features that make it most useful for extending the editing functions of Emacs. An application-specific scripting language can be viewed as a domain-specific programming language specialized to a single application.

Web browsers
Main article: Client-side scripting Web browsers are applications for displaying web pages. Scripts can be run by web browsers to change the appearance or behaviour of a web page, for example, to change the content to be specific to the current user. A host of special-purpose languages have been developed to control the operation of web browsers. These include JavaScript, a scripting language superficially resembling Java; VBScript by Microsoft, which only works in Internet Explorer; XUL by the Mozilla project, which only works in Firefox; and XSLT, a presentation language that transforms XML content into a new form. Techniques involving the combination of XML and JavaScript scripting to improve the user's impression of responsiveness have become significant enough to acquire a name: AJAX. Client-side scripts are sent by the server "as-is" and are run by the client's

computer. An example of client side scripting is a JavaScript alert box popping up when the user clicks a button on the web page.

Text processing languages


The processing of text-based records is one of the oldest uses of scripting languages. Scripts written for the Unix tools AWK, sed, and grep automate tasks that involve textbased configuration and log files. Of high importance here is the regular expression, a language developed for the formal description of the lexical structure of text, and used by all of these tools. Perl was originally designed to overcome limitations of these tools and has grown to be one of the most widespread general purpose languages.

General-purpose dynamic languages


See also: Dynamic programming language Some languages, such as Perl, began as scripting languages[citation needed] but were developed into programming languages suitable for broader purposes. Other similar languages frequently interpreted, memory-managed, or dynamic have been described as "scripting languages" for these similarities, even if they are more commonly used for applications programming. They are usually not called "scripting languages" by their own users.

Extension/embeddable languages
A number of languages have been designed for the purpose of replacing applicationspecific scripting languages by being embeddable in application programs. The application programmer (working in C or another systems language) includes "hooks" where the scripting language can control the application. These languages serve the same purpose as application-specific extension languages but with the advantage of allowing some transfer of skills from application to application. JavaScript began as and primarily still is a language for scripting inside web browsers; however, the standardization of the language as ECMAScript has made it popular as a general purpose embeddable language. In particular, the Mozilla implementation SpiderMonkey is embedded in several environments such as the Yahoo! Widget Engine. Other applications embedding ECMAScript implementations include the Adobe products Adobe Flash (ActionScript) and Adobe Acrobat (for scripting PDF files). Tcl was created as an extension language but has come to be used more frequently as a general purpose language in roles similar to Python, Perl, and Ruby. Other complex and task-oriented applications may incorporate and expose an embedded programming language to allow their users more control and give them more functionality than can be available through a user interface, no matter how sophisticated.

For example, Autodesk Maya 3D authoring tools embed the MEL scripting language, or Blender which has Python to fill this role. Some other types of applications that need faster feature addition or tweak-and-run cycles (e.g. game engines) also use an embedded language. During the development, this allows them to prototype features faster and tweak more freely, without the need for the user to have intimate knowledge of the inner workings of the application or to rebuild it after each tweak (which can take a significant amount of time.) The scripting languages used for this purpose range from the more common and more famous Lua and Python to lesser-known ones such as AngelScript and Squirrel.

Shell scripts
Shell scripts are useful for programming repetitive Unix tasks and simple manipulation of files. I would not use them for any complex task. Advantages: Fairly popular, quick to write for simple repetitive tasks. Disadvantages: Lack required facilities for general programming (e.g. floating point arithmetic). Syntax can be difficult to get used to (e.g. quoting, tests). tcsh shell scripting is broken (see shell scripting notes).

Python
Python is popular language. Many people agree that it has a simple clear syntax. Its most unusual feature is that it uses alignment of text to mark blocks of code (this is not too difficult to get used to). It is also the language used to drive PyRAF (an easier interface to IRAF). Advantages: Popular, used in PyRAF, simple syntax, fast development, numerical/scientific library, a large library of code, good object-oriented features, good for writing larger programs. Disadvantages: Slower than Fortran/C/C++, especially for loops. Lack of static variables may lead to bugs if you do not test programs. Note that Python 3 is different to Python 2. The Python 3 language has improvements, but not all libraries work under Python 3 yet.

Perl
Perl is another popular scripting language, used from system administration scripts, to scripts to produce web pages (and astronomical scripts). It has fallen out of popularity a bit because of the slow development of Perl 6. Most people still use Perl 5.

Its philosophy is to provide lots of quick ways to do tasks. It was originally created for quick and easy text processing tasks, but is now being used for a wide range of programs. Advantages: Popular, fast at certain tasks (like text processing), large library of code to use (CPAN library), fast development, great for processing text files. Disadvantages: The syntax looks quite messy (in my opinion). If written without care your code will be hard to read in 6 months time. Not fast enough for complex numerical code. Hard to write and maintain large Perl programs.

IDL
Interactive Data Language (IDL) is a proprietary language for manipulating data and plotting. Its plotting is powerful and it can do quite advanced numerical work. Advantages: Popular in astronomy, powerful facilities (especially astronomy library for FITS files) Disadvantages: Quite expensive (to buy for yourself), nasty syntax, slow to run for many cases, inherits some bad design descisions (IMHO).

C
C is a popular standard programming language, used especially in Unix. It is quite a low level language but gives you tremendous control. The main difficulty in learning it is understanding pointers. It has many features not found in Fortran 77 (e.g. memory management). The language is relatively simple. Advantages: Popular (outside astronomy, not as popular as F77 inside astronomy), lots of code available in C (e.g. GSL), standard Unix language, powerful. Disadvantages: Can be complex to learn and debug pointers (used throughout C), lacks features available in C++, harder to parallelise than Fortran.

Fortran 77
Fortran is a programming language designed for scientists. It is intended for writing numerical code. Fortran 77 is very popular among scientists, but lacks features making certain tasks hard (e.g allocating variable-sized arrays, text handling). Advantages: Commonly used in science, good for numerics. Disadvantages: Not common outside science (e.g. for jobs), lacks features, slower development than Python/Perl.

Fortran 90/95
Fortran 90 and 95 are improvements to the Fortran 77 language, providing modern features (like allocatable arrays). F90/95 is less commonly used than F77, but is far more powerful. F90/95 is easier to learn than C if you have used F77 and provide similar functionality (though I expect scientists would find F90/95 closer to the scientific mindset). Advantages: More powerful than F77, increasingly common, easy parallel programming. There are some good free compilers now, including gfortran (included in gcc 4.x) and g95. Disadvantages: Many older supervisors will only have used Fortran 77.

C++
C++ was based on the C programming language, providing object-oriented features. It is widely used outside science (and increasingly in science, but not very much at the moment). It provides almost everything C does, but adds powerful features like classes, templates, strings and references. It is a very large language (few people understand everything), but you can get things done with much less knowledge. Advantages: Powerful language, very common outside astronomy (lots of jobs!), can link C code easily to C++ code. Disadvantages: Is a very complex language in full, probably less popular than Fortran in astronomy.

Java
Java is a modern popular programming language. It is object-oriented, but is not as complex to learn as C++ (but lacks some of its features). Java programs are crossplatform, as they run under a virtual machine. Java might be a bit slower than C/C+ +/Fortran, but is not as slow as Python/Perl. Advantages: Cross platform, modern, widely used outside astronomy (good for jobs). Disadvantages: Not so popular in astronomy.

Mobile Analyser
The Mobile Analyser is a tool to capture the trace of the operations inside mobile station software (mobile station with software from IMC) with a desktop computer system and for decoding the captured/logged data (called a Trace). The Mobile Analyser application is the GUI (Graphical User Interface) which provides an easy to use graphical interface to view, search and analyse trace data. The actual decoding of the trace data is done by pluggable decoder libraries, dlls and scripts which are specific to the version of the mobile station software from which the trace is captured. To get the correct decoding of the trace data, the correct versions of these decoder files must be loaded in Mobile Analyser.

Engineering Script Programming

This is for so called Engineering Scripts for the Mobile Analyser Trace Tool. Engineering Scripts are used to extract and collect certain trace data (of the whole trace) and then to draw graphic charts or to display summary dialogs for the derived information. Examples are: 1) Number of Timer expiries 2) Neighbour Cell Measurement Charts You can get many *.ens from MobileAnalyserLocalPath \engineering_scripts OR from /vobs/tools/Trace_Tool/Decoding_Scripts/Engineering_Scripts/... If you like to change those, and every body shall use the changed script, then please change it in ClearCase, and inform the Mobile Analyser Team, we will merge it. /vobs/tools/Trace_Tool/Decoding_Scripts/Engineering_Scripts/... The Engineering Script approach of the Mobile Analyser uses the BeanShell package, a package that gives the user the opportunity to write scripts in Java Source Code: 1) The user could use plain Java. 2) Java Code is compiled automatically on the fly, the user does not need to compile the code. 3) For visualisation the package JfreeChart is used. 4) For creation of PDF documents the package iText is used.

Methodology
Currently, the script used has some errors and it takes a lot of time manually correcting them. The script aims to overcome these errors and thus automating the process to simulate the trace file. Some of the known cases in which the earlier script was giving an error had been studied and the different methods to overcome the problem were enumerated With the help of the script the processing of the trace file can be fully automated and thus will simplify the working of the end user.

Software Used

1. 2. 3. 4. 5.

Windows 7 OS A Network Operating System Linux Solaris Clear case tool Opticm Mobile Analyser

Languages Used 1. SDL System Description language, a flowchart oriented language for graphical programming. 2. C used for implementing the various interfaces of the protocol stack and the other necessary libraries. 3. PERL - used in the background for compiling and executing the various tasks of Opticm.

References
1. Wikipedia, 2. www.umtsworld.com 4. www.mobilecommunicationsltd.com 5. www.worldcell.com

S-ar putea să vă placă și