Cloud Compiler

Published on May 2016 | Categories: Documents | Downloads: 42 | Comments: 0 | Views: 289
of 16
Download PDF   Embed   Report

Cloud compile report

Comments

Content

1.1. Purpose
At the time of learning languages like C, C++, Java … Etc. The beginners had number of problem like to install compilers at desktop-pc. Some time student had to face the problem of configuring the compiler. So that they can’t get execute the program successfully. And other problem is that if the users want to compile program on any other system they require again all processing to install and configuration problem. To solve these entire problems I am thought of designing an online compiler to execute the program on different type of source code by one editor. And also a well configured compiler providing services by servers. Simply to create a common server for different programming language. To create a common interface for all programming language. An online compiler has the same basic functionality as a conventional compiler, however with one significant difference: all of a project or application's source code is stored and executed online via a web browser. Storing and executing source code online significantly reduces both the hardware and the software required by programmers when working on any given project. Modern online compilers are still somewhat limited in their capabilities when compared to conventional compilers, however today's online compilers are capable of compiling Java, C Sharp (programming language), VB.net, C, HTML and C++. It gives benefits in mobility i.e., the primary purpose behind the development of online compilers is the mobility that they provide to programmers. This is only because of it require only a web browser and internet connection to access and edit code. This is in contrast to conventional compilers which require programmers to set up and store their code on a single computer. It can be access from anywhere using any device which has an internet connection. It can also give the benefits to share our logic or code and do not have installation procedure i.e., you can spend your time on what really matters – the programming itself.

2.2.1. Existing System
The users need to create the source files locally and compile them through separate editors / compilers. The compiling procedure is different for different language. The user needs to know the procedure in advance. At the time of installation, we need to be aware of the hardware and software requirements. When the existing hardware didn't meet the specification, we will not be able to install the product. When the latest version is released by the company, user needs to upgrade the existing product to get the new features. User need to install multiple language compilers for compiling different language. Now a day, these compilers are much costly. In the case of company, they may need to buy a number of same language compilers. Currently many companies using the pirated products. Now Windows make strict rules against the use of pirated versions. Limitations of existing system is      High cost Need individual compiler to be installed in the client machine. Confusing procedure. Large hardware requirements. Large software requirements

2.2.2. Proposed System
“Global Application Development Server” is planned in order for the client to compile the source code of multiple language in one server so that it need only a common client interface for creating program in any language and a cost factor also reduced since it using only a single compiler for the entire network. The project entitled “GADS” is a new approach that implements a common server for different programming languages like JAVA, C# and VB, C and Cpp, HTML. Global application development server is based on a system level application software project. This software deals with the globalization of multiple compilers. This project is actually a distributed application software project. Features include:   Need only a common client interface for creating programs in any language. Mobility: - Can access it from anywhere via internet connection.

   

The cost factor is reduced, when using a single compiler for the entire network. Platform independent. The overall application is distributed, but the control is centralized, which increases the efficiency of the overall system. Can Develop Desktop / Web client.

2.3. Product Functions
As the name implies it is global. The main objective of global application development server is- to overcome the disadvantages of existing compilers. The application used to create a very user friendly and an easier way to use compilers as compared with existing compilers. It is actually a learning environment. Actually this application is an enhancement for existing compilers installed for each language. System level software’s are used in a website. Main benefit is that it can access form anywhere with a device which has an internet connection. Can you log into your online compiler with your Smartphone or tablet, and edit your code? Absolutely. It might seem a bit awkward to consider writing code on your iPhone or BlackBerry, with an online IDE, you can log in with your Smartphone, write code and test logic or syntax, edit the code, and have it sent off to all viewers in a matter of minutes. The major functions of this project are: The system can automatically find out the compiler server. After creating the source application, the user needs to press execute button in order to compile the file and execute. The remote host compiles the file at its own location, and the result is send back to the client. Programs can be downloading from an application. And also save for future purpose to every user. The main functional modules of the desired application are user management and GADS editor. User management module is handled by the admin. Online compiling is the one of the important feature of this application. GADS editor is used with two types of users, authorised and unauthorised. Authorised users have a little more advantage than unauthorised users.

