Document Sample
LAUNCH-VEHICLE-ANIMATION Powered By Docstoc                                      LAUNCH VEHICLE ANIMATION

                                    1. INTRODUCTION

       The Indian Launch Vehicle PSLV (Polar Satellite Launch Vehicle) is used for launching
remote Sensing Satellites into polar orbit. This Launch Vehicle makes use of onboard inertial
sensors, navigation, and guidance and control systems for traversing the optimum trajectory
leading to the desired orbit. Large volume of data relating to onboard sensors, navigation,
guidance, control and sequencing are transmitted in S-band in the form of telemetry data. This
data is acquired by ground stations situated at different parts of the world which have visibility of
the RF data transmitted from the satellite. Different Onboard Computers are provided for
Navigation and Guidance. The Navigation Computer is known as NGP and the Guidance
Computer is known as GCP. The main telemetry data will contain data generated by NGP and
       During ground testing of the vehicle this telemetry data is available to the checkout
systems. The ground systems have to acquire this data in real time and carry out analysis. At
present DOS operating system based software is used to acquire this data. This project is for
carrying out data acquisition in real time using C++ under Windows NT platform and provides
advanced display features like text mode, graph mode and Vehicle movement animation

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                 1                                       LAUNCH VEHICLE ANIMATION

                               2. PROBLEM STATEMENT

         A satellite is an object which has been placed into orbit by human endeavor. Such objects
are sometimes called artificial satellites to distinguish them from natural satellites such as the
Moon. Satellites are used for a large number of purposes. Common types include military (spy)
and civilian Earth observation satellites, communication satellites, navigation satellites, weather
satellites, and research satellites. Space stations and human spacecraft in orbit are also satellites.
Satellite orbits vary greatly, depending on the purpose of the satellite, and are classified in a
number of ways. Well-known (overlapping) classes include low Earth orbit, polar orbit, and
geostationary orbit.

         The Polar Satellite Launch Vehicle, commonly known by its abbreviation PSLV, is an
expendable launch system developed and operated by the Indian Space Research Organization
(ISRO). It was developed to allow India to launch its Indian Remote Sensing (IRS) satellites into
sun synchronous orbits, a service that was, until the advent of the PSLV, commercially viable
only from Russia. PSLV can also launch small size satellites into geostationary transfer orbit

         The PSLV has four stages using solid and liquid propulsion systems alternately. The first
stage is one of the largest solid-fuel rocket boosters in the world and carries 138 tonnes of
Hydroxyl-terminated polybutadiene (HTPB) bound propellant with a diameter of 2.8 m. The
motor case is made of maraging steel. The booster develops a maximum thrust of about 4,430
kN. Six strap-on motors, four of which are ignited on the ground, augment the first stage thrust.
Each of these solid propellant strap-on motors carries nine tonnes of HTPB propellant and
produces 677 kN thrust. Pitch and yaw control of the PSLV during the thrust phase of the solid
motor is achieved by injection of an aqueous solution of strontium perchlorate in the nozzle to
constitute Secondary Injection Thrust Vector Control System (SITVC). The injection is stored in
two cylindrical aluminum tanks strapped to the solid rocket motor and pressurized with nitrogen.
There are two additional small liquid engine control power plants in the first stage, the Roll
Control Thrusters (RCT), fixed radially opposite one on each side, between the triplet set of
strap-on boosters. RCT is used for roll control during the first stage and the SITVC in two strap-
on motors is for roll control augmentation.
DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                  2                                      LAUNCH VEHICLE ANIMATION

        The second stage employs the Vikas engine and carries 41.5 tonnes (40 tonnes till C-5
mission) of liquid propellant – Unsymmetrical Di-Methyl Hydrazine (UDMH) as fuel and
Nitrogen tetroxide (N2O4) as oxidizer. It generates a maximum thrust of 800 kN (724 till C-5
mission). Pitch & yaw control is obtained by hydraulically gimbaled engine (±4°) and two hot
gas reaction control for roll.

        The third stage uses 7 tonnes of HTPB-based solid propellant and produces a maximum
thrust of 324 kN. It has a Kevlar-polyamide fiber case and a submerged nozzle equipped with a
flex-bearing-seal gimbaled nozzle (±2°) thrust-vector engine for pitches & yaw control. For roll
control it uses the RCS (Reaction Control System) of fourth stage.

        The fourth and the terminal stage of PSLV has a twin engine configuration using liquid
propellant. With a propellant loading of 2 tonnes (Mono-Methyl Hydrazine as fuel + Mixed
Oxides of Nitrogen as oxidiser), each of these engines generates a maximum thrust of 7.4 kN.
Engine is gimbaled (±3°) for pitch, yaw & roll control and for control during the coast phase uses
on-off RCS. PSLV-C4 used a new lightweight carbon composite payload adapter to enable a
greater GTO payload capability.

        The Project aims at an animated display of the Launch Vehicle Model during various
Simulation Flight Runs. The Vehicle attitudes viz. angular displacements about the pitch, yaw
and roll axes as well as Linear Displacements and Vehicle Commands will be used for achieving
this. The Data acquired will be processed and transferred to the Document Class. A Timer will
periodically update the Display Views. Three Views derived from CView are provided for
Display. They are Grid Display, Graph Display and Animation Display. OpenGL API is used
for realizing the PSLV Vehicle Model and for providing animations.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                              3                                   LAUNCH VEHICLE ANIMATION

                                3. PRELIMINARY SURVEY


        Requirement Specification provides the developer and the customer with the means of
access quality once the software is built. It is a software engineering task that bridges the gap
between system level software allocation and software design. A requirement is a feature that
must be included in the new system. It enables the System Engineer to specify the software
functions and performance, indicates the software interface with other system elements and
establish design constraints that the software must meet.


       This system is used to monitor the launch of PSLV and to show the stage separation with
the help of an animated model of rocket. It also shows graph and grid display to show the path of
the rocket. In the existing system switching between the windows is done using command
prompt which is difficult to handle.

The difficulties of the system are:

       Not much user friendly
       Difficult to control by giving command
       Not better animation.


       In the proposed system the same functions as that of existing system are provided. Also
provision for playback are provided using database. For implementing animation, OpenGL is
used. The proposed system use Window to implement the above specified application. The use
of Window makes the application user friendly and platform independent.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                             4                                   LAUNCH VEHICLE ANIMATION

The advantages of proposed system over existing system are:

          It is much more user friendly
          It is easy to control using mouse than keyboard
          It provides better animation using OpenGL
          Platform independent


3.4.1. VC++ 6.0

       Microsoft Visual C++ (often abbreviated as MSVC) is a commercial integrated
development environment (IDE) product engineered by Microsoft for the C, C++, and C++/CLI
programming languages. It has tools for developing and debugging C++ code, especially code
written for the Microsoft Windows API, the DirectX API, and the Microsoft .NET Framework.
Visual C++ 6.0 (commonly known as VC6), which included MFC 6.0, was released in 1998. The
release was somewhat controversial since it did not include an expected update to MFC. Visual
C++ 6.0 is still quite popular and often used to maintain legacy projects. There are however
issues with this version under Windows XP, especially under the debugging mode (ex: the values
of static variables do not display). The debugging issues can be solved with a patch called the
"Visual C++ 6.0 Processor Pack".


       The Microsoft Foundation Class Library (also Microsoft Foundation Classes or MFC) is
a library that wraps portions of the Windows API in C++ classes, including functionality that
enables them to use a default application framework. Classes are defined for many of the handle-
managed Windows objects and also for predefined windows and common controls.

       MFC was introduced in 1992 with Microsoft's C/C++ 7.0 compiler for use with 16-bit
versions of Windows as an extremely thin object-oriented C++ wrapper for the Windows API.
C++ was just beginning to replace C for development of commercial application software as the
predominant way to interface to the API.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                            5                                   LAUNCH VEHICLE ANIMATION

       One interesting quirk of MFC is the use of "Afx" as the prefix for many functions,
macros and the standard precompiled header name "stdafx.h". During early development what
became MFC was called "Application Framework Extensions" and abbreviated "Afx". The name
Microsoft Foundation Classes (MFC) was adopted too late in the release cycle to change these

       When MFC was introduced, it provided C++ macros for Windows message-handling (via
Message Maps), exceptions, run-time type identification (RTTI), serialization and dynamic class
instantiation. The macros for message-handling were intended to reduce memory consumption
by avoiding gratuitous virtual table use and also provide a more concrete structure for various
Visual C++-supplied tools to edit and manipulate code without parsing the full language. The
message-handling macros replaced the virtual function mechanism provided by C++.

       The macros for serialization, exceptions, and RTTI predated availability of these features
in Microsoft C++ by a number of years. 32-bit versions of MFC, for Windows NT 3.1 and later
Windows operating systems, used compilers that implemented the language features and updated
the macros to simply wrap the language features instead of providing customized
implementations, realizing upward compatibility.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                             6             LAUNCH VEHICLE ANIMATION

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                   7                          LAUNCH VEHICLE ANIMATION

                            Fig 1: MFC Class hierarchy

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                8                                     LAUNCH VEHICLE ANIMATION

                                   Fig 2: MFC Class hierarchy


       National Instruments Measurement Studio is an integrated suite of measurement and
automation controls, tools, and class libraries for Visual Studio 2008, Visual Studio 2005, Visual
Studio .NET 2003, and Visual Studio 6.0. NI Measurement Studio dramatically reduces
application development time with ActiveX and .NET controls, object-oriented measurement
hardware interfaces, advanced analysis libraries, scientific user interface controls, measurement
data networking, wizards, interactive code designers, and highly extensible classes.

       Measurement Studio delivers an interactive design approach for developing measurement
and automation systems inside Visual C++ (Visual Studio 2005 and Visual Studio .NET 2003).
Because the tools for Visual C++ integrate into the environment, we can use them exactly as we
would native Microsoft tools. We can use the Measurement Studio AppWizard together with
controls and class libraries to easily create our C++ measurement system. The AppWizard
creates a project according to our specifications and includes a code template and the
measurement tools we need to design our application. These tools include C++ classes for
instrument control, data acquisition, data analysis, and live data transfer across the Internet. In
addition, custom controls are included for creating our measurement user interface. Data object
classes, which seamlessly encapsulate and pass data from acquisition to analysis to presentation,
link the measurement classes to the interface controls.

       The Measurement Studio Enterprise and Professional editions continue to offer ActiveX
controls and class libraries for development in Visual C++ 6.0 and Visual Basic 6.0. With
interactive ActiveX properties pages, we can graphically configure our data acquisition and
instrument control applications for analog input and output, digital I/O, GPIB, VISA, and much
more. Scientific analysis libraries include routines like Fast Fourier transforms, spectral
measurements, and array manipulation. Also, the of ActiveX user interface controls included
with Measurement Studio are designed specifically to allow we to create virtual instrumentation
systems that look and feel like real-world instrumentation.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                               9                                     LAUNCH VEHICLE ANIMATION

       Measurement Studio for Visual C++ is an integrated suite of classes and controls
designed especially for test, measurement, and automation applications. Measurement Studio
offers the tools to acquire, analyze, and present real-world data from within the Microsoft Visual
Studio 6.0 environment.

Measurement Studio for Visual C++ 6.0 provides:

      ActiveX controls for data acquisition

      Instrument control class libraries

      Analysis libraries designed specifically for engineers and scientists

      ActiveX user interface controls for presenting data

3.4.4. OpenGL

       OpenGL (Open Graphics Library) is a standard specification defining a cross-language,
cross-platform API for writing applications that produce 2D and 3D computer graphics. The
interface consists of over 250 different function calls which can be used to draw complex three-
dimensional scenes from simple primitives. OpenGL was developed by Silicon Graphics Inc.
(SGI) in 1992[2] and is widely used in CAD, virtual reality, scientific visualization, information
visualization, and flight simulation. It is also used in video games, where it competes with
Direct3D on Microsoft Windows platforms. OpenGL is managed by a non-profit technology
consortium, the Khronos Group.