2.3.1. User Management
In this module, administrator can list the existing users. An admin can deactivate the user form further uses. After deactivating, user can’t login into the Global Application Development Server site but their profile is still active. When user firstly login in to

application then they are in an activate state. Admin can delete, view all programs of each user and check it. Users can save programs to their profile. But it is visible only after activating by admin. Admin can also set programs as visible to everyone for future reference. Why admin do all these things is because, application wants to show the standard logic to everyone.

2.3.2. Application Development Editor
This is an important feature of this application. Two users can use this functional module, Unauthorized and authorized .An unauthorized user can directly use the online compiler facility with execute, download and referring examples. They can select the language and type the program in an editor. They can compile and run by clicking the execute button. There are 3 results show in an output editor. One is the filename which is getting as result of file generate, second is the filename which is getting as result of compiled file and third is an executed result. Programs can be downloading from an application. They can also view example programs of the corresponding language which is written by other user. An authorized user is firstly login and goes to the language selection process. After selecting a language, just typing corresponding programs and click an execute button. After clicking an execute button, they can get the result, download the program and save that program to their own profile. These programs are list in their profile as ' My Programs’. They can also view other programs from an example list.

2.4. User Classes and Characteristics
Every web application can have lot of user classes, like admin, students, normal users etc. We can find number of web application in the market place. Most of them are very useful and used for all ours need. And they are only works along with internet. This is also used with an internet connection. But this is just an implementation of new trend in the programming field. We cannot clearly classify the user classes of our application. We can implement this java web application for normal users who have device which has internet connection. There are few primary users of GADS application, and they are given below:

2.4.1. Administration

An administration module consists of a user management system. The different users of this system are confirmed by the administrator. The users can subscribe the system in language basis. The administration module deals with all the administrative tasks. The administrator module consists of user management.

2.4.1.1. User Management
In this module, administrator can list the existing users. An admin can deactivate the user form further uses. After deactivating, user can’t login into the Global Application Development Server site but their profile is still active. When user firstly login in to application then they are in an activate state. Admin can delete, view all programs of each user and check it. Users can save programs to their profile. But it is visible only after activating by admin. Admin can also set programs as visible to everyone for future reference. Why admin do all these things is because, application wants to show the standard logic to everyone.

2.4.2. User
User mainly interacts with the 3 modules. User may be a student or a learner or a beginner of the programming language or high level programmer.

2.4.2.1. Registration Module
When a new user comes, he/she need to register in the application. Registered user can login in to the application and goes to the language selection process. After selecting a language, just typing corresponding programs and click an execute button. After clicking an execute button, they can get the result, download the program and save that program to their own profile. These programs are list in their profile as ' My Programs’. They can also view other programs from an example list.

2.4.2.2. Login Process Module
A registered user can login in to this application. User is interacting with user interface. When the user login or logout, status is updated.

2.4.2.3. Source Editor Module
When user login in to the software, he is directed to the user interface source editor window. This window is like a text editor. Here there are so many options. They can initiate different actions such as: 2.4.2.3.1. Select the language:-

The user can select the different language options. Currently the application includes java, C#, VB, HTML, C and C++. When the user selects the language, its corresponding skeleton is displayed. The different language has different skeletons. 2.4.2.3.2. Make the source code:After getting the skeleton user can make their source code. User can write and view example source code also. 2.4.2.3.3. Compile the code using multiple language compilers:After creating the source code user needs to compile it. According to the language they selected, the language compiler also changed. When the user press the execute button the server automatically finds the corresponding language compiler and compiles it at its own location. 2.4.2.3.4. View the result:After compilation, the result will be displayed on the result section of the editor. If there is any error the error message will be displayed. 2.4.2.3.5. View the errors:The error messages are displayed for the user. According to the user, can make the changes in the source code and execute again. 2.4.2.3.6. Download and save the compiled code:If there is no error, user can press the download button. So the user can refer the program in no internet access. When the user press download button, it will show the various destination options to which the downloaded file will store. So the user can choose the destinations for saving the code. So user can identify them by referring the extensions. 2.4.2.3.7. Save code:Executed code is saved to each users profile by clicking’ save to my programs’. This is only visible after admin activating it.

3.1

Requirement Specification

The Requirement Specification will provide a detailed description about the hardware and software requirement needed for the global application development server. The clear understanding of the global application development server and its functionality will allow for the correct application to be developed for the end user and will be used for the development of the future stages of the project. The requirement of the application found to an application which is more user friendly and should have minimum user functionalities. To create a good application we will have to achieve some hardware and software specification. Without a proper hardware and software platform we cannot make this application. The description about hardware and software platform needed in the application development process as follows.

3.1.1 Hardware Specification
The hardware configuration for developing the GADS application is as follows. Processor Clock Speed Main Memory Disk Storage Monitor Key Board : : : : : : Pentium IV or above 800 MHz 256 MB RAM 80 GB SVGA Color 108 Keys 52 x max

Compact Disk Drive :

3.1.2 Software Specification
This is important to specify the software applications that are used in this global application development server. The core of the application is java supported environments and its technical application platforms. The software configuration for developing the global application development server as follows. Operating System Front End Tools used Software Guides Database : : : : : Windows XP or above NetBeans IDE, Java language JSP, java Script, Ajax Complete Java Library MySQL

Design Tools

:

Dreamweaver

3.1.3 Software Description
Java Language Java is general-purpose, concurrent, class-based, object-oriented computer programming language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere", meaning that code that runs on one platform does not need to be recompiled to run on another. Java applications are typically compiled to byte code (class file) that can run on any Java virtual machine (JVM) regardless of computer architecture. Java is, as of 2013, one of the most popular programming languages in use, particularly for client-server web applications, with a reported 10 million users. In our project we decided to develop the application using java language. Because java language have an abundant collection of inbuilt functions termed as java library. Using this java library it is to develop a web application. One characteristic of Java is portability, which means that computer programs written in the Java language must run similarly on any hardware/operating-system platform. This is achieved by compiling the Java language code to an intermediate representation called Java byte code, instead of directly to platformspecific machine code. Java byte code instructions are analogous to machine code, but they are intended to be interpreted by a virtual machine written specifically for the host hardware. End-users commonly use a Java Runtime Environment - JRE installed on their own machine for standalone Java applications, or in a Web browser for Java applets. Java can provide system supports too. If a system needs java support we need to install the JDK to the corresponding system. A major benefit of using byte code is portable. Java languages also object oriented language. As compare with many other languages java provides more security and platform independence. Java is open source software packages. Every day the java library are updating with new methods and listeners. Java applications are typically compiled to byte code (class file) that can run on any Java virtual machine regardless of computer architecture. NetBeans IDE NetBeans is an integrated development environment (IDE) for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5. It is also an application platform framework for Java desktop applications and others. The NetBeans

IDE is written in Java and can run on Windows, OS X, Linux, Solaris and other platforms supporting a compatible JVM. The Net Beans Platform allows applications to be developed from a set of modular software components called modules. Applications based on the NetBeans Platform (including the NetBeans IDE itself) can be extended by third party developers. NetBeans IDE 6.0 introduced support for developing IDE modules and rich client applications based on the NetBeans platform, a Java Swing GUI builder,

improved CVS support, Web Logic 9 and JBoss 4 support, and many editor enhancements. NetBeans IDE 6.5, released in November 2008, extended the existing Java EE features. NetBeans IDE 6.8 is the first IDE to provide complete support of Java EE 6 and the GlassFish Enterprise Server v3. NetBeans IDE 6.9, released in June 2010. NetBeans IDE 7.0 was released in April 2011. On August 1, 2011, the NetBeans Team released NetBeans IDE 7.0.1, which has full support for the official release of the Java SE 7 platform. NetBeans IDE 7.3 was released in February 2013 which added support for HTML5 and web technologies. NetBeans IDE 7.4 is currently in final testing and expected later in 2013. MySQL MySQL is the world's most popular open source database software, with over 100 million copies of its software downloaded or distributed throughout its history. With its superior speed, reliability, and ease of use, MySQL has become the preferred choice for Web, Web 2.0, SaaS, ISV, Telecom companies and forward-thinking corporate IT Managers because it eliminates the major problems associated with downtime, maintenance and administration for modern, online applications. MySQL Values       The best and the most-used database in the world for online applications Available and affordable for all Easy to use Continuously improved while remaining fast, secure and reliable Fun to use and improve Free from bugs

4.4

UML Diagrams

Unified Modeling Language - UML is a standardized, general-purpose modeling language in the field of software engineering. As compared with data flow diagram the Unified Modeling Language includes a set of graphic notation techniques to create visual models of objectoriented software-intensive systems. In DFD the methodology only provides the flow data between elements. Using UML diagrams we can effectively represents the structure of the desired GADS application. The standard UML diagrams are classified into nine diagrams. These diagrams represent the same idea in different way. So there is no need to represent the same concept in different pattern. However, here we using important UML diagrams like input/output diagram, sequence diagram and activity diagrams. In GADS application perspective the UML diagrams are good to convey the structure of the application. The desired application is rely on to a web having different users. And also the web application that we created using this GADS application may facilitate different compilers and users too. So we can’t describe these actives using a DFD. In GADS project presentation here we are using an UML activity diagram for representing functional modules and their activities. The activities that are mentioned in the GADS

application are represented in the UML activity diagram. The functioning of the admin module was depicted using an UML sequence diagram. Sequence diagram clarifies the each function in the admin module sequentially. The functioning of user module was also depicted using UML sequence diagram. The main activity in the user module is coding the data in the editor. This is clearly represented in a user module sequence diagram. A class diagram in the Unified Modeling Language is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, methods, and the relationships among objects. The classes, methods and the operation of them in the GADS web application project was depicted using UML class diagram. So we can conclude that UML diagram is better to depict the system design as compared with data flow diagram. It is important to distinguish between the UML model and the set of diagrams of a system. A diagram is a partial graphic representation of a system's model. The model also contains documentation that drives the model elements and diagrams. UML diagrams represent two different views of a system model. They are Static and dynamic model. Static or structural view: emphasizes the static structure of the system using objects, attributes, operations and relationships. The structural view includes class diagrams and composite structure diagrams. Dynamic or behavioural view: emphasizes the dynamic behaviour of the system by showing collaborations among objects and changes to the internal states of objects. This view includes sequence diagrams, activity diagrams and state machine diagrams. Global application development server UML Activity diagram

It is clear from the activity diagram the project has two design module and each module carrying several functional modules. The operations among these modules works as depicted in the diagram. In GADS application the admin initiate the authentication. After the end of whole communication purpose the admin and users can logout from the website. GADS web application Admin sequence diagram

The admin can establish the connection towards the online compiler with the help of internet connectivity. And also admin has the power to block or unblock the other users from the web site. Then admin can withdraw the existing users without prior notification. Admin can view programs, test it and set as public.

GADS web application User sequence diagram

Users are main goal of desired application. They can select the language and type the program in the editor. They can compile and run by clicking the execute button. Programs can be downloading from an application. They can also view example programs of the corresponding language which is written by other user. An authorized user is firstly login and goes to the language selection process. After selecting a language, just typing corresponding programs and click an execute button. After clicking an execute button, they can get the result, download the program and save that program to their own profile. These programs are list in their profile as ' My Programs’. They can also view other programs from an example list.

4.5. Table Design
Tbl_Login   Field Id Username Password Type This table is used for login Primary key: Id Type Int Varchar Varchar Varchar Size 11 25 25 5 Description Login id Username used for login Password used for login User or Admin

Tbl_userdetails    This table is used for store user details who has register. Primary key: Id Foreign key: Login_id, references tbl_Login

Field Id Login_id Name

Type Int Int Varchar

Size 11 11 50

Description Id of user details Id of login table Name of the registered user

Address

Varchar

100

Address of the registered user

Country

Varchar

50

Country of the registered user

Phone

Bigint

20

Phone number of the registered user

Activate

Varchar

5

Whether admin activate or deactivate user

Tbl_userPrograms

   Field Id

This table is used for store user program details who has register. Primary key: Id Foreign key: Login_id, references tbl_Login Type Int Size 11 Description Id of the user programs table

Login_id

Int

11

Id of the tbl_login table

programName

Varchar

50

Name of the program user saved

Activate

Varchar

5

Whether admin activates the program or not

Tbl_country   Field Id Country This table is used for add name of the country for registration purpose. Primary key: Id Type Int Varchar Size 11 25 Description Id of tbl_country table Name of the country Which is to be present in sign up page

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close