OpenGL serves two main purposes:

      To hide the complexities of interfacing with different 3D accelerators, by presenting the
       programmer with a single, uniform interface.

      To hide the differing capabilities of hardware platforms, by requiring that all
       implementations support the full OpenGL feature set (using software emulation if

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                              10                                     LAUNCH VEHICLE ANIMATION

OpenGL's basic operation is to accept primitives such as points, lines and polygons, and convert
them into pixels. This is done by a graphics pipeline known as the OpenGL state machine. Most
OpenGL commands either issue primitives to the graphics pipeline, or configure how the
pipeline processes these primitives. Prior to the introduction of OpenGL 2.0, each stage of the
pipeline performed a fixed function and was configurable only within tight limits. OpenGL 2.0
offers several stages that are fully programmable using GLSL.

       OpenGL is a low-level, procedural API, requiring the programmer to dictate the exact
steps required to render a scene. This contrasts with descriptive (aka scene graph or retained
mode) APIs, where a programmer only needs to describe a scene and can let the library manage
the details of rendering it. OpenGL's low-level design requires programmers to have a good
knowledge of the graphics pipeline, but also gives a certain amount of freedom to implement
novel rendering algorithms.

       When building animations with elements whose display is not supported in OpenGL, we
need to see every detail. That’s what High Quality is for, of course. However, we may not need
to see every detail in our scene when moving specific objects. OpenGL is automatically engaged
when we interact with those objects, such as when scaling or positioning them, whether using
sliders in the Controls window, values set in the Timeline window, or using interactors in the
Composite window to move or scale the objects directly.

       During these interactions, masks, bump maps, reflection maps, and downstream filters
may be turned off to allow OpenGL accelerated previews. The High Quality software renderer
takes over when we release the mouse, and all composition elements are visible. There are times
when we’ll need to see every detail while moving objects, of course. That’s easy – simply press
the Option key on Macintosh or the Alt key on Windows while moving elements, and the display
updates with every element displayed at High Quality, in the resolution that we’ve set. We may
also choose to reverse this behavior, so that interaction leaves all elements visible by default and
only hides them when holding the modifier key, in the Render tab of the Preferences.

3.4.5. UDP networking

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                11                                   LAUNCH VEHICLE ANIMATION

       The User Datagram Protocol (UDP) is one of the core members of the Internet Protocol
Suite, the set of network protocols used for the Internet. With UDP, computer applications can
send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol (IP)
network without requiring prior communications to set up special transmission channels or data
paths. UDP is sometimes called the Universal Datagram Protocol. The protocol was designed by
David P. Reed in 1980 and formally defined in RFC 768.

UDP uses a simple transmission model without implicit hand-shaking dialogues for guaranteeing
reliability, ordering, or data integrity. Thus, UDP provides an unreliable service and datagrams
may arrive out of order, appear duplicated, or go missing without notice. UDP assumes that error
checking and correction is either not necessary or performed in the application, avoiding the
overhead of such processing at the network interface level. Time-sensitive applications often use
UDP because dropping packets is preferable to waiting for delayed packets, which may not be an
option in a real-time system. If error correction facilities are needed at the network interface
level, an application may use the Transmission Control Protocol (TCP) or Stream Control
Transmission Protocol (SCTP) which are designed for this purpose.

UDP's stateless nature is also useful for servers that answer small queries from huge numbers of
clients. Unlike TCP, UDP is compatible with packet broadcast (sending to all on local network)
and multicasting (send to all subscribers). Common network applications that use UDP include:
the Domain Name System (DNS), streaming media applications such as IPTV, Voice over IP
(VoIP), Trivial File Transfer Protocol (TFTP) and many online games.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                             12                                     LAUNCH VEHICLE ANIMATION

                                 4. FEASIBILITY STUDY

       Feasibility study is made to see if the project on completion will serve the purpose of the
organization for the amount of work, effort and the time that spend on it. Feasibility study lets
the developer foresee the future of the project and the usefulness. A feasibility study of a system
proposal is according to its workability, which is the impact on the organization, ability to meet
their user needs and effective use of resources. Thus when a new application is proposed it
normally goes through a feasibility study before it is approved for development. The document
provide the feasibility of the project that is being designed and lists various areas that were
considered very carefully during the feasibility study of this project such as Technical, Economic
and Operational feasibilities. The following are its features:


             The system must be evaluated from the technical point of view first. The assessment
of this feasibility must be based on an outline design of the system requirement in the terms of
input, output, programs and procedures. Having identified an outline system, the investigation
must go on to suggest the type of equipment, required method developing the system, of running
the system once it has been designed.

Technical issues raised during the investigation are:

      Does the existing technology sufficient for the suggested one?
      Can the system expand if developed?
             The project should be developed such that the necessary functions and performance
are achieved within the constraints. The project is developed within latest technology. Through
the technology may become obsolete after some period of time, due to the fact that never version
of same software supports older versions, the system may still be used. So there are minimal

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                               13                                    LAUNCH VEHICLE ANIMATION

constraints involved with this project. The system has been developed using VC++ and OpenGL,
the project is technically feasible for development.


   The developing system must be justified by cost and benefit. Criteria to ensure that effort is
concentrated on project, which will give best, return at the earliest. One of the factors, which
affect the development of a new system, is the cost it would require. The following are some of
the important financial questions asked during preliminary investigation:

      The costs conduct a full system investigation.
      The cost of the hardware and software.
      The benefits in the form of reduced costs or fewer costly errors.
       The proposed system will fulfill all these requirements over the existing system taking
       account of economical feasibility.


This includes the following questions:

      Is there sufficient support for the users?
      Will the proposed system cause harm?
            The project would be beneficial because it satisfies the objectives when developed
and installed. All behavioral aspects are considered carefully and conclude that the project is
behaviorally feasible.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                             14                                   LAUNCH VEHICLE ANIMATION

                            5. SOFTWARE PROCESS MODEL

5.1 Prototyping Model

       The Prototyping Model is a systems development method (SDM) in which a prototype
(an early approximation of a final system or product) is built, tested, and then reworked as
necessary until an acceptable prototype is finally achieved from which the complete system or
product can now be developed. This model works best in scenarios where not all of the project
requirements are known in detail ahead of time. It is an iterative, trial-and-error process that
takes place between the developers and the users.

The steps in the Prototyping Model:

   1. The new system requirements are defined in as much detail as possible. This usually
       involves interviewing a number of users representing all the departments or aspects of the
       existing system.

   2. A preliminary design is created for the new system.

   3. A first prototype of the new system is constructed from the preliminary design. This is
       usually a scaled-down system, and represents an approximation of the characteristics of
       the final product.

   4. The users thoroughly evaluate the first prototype, noting its strengths and weaknesses,
       what needs to be added, and what should to be removed. The developer collects and
       analyzes the remarks from the users.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                             15                                     LAUNCH VEHICLE ANIMATION

   5. The first prototype is modified, based on the comments supplied by the users, and a
       second prototype of the new system is constructed.

   6. The second prototype is evaluated in the same manner as was the first prototype.

   7. The preceding steps are iterated as many times as necessary, until the users are satisfied
       that the prototype represents the final product desired.

   8. The final system is constructed, based on the final prototype.

   9. The final system is thoroughly evaluated and tested. Routine maintenance is carried out
       on a continuing basis to prevent large-scale failures and to minimize downtime.

Advantages of Prototyping

       There are many advantages to using prototyping in software development, some tangible
some abstract.

Reduced time and costs: Prototyping can improve the quality of requirements and specifications
provided to developers. Because changes cost exponentially more to implement as they are
detected later in development, the early determination of what the user really wants can result in
faster and less expensive software.

Improved and increased user involvement: Prototyping requires user involvement and allows
them to see and interact with a prototype allowing them to provide better and more complete
feedback and specifications. The presence of the prototype being examined by the user prevents
many misunderstandings and miscommunications that occur when each side believe the other
understands what they said. Since users know the problem domain better than anyone on the
development team does, increased interaction can result in final product that has greater tangible
and intangible quality. The final product is more likely to satisfy the users desire for look, feel
and performance.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                               16                                      LAUNCH VEHICLE ANIMATION

    Disadvantages of Prototyping

    Insufficient analysis: The focus on a limited prototype can distract developers from properly
    analyzing the complete project. This can lead to overlooking better solutions, preparation of
    incomplete specifications or the conversion of limited prototypes into poorly engineered final
    projects that are hard to maintain. Further, since a prototype is limited in functionality it may not
    scale well if the prototype is used as the basis of a final deliverable, which may not be noticed if
    developers are too focused on building a prototype as a model.

    Expense of implementing prototyping: the start up costs for building a development team
    focused on prototyping may be high. Many companies have development methodologies in
    place, and changing them can mean retraining, retooling, or both. Many companies tend to just
    jump into the prototyping without bothering to retrain their workers as much as they should.



  Refine requirements                                        Build
incorporating customer                                     Prototype

                               Customer evaluation

    DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                 17                                    LAUNCH VEHICLE ANIMATION





   After the analyst has collected all the required information regarding the software, to remove
all incompleteness, inconsistency and anomalies, he starts to systematically organize the
requirements in the form of an SRS document. This usually contains all the user requirements in
the form of an informal force. Among all the documents produced during a software
development life cycle, writing SRS document is probably the toughest. Some of the important
categories of users of the SRS document and their needs is as follows.

      Software developers: The software developers refer to the SRS document to make sure
       that they develop exactly what the customer requires.

      Test engineers: Their goal is to ensure that the requirements are understandable from
       functionality point of views, so that they can test the software and validate its working.
       They need that the functionality is clearly described and input and output data be
       identified precisely.

      User documentation writer : Their goal is reading the SRS document is to ensure that
       they understand the document well enough to be able to write the user modules

      Project manager: They want to ensure that they can estimate the cost easily by retuning
       to the SRS document.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                             18                                   LAUNCH VEHICLE ANIMATION

        Maintenance engineers: The SRS document helps the maintenance engineer to
         understand the functionality of the system. An SRS document should clearly specify
         Functional Requirements and the Non- Functional Requirements

6.1 Display on window

R1. Display different views

Description: The display function first determines which view should be displayed on the screen.
The choice will be chosen by the user

R1.1 Display grid view

Input: data from network

Output: process data in grid form

R1.2 Display graph view

Input: data from network

Output: process data in graph form

R1.3 Display animation view

Input: data from network

Output: display the movement of launch vehicle

6.1 Data Acquisition

   Input Data: Data Stream

       The input data which is byte oriented is available as frames and sub frames. Each frame
   starts with a sync pattern and is of a fixed block length. A specific number of such frames
   constitute a sub frame.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                            19                                  LAUNCH VEHICLE ANIMATION

    The data required to be stripped in real time consist of the outputs of Navigation
   computation and Command events which occur during the course of the flight. This
   information originates from Onboard Navigation and Guidance computers and some of these
   parameters are available as minor cycle data and some are available at major cycle data. The
   parameters as given below should be stripped

                               1. Range Time
                               2. Theta
                               3. Phi
                               4. Psi
                               5. Range RX
                               6. Range RY
                               7. Range RZ
                               8. Commands during Flight

The telemetry stream consists of parameters as well as data from onboard computations. Here
we are concerned with the outputs of navigation computations and sequencing commands output
from onboard.

6.2 Parameter Processing

       The parameters mentioned in 6.1 are planned to be used in the display and animations.
The parameter position and scale factors as per NGP and GCP packet details are as per the
details given in Telemetry Reference document .

6.3 Parameter Display in Grid Form

The above parameters should be displayed in a Grid.

    Display updates periodicity - 500 millisecs

6.4 Parameter Display in Graph

       Any three of the above parameters should be displayed in a graph. The graph should
    display all data points.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                           20                                      LAUNCH VEHICLE ANIMATION

6.5 Animated Display of Vehicle Movement

       The PSLV Vehicle should be displayed in a View Window. The vehicle consisting of
   various stages viz First stage solid motor PS1,strapon rockets, Second stage PS2 ,Third stage
   PS3, Fourth Stage PS4 ,Satellite and Heat Shield should be displayed with graphics. The
   vehicle movements in the three axes as well as its movement should be pictorially shown.
   The stage separation events should be displayed as and when it occurs.

6.6 Playback of Stored Telemetry Data

       There has to be provision to playback stored telemetry data giving the same visual effect
   of real time telemetry data . The different views should be displayed          as if the data is
   continuously coming. There should be provision to to pause the playback and continue later.

                                    7. SYSTEM DESIGN


            System Design is the process of developing specifications for a candidate system
that meet the criteria established in the system analysis. Major step in the system design is the
preparation of the input forms and the output reports in a form applicable to the user. The main
objective of the system design is to use the package easily by any computer operator .System
design is the creative act of invention, developing new inputs, a database, offline files, methods,
procedures and output for processing business to meet an organization objective. System design
builds information gathered during the system analysis.

            Design is the first step into the development phase for any engineered product or
system. Design is a creative process. A good design is the key to effective system. The term
“design” is defined as “the process of applying various techniques and principles for the purpose
of defining a process or a system in sufficient detail to permit its physical realization”. It may be
defined as a process of applying various techniques and principles for the purpose of defining a
device, a process or a system in sufficient detail to permit its physical realization. Software

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                 21

                                                                                               6                                      LAUNCH VEHICLE ANIMATION

design sits at the technical kernel of the software engineering process and is applied regardless of
the development paradigm that is used.

            The system design develops the architectural detail required to build a system or
product. As in the case of any systematic approach, this software too has undergone the best
possible design phase fine tuning all efficiency, performance and accuracy levels. The design
phase is a transition from a user oriented document to a document to the programmers or
database personnel. System design goes through two phases of development: Logical and
Physical Design.


The logical flow of a system and define the boundaries of a system. It includes the following

              Reviews the current physical system – its data flows, file content, volumes,
               frequencies etc.

              Prepares output specifications – determines the format, content and
               Frequency of reports.

              Prepares input specifications – format, content and most of the input functions.
              Prepares edit, security and control specifications.
              Specifies the implementation plan.
              Prepares a logical design walk through of the information flow, output, input,
                Controls and implementation plan.

              Reviews benefits, costs, target dates and system constraints.
DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                 22                                     LAUNCH VEHICLE ANIMATION


            Physical system produces the working systems by define the design specifications
that tell the programmers exactly what the candidate system must do. It includes the following

              Design the physical system.
              Specify input and output media.
              Design the database and specify backup procedures.
              Design physical information flow through the system and a physical design
               Walk through.

              Plan system implementation.
              Prepare a conversion schedule and target date.
              Determine training procedures, courses and timetable.
              Devise a test and implementation plan and specify any new hardware/software.
              Update benefits , costs , conversion date and system constraints

             Input design is the process of converting the user-oriented inputs to a computer –
based format. The design for handling input specifies how data are accepted for computer
processing. Input design is a part of overall system design that needs careful attention and it
includes specifying the means by which actions are taken. A system user interacting through a
workstation must be able to tell the system whether to accept input produce a report or end
processing. The collection of input data is considered to be the most expensive part of the system
design .Since the inputs have to be planned in such a manner so as to get the relevant information
extreme care is taken to obtain the information .If the data going into the system is incorrect then
the processing and outputs will magnify these errors. The major activities carried out are

              Collection of needed data from the source.
              Conversion of data into computer accepted form
              Verification of converted data.
              Checking data for accuracy.
DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                23                                      LAUNCH VEHICLE ANIMATION

The input is given by using a network program from the server.


             The output design has been done so that the results of processing should be
communicated to the user .Effective output design will improve the clarity and performance of
outputs. Output is the main reason for developing the system and the basis on which they will
evaluate the usefulness of the application.

             Output design phase of the system is concerned with the convergence of information
to the end user-friendly manner .The output design should be efficient, intelligible so that the
system relationships with the end user is improved and thereby enhancing the process of decision

The output screens used by the Launch Vehicle Animation Project are:

              Animation View: It gives the animation view of the satellite launch vehicle.
              Graph View: Different processed parameters are displayed in graph form.
              Grid View: Different processed parameters are displayed in grid form.

             The overall objective in the development of data base technology has been to treat
data as an organizational resource and as an integrated whole. Data base management system
allows data to be protected and organized separately from other resources .Database is an
integrated collection of data .This is the difference between logical and physical data.


Table 1: Flight_Data

Purpose: To store parameters details for flight of satellite launch vehicle.

Field Name        Data Type          Size          Constraint         Description

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                               24                                       LAUNCH VEHICLE ANIMATION

Time               Float              50            Primary Key        Time after the
                                                                       launch        of

Theta              GlFloat            50                               Pitch
                                                                       movement      of
                                                                       the vehicle

Phi                GlFloat            50                               Yaw
                                                                                          7.5 USER
                                                                       movement      of
                                                                       the vehicle
Psi                GlFloat            50                               rotation of the    DESIGN

Xpose              GlFloat            50                               X position of            The
                                                                       the vehicle         interface
Ypose              GlFloat            50                               Y position of
                                                                       the vehicle

Zpose              GlFloat            50                               Z position of       software

                                                                       the vehicle        communic
within itself, to systems that inter-operate with it and with humans who use it. An interface
implies a flow of information. Therefore the data flow diagrams provide the information required
for the interface design. User interface is the doorway into an interactive software application.
The design of human interfaces demands an understanding of human factors and interface
technology. Human perception, the skill level, the behavior profile of the user and the overall
tasks that user must conduct are all factors in the design of interface.

             The interface tells the system what actions to take for entering changing or
retrieving data. It allows the user to accomplish processing actions or activities in an effective
manner .they perceive as being a natural and reasonable way to request and carry out our

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                25                                    LAUNCH VEHICLE ANIMATION

activities. The interface should be in such a way as to include the use of methods that will not
grow tiresome and unacceptable to frequent users who become familiar with the system; but that
which will facilitate equally effective use by novice users.

             It should avoid user errors i.e. it should prevent any action that will create a
processing error or that interrupts the expected actions of the computer systems. System analyst
frequently considers the interface as a window to the system, a view of the portion of the entire
systems features .Users in contrast; tend to view the interface as the entire system. Their
experience with the interface forms the basis for judging the system’s features. If the interface
does not aloe easy entry of data or initiation of actions, with simplicity and without risk of
making serious mistakes, we cannot expect users and others who are affected by the system to
judge it to be acceptable.


Introduction to UML

             The Unified Modeling Language (UML) is one of the most exiting tools in the world
of system development today. The UML enables system builders to create blueprints to capture
their visions in a standard easy-to understand way and communicate them to others. Before the
advent of the UML system development was often a hit or miss proportion. System analysts
would try to access the needs of their clients, generate a requirement analysis in some notation
that that analyst understood give the analysis to the programmer or team of programmers, and
hope that the final product was the system client wanted.

             Since the system development is human activity, the potential for errors is looked at
every stage of the process. The analyst might have produced a document the client couldn’t
comprehend. The result of analysis might not have been clear for the programmers, who
subsequently might have created a program that was difficult to use and not a solution to client’s
original problem.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                              26                                    LAUNCH VEHICLE ANIMATION

            The three main elements of the language are : UML ‘s basic building blocks , the
rules that dictate how these blocks may be put together and the common mechanisms that apply
throughout the UML .

            A diagram is a graphical representation of a set of elements , most often rendered as
a connected graph of vertices and arcs. Several kinds of diagrams can be created using the UML

UML Designs includes

              Use-Case Diagram
              Sequence Diagram
              Activity Diagram
              Class Diagram


            It identifies the functionality provided by the system (Use-Cases ) , the users who
interact with the system (Actors) , and the association between the users and the functionality
.Use-Cases are used in the analysis phase of software development to articulate the high-level
requirements of the system. The primary goals of Use-Case Diagrams include :

              Providing a high-level view of what the system does.
              Identifying the users (“actors”) of the system.
              Determining areas needing human-computer interfaces.

            Use-Case extends beyond pictorial diagrams. These are used for modeling the
dynamic aspects of the system. A Use Case is a description of a system’s behavior from a user’s
standpoint. It is a tried-and-true technique for gathering system requirements from a user’s point
of view. In use case representation a stack figure is used to represent an actor and ellipse to
represent a use case module.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                              27                                     LAUNCH VEHICLE ANIMATION

Use-Case Diagram Components

   Use Case – Use Cases are drawn using ovals. These ovals are labeled with verbs that
    represent the system’s functions.
   System – System boundaries are drawn using a rectangle that contains use cases.
   Actors – Actors are the users of the system.
   Relationships – Illustrates relationships between an actor and a use case with a simple line.


PSLV animation

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                               28                                      LAUNCH VEHICLE ANIMATION

                                Network data from file

              Grid view                Graph view                      Animation view

                             Fig 3. Use case diagram PSLV animation


                The UML sequence diagram shows how objects communicate with one another
overtime. The sequence diagrams consist of objects represented as named rectangles, message
represented as a solid hyphen line arrows and time represented as a vertical progression. In a
sequence diagram the object are laid out from left to right across, the top.

              Each object’s lifeline is a dashed line extending downwards from the object. A solid
line with arrow head connects one lifeline to another and represents a message from one object to
another time starts at the top and proceeds downward although part of the sequence diagram
symbol set.

Sequence Diagram Components

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                              29                                        LAUNCH VEHICLE ANIMATION

   Class roles – Class roles describes the way an object will behave in context. The UML
    object symbol can be used to illustrate class roles, but not for listing object attributes.
   Activation - Activation boxes represents the time an object needs to complete a task.
   Messages – Messages are arrows that represent communication between objects. Half –
    arrow lines are used to represent asynchronous messages. Asynchronous messages are send
    from an object that will not wait for a response from the receiver before continuing tasks.
   Lifelines – Lifelines are vertical dashed lines that indicate the object’s presents overtime.
   Destroying Objects – Objects can be terminated early using an arrow labeled “
    <<destroy>>” that points to an X.
   Loops – A repetition or loop within a sequence diagram is depicted as a rectangle. Place the
    condition for exiting the loop at the bottom left corner in square brackets [].

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                     30                                LAUNCH VEHICLE ANIMATION

Sequence Diagram of Acquisition and Display

                    Fig 4: sequence diagram of acquisition and display
DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                      31                             LAUNCH VEHICLE ANIMATION

Sequence diagram for updating data

                         Fig 5: Sequence diagram for updating

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                   32                                    LAUNCH VEHICLE ANIMATION



            The   selection of hardware is very important in the existence and proper working of
any software . When selecting hardware , the size and capacity requirements are also important .


                                               X86 Compatible processor with 1.7 GHz
                                               Clock speed

                                               128 MB or more


                                               20 GB or more

Hard disk



                                               104 Keys




DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                             33                               LAUNCH VEHICLE ANIMATION


Technology                                Tools and respective versions

Programming Language                      VC++

Animation software                        OpenGL

Operating System                          Windows NT

Integrated Development Environment(IDE)   Visual studio

Database                                  Microsoft access

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                     34                                     LAUNCH VEHICLE ANIMATION

                                  9 DATA FLOW DIAGRAM

   The Data Flow Diagrams are the main process- modeling tool for information systems. DFDs
represent a situation from the view point of the data and they are a technique to assist the
analysis of processes in the system. A DFD graphically document the boundaries of a system,
showing the movement of information between a system and its environment as well as
information flows within the system there by aiding the communication between users and
              The transformation of data from input to output can be described logically,
independent of physical components. The processes are represented by circles, arrows annotated
with the data name represent data flows, double rectangles represent data sources and it is a net
originator or consumer of data.
              The DFDs may be used to represent a system of software at any level of abstraction.
They can be partitioned into different levels representing the increasing information flow and
functional details. DFDs thus provide a mechanism for functional modeling as well as
information flow modeling. The top level or level 0 DFD known as Context Diagram, consists of
a single process which describes the system at the highest level of abstraction. The further levels
showing more details are depicted by Level 1, Level 2 etc. The DFDs of our system are shown




                                         DISPLAY DATA

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                               35                     LAUNCH VEHICLE ANIMATION

           LEVEL 1 (DFD)

                                            PROCESS DATA
    DATA                    FILE




DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                            36                                       LAUNCH VEHICLE ANIMATION

                                         10. TESTING

               Software Testing is the process of executing software in a controlled manner, in
order to answer the question - Does the software behave as specified? Software testing is often
used in association with the terms verification and validation. Validation is the checking or
testing of items, includes software, for conformance and consistency with an associated
specification. Software testing is just one kind of verification, which also uses techniques such as
reviews, analysis, inspections, and walkthroughs. Validation is the process of checking that what
has been specified is what the user actually wanted.

Validation       : Are we doing the right job?

Verification     : Are we doing the job right?

         Software testing should not be confused with debugging. Debugging is the process of
analyzing and localizing bugs when software does not behave as expected. Although the
identification of some bugs will be obvious from playing with the software, a methodical
approach to software testing is a much more thorough means for identifying bugs. Debugging is
therefore an activity which supports testing, but cannot replace testing.

         Other activities which are often associated with software testing are static analysis and
dynamic analysis. Static analysis investigates the source code of software, looking for problems
and gathering metrics without actually executing the code. Dynamic analysis looks at the
behavior of software while it is executing, to provide information such as execution traces,
timing profiles, and test coverage information.

               Testing is a set of activity that can be planned in advanced and conducted
systematically. Testing begins at the module level and work towards the integration of entire
computers based system. Nothing is complete without testing, as it vital success of the system
testing objectives, there are several rules that can serve as testing objectives. They are

                Testing is a process of executing a program with the intend of finding
                an error.
DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                37                                       LAUNCH VEHICLE ANIMATION

               A good test case is one that has high possibility of finding an undiscovered
               A successful test is one that uncovers an undiscovered error.

             If a testing is conducted successfully according to the objectives as stated above, it
would uncovered errors in the software also testing demonstrate that the software function
appear to be working according to the specification, that performance requirement appear to have
been met.

There are three ways to test program:

               For correctness
               For implementation efficiency
               For computational complexity

             Test for correctness are supposed to verify that a program does exactly what it was
designed to do. This is much more difficult than it may at first appear, especially for large


             A test plan implies a series of desired course of action to be followed in
accomplishing various testing methods. The Test Plan acts as a blue print for the action that is to
be followed. The software engineers create a computer program, its documentation and related
data structures. The software developers is always responsible for testing the individual units of
the programs, ensuring that each performs the function for which it was designed. There is an
independent test group (ITG) which is to remove the inherent problems associated with letting
the builder to test the thing that has been built. The specific objectives of testing should be stated
in measurable terms. So that the mean time to failure, the cost to find and fix the defects,

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                  38                                      LAUNCH VEHICLE ANIMATION

remaining defect density or frequency of occurrence and test work-hours per regression test all
should be stated within the test plan.

The levels of testing include:

               Unit testing
               Integration Testing
               Data validation Testing
               Output Testing


              Unit testing focuses verification effort on the smallest unit of software design – the
software component or module. Using the component level design description as a guide,
important control paths are tested to uncover errors within the boundary of the module. The
relative complexity of tests and uncovered scope established for unit testing. The unit testing is
white-box oriented, and step can be conducted in parallel for multiple components. The
modular interface is tested to ensure that information properly flows into and out of the program
unit under test. The local data structure is examined to ensure that data stored temporarily
maintains its integrity during all steps in an algorithm’s execution. Boundary conditions are
tested to ensure that all statements in a module have been executed at least once. Finally, all error
handling paths are tested. The white box testing is also known as path testing.

              Tests of data flow across a module interface are required before any other test is
initiated. If data do not enter and exit properly, all other tests are moot. Selective testing of
execution paths is an essential task during the unit test. Good design dictates that error conditions
be anticipated and error handling paths set up to reroute or cleanly terminate processing when an
error does occur. Boundary testing is the last task of unit testing step. Software often fails at its

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                 39                                     LAUNCH VEHICLE ANIMATION

             Unit testing was done in Sell-Soft System by treating each module as separate entity
and testing each one of them with a wide spectrum of test inputs. Some flaws in the internal logic
of the modules were found and were rectified.


             Integration testing is systematic technique for constructing the program structure
while at the same time conducting tests to uncover errors associated with interfacing. The
objective is to take unit tested components and build a program structure that has been dictated
by design. The entire program is tested as whole. Correction is difficult because isolation of
causes is complicated by vast expanse of entire program. Once these errors are corrected, new
ones appear and the process continues in a seemingly endless loop. After unit testing in Sell-Soft
System all the modules were integrated to test for any inconsistencies in the interfaces. Moreover
differences in program structures were removed and a unique program structure was evolved.


             This is the final step in testing. In this the entire system was tested as a whole with
all forms, code, modules and class modules. This form of testing is popularly known as Black
Box testing or System testing. Black Box testing method focuses on the functional requirements
of the software. That is, Black Box testing enables the software engineer to derive sets of input
conditions that will fully exercise all functional requirements for a program. Black Box testing
attempts to find errors in the following categories; incorrect or missing functions, interface
errors, errors in data structures or external data access, performance errors and initialization
errors and termination errors.

The different Test Cases are:

   Guarantee that all independent parts within a module have been exercised at least once.
   Exercise all logical decisions on their true/false side.
   Exercise all loops at their boundaries and within their operational bounds.
DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                40                                     LAUNCH VEHICLE ANIMATION

   Exercise internal data structure to ensure their validity.
   Each module was tested and the tested modules were linked and integration test was carried
Test Data

The system analyst will provide the test data, specially designed to show that the system will
operate successfully in all its aspects and produce expected results under expected conditions.
Preparation of test data and the checking of results should be carried out in conjunction with the
appropriate users and operational departments. Also the extend to which the system should be
tested must be planned.


             The system considered is tested for user acceptance; here it should satisfy the firm’s
need. The software should keep in touch with perspective system; user at the time of developing
and making changes whenever required. This done with respect to the following points

   Input Screen Designs,
   Output Screen Designs,
   Online message to guide the user and the like.
             The above testing is done taking various kinds of test data. Preparation of test data
plays a vital role in the system testing. After preparing the test data, the system under study is
tested using that test data. While testing the system by which test data errors are again uncovered
and corrected by using above testing steps and corrections are also noted for future use.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                               41                                     LAUNCH VEHICLE ANIMATION

                                       11. ALGORITHM

   In mathematics and computer science, and related subjects, an algorithm is an effective
method for solving a problem using a finite sequence of instructions. Algorithms are used for
calculation, data processing, and many other fields.

   Each algorithm is a list of well-defined instructions for completing a task. Starting from an
initial state, the instructions describe a computation that proceeds through a well-defined series
of successive states, eventually terminating in a final ending state. The transition from one state
to the next is not necessarily deterministic; some algorithms, known as randomized algorithms,
incorporate randomness.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                               42                         LAUNCH VEHICLE ANIMATION

STEP 1: Initialize card and start acquisition of data

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                               43                                LAUNCH VEHICLE ANIMATION

STEP 2: check if new data packet is available

           If not stop data acquisition


               1. Copy data from card memory to local buffer
               2. Process data in local buffer
               3. Update all three views
               4. Return to step 2
STEP 3: Stop acquisition

Step 1: check if local data buffer is over

       If yes return to the calling function

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                      44                            LAUNCH VEHICLE ANIMATION


               1. Validate frame id

               2. Check frame id error

               3. Strip the required data from frame

               4. Copy the data to document class buffer

Step 2: Set new data flag

Step 3: Stop

Step 1: initiate grid ActiveX control in grid view

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                  45                              LAUNCH VEHICLE ANIMATION

Step 2: initialize no of rows and columns

Step 3: display legends

Step 4: stop

Step 1: initialize NI Graph, Activex control in graph view

Step 2: initialized axes range and title

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                    46                                 LAUNCH VEHICLE ANIMATION

Step 3: stop

Step1: check if acquisition is over

       If no

               Get new values of attribute and range

               Apply rotation and translation

               Draw the vehicle with translation and rotation


               Exit from display

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                       47                                      LAUNCH VEHICLE ANIMATION



             Implementation is the stage in the project where the theoretical design is turned into a
working system and is giving confidence on the new system for the uses that it will work
efficiently and effectively. It involves careful planning, investigation, of the current system and
its constraints on implementation, design of methods to achieve the changeover, an evaluation of
change over methods. Apart from planning major task of preparing the implementation are
education and training of user. The more complex system being implemented, the more involved
will be the system analysis and the design effort required just for implementation. On
implementation coordinating committee based on policies of individual organization has been

              The implementation process begins with preparing the plan for the implementation
for the system. According to this plan, the activities are to be carried out, discussion made
regarding the equipment and resources and the additional equipment as to be acquired to
implement the new system. The implementation is the final and important phase. The most
critical stage in achieving successful new system and in giving the user confidence that the new
system will work and be effective. The system can be implemented only after thorough testing is
done and if it found to working according to the specification.

             This method also offers the greatest security since the old system can take over if the
errors are found or inability to handle certain type of transaction while using the new system.


             Implementation includes all those activities that take place to convert from old
system to new. At this stage the theoretical design is turned into a working system. The crucial
stage in achieving a successful new system and giving confidence on the system for the users
that will work efficiently and effectively.
DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                                   48                                     LAUNCH VEHICLE ANIMATION

           The implementation involves careful planning, investigation, of the current system
and its constraints on implementation, design of methods to achieve the change over Training of
staff in the overall procedures, and evaluation of changeover methods. The more complex the
system is being implemented, the more involved will be system analysis and design effort
required just for implementation.

There are three types of implementations:

      Implementation of a computer system to replace the manual system .The problems
       encountered are converting files, training users, creating accurate files, and verifying
       printouts for integrity.
      Implementation of a computer system to replace an existing one. This is usually a
       difficult conversion .If not properly planned there can be many problems .Some larger
       computer systems have taken as long as a year to convert.
      Implementation of a modified application to replace an existing one using the same
       computer. This type of conversion is relatively easy to handle, provided there are no
       major changes in files.


            When considered as a step in software engineering, coding is viewed as a natural
consequence of design. However, programming language characteristics and coding style can
profoundly affects software quality and maintainability.

       The coding steps translate a detail design representation into a programming language
realization. The translation process continues when a compiler accepts source code as input and
produces machine- independent       object code as output. The initial translation step in detail
design to programming language is a primary concern in the software engineering context.
Improper interpretation of a detail design specification can lead to erroneous source code.
Psychological and technical characteristics of a programming language affect the translation
from design and also the effort required to test and maintain software.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                             49                                    LAUNCH VEHICLE ANIMATION

            Style is an important attribute of source code and can determine the intelligibility of
a program. The elements of a style include internal documentation, methods for data declaration,
procedures for statement construction, and I/O coding and declaration. In all cases, simplicity
and clarity are key characteristics. And off shoot of coding style is execution time and / or
memory efficiency that is achieved.

           Coding is the phase in which we actually write program using a programming
language. In the coding face design must be translated into a machine readable form. If design is
performed in a detailed manner coding can be accomplished mechanistically. It was the only
recognized development phase in early or unsystematic development processes, but it is just one
of several phases in a waterfall process. The output of this phase is an implemented and tested
collection of modules.


           Usage of VC++ and MFC technology tends to trade expediency for efficiency.
Coding in this project is done in such a better way, which means it is not the most efficient code
possible. However, as stated, for the indented purpose the performance attributes are considered
adequate. The only efficiency considered so far as code is concerned that makes sense is the
efficiency in generating codes (i.e. coding productivity). The need for making code compact and
concise may be countered productive when maintenance is undertaken.


            Maintenance corresponds to restoring something to original conditions, covering a
wide range of activities including correcting codes and design errors and updating user support.
Maintenance is performed most often to improve the existing software rather than to a crisis or
risk failure. Maintenance is continued till the product is reengineered or deployed to another
platform. Maintenance is also done based on fixing the problems reported, changing the interface
with other software or hardware enhancing the software.

           The software maintenance is an important one in the software development because
we have to spend more efforts for maintenance. Software maintenance is to improve the quality
of the software according to the requirements.
DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                               50                                      LAUNCH VEHICLE ANIMATION

           After a system is successfully implemented, it should be maintained in a proper
manner. The need for system maintenance is to make the system adaptable to the changes in the
system environment .There may be social, economical, or technical changes, which affect the
system being implemented. Software product enhancements may involve providing new
functional capabilities, improving user displays and mode of interaction, upgrading the
performance characteristics of the system. So only through proper system maintenance
procedures, the system can be adapted to cope with these changes. We may define maintenance
by describing four activities that are undertaken, after a program is released for use.

      The first maintenance activity occurs because it is unreasonable to assume that software
       testing will uncover all latent errors in a large software system. During the use of any
       large program, errors will occur and be reported to the developer. The process that
       includes the diagnosis and correction of one or more errors is called corrective
      The second activity that contributes to a definition to maintenance occurs because of the
       rapid change that is encountered in every aspects of computing. Therefore, adaptive
       maintenance – an activity that modifies the software to properly interface with a
       changing environment is both necessary and commonplace.
      The third activity that may be applied to a definition of maintenance occurs when a
       software package is successful. As the software is used, recommendations for few
       capabilities, modifications to existing functions and general enhancements are received
       from users. To satisfy requests in this category, perfective maintenance is performed.
       This activity accounts for the majority of all efforts expended on software maintenance.
      The fourth maintenance activity occurs when software is changed to improve future
       maintainability or reliability, or to provide a better basis for future enhancements. Often
       called preventive maintenance, this activity is characterized by reverse engineering and
       re-engineering techniques.
In the software maintenance to improve our software there are two types available

      Reverse Engineering
      Re- Engineering

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                              51                                   LAUNCH VEHICLE ANIMATION

By using these two techniques, quality of the software can be improved.

      Reverse Engineering means that to update the existing software.
      Re – Engineering means that entirely modifying the existing software.
Maintenance activities involved the following three concepts.

      Enhancement
      Adapting
      Correcting problems.
           Software product Enhancement may involve providing new functional capabilities,
   improving user displays and modes of integration, updating external documents and internal
   documentation, or updating the performance characteristics of a system

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                         52                         LAUNCH VEHICLE ANIMATION

                             13. SCREENSHOTS

                               Fig 6. Before ignition

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                               53                         LAUNCH VEHICLE ANIMATION

                                Fig 7. Initial screen

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                               54                    LAUNCH VEHICLE ANIMATION

                                  Fig 8. Liftoff

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                          55                        LAUNCH VEHICLE ANIMATION

                                 Fig 9. Pitch starts

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                              56                               LAUNCH VEHICLE ANIMATION

                          Fig 10. Strap on motor separation

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                     57                         LAUNCH VEHICLE ANIMATION

                             Fig 11. Vehicle movement

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                               58                        LAUNCH VEHICLE ANIMATION

                              Fig 12. PS1 separation

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                              59                             LAUNCH VEHICLE ANIMATION

                           Fig 13. Heat shield separation

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                   60                      LAUNCH VEHICLE ANIMATION

                                 Fig. 14 grid view

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                            61                      LAUNCH VEHICLE ANIMATION

                                Fig 15. Graph view

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                            62                                   LAUNCH VEHICLE ANIMATION

                   14. SCOPE OF FUTURE ENHANCEMENT

          In future all the launch will be tested by using the animated model of launch vehicle.
   The animation would provide the exact simulation of actual vehicle and various situations
   can be studied before the actual rocket is launched. In future system the data will be encoded
   before transmitting, to provide better security. In future better animation software and
   graphic library would provide better simulation of environment and vehicle.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                             63                                   LAUNCH VEHICLE ANIMATION

                                     15. CONCLUSION

      With increasing number of rocket launch and demand for better and cheaper launch
   vehicle, the animation of launch vehicle would provide better and efficient mechanism for
   testing the launch vehicle before they are actually launched. With the help of this project we
   will be able to check all the situations and take corrective measures to avoid any errors
   during launch.

      Many more advancements are possible in the field of launch vehicle animation; we
   believe that the project will provide the basic model for the enhancement of existing
   technology in future.

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                             64                          LAUNCH VEHICLE ANIMATION

                             16. BIBILIOGRAPHY

1. MFC C++ Classes                   by Shirley Wodtke bpb publications

2. VC++ ,COM and Beyond              by Yashwant kanetkar bpb publications

3. OpenGL SuperBible                 by Richard .S.Wright TechMedia Publications

4. Computer Graphics using OpenGL    by F.S.Hill ,Jr PEARSON Edducation

5. Teach Yourself UML                by Joseph Schmuller TechMedia

6. Teach Yourself VC++ In 21 Days    by Davis Chapman

7. Using OpenGL In Visual C++        by Alan Oursland

8. OpenGL Windows Tutorial           by Jeff Molofee

DEPT. OF COMPUTER SCIENCE AND ENGINEERING                                                    65

Shared By: