Contenu connexe
Similaire à Eclipse & java based modeling platforms for smart phone (20)
Plus de IAEME Publication (20)
Eclipse & java based modeling platforms for smart phone
- 1. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 2, March – April (2013), © IAEME
260
ECLIPSE & JAVA BASED MODELING PLATFORMS
FOR SMART PHONE
Prof. P.L.Ramteke1
, Dr.D.N.Chaudhari2
1
Associate Professor & Head, Department of Information & Technology,
HVPM’s College of Engineering & Technology, Amravati Maharashtra State, INDIA
2
Professor & Head, Department of Computer Science & Engineering,
Jawaharlal Darda Institute of Engg. & Technology, Yavatmal, Maharashtra, INDIA
ABSTRACT
Eclipse Modeling Framework (EMF) designed especially for models. Eclipse is a
platform for building integrated development environments (IDEs) for Java and C
programming, websites and other applications. EMF may use for reducing misunderstanding
between the customer and development team. Models provide a higher level of abstraction
than source code and decrease complexity. The business experts can collaborate directly on
the model with developers, rather than communicating through requirements documentation.
Model increases the development speed and even more importantly, it increases the
implementation quality. The technological stability is an important cornerstone of the project
and has attracted many tools and frameworks developers to adopt the Eclipse Modeling
Technology. The Eclipse platform is Java-based, but not restricted to Java. C/C++ and Cobol
IDEs are being developed. The Eclipse is to provide an IDE that can constantly evolve and
adapt. It has some built-in technology, but relies on plug-in tools from software suppliers to
address different tasks. It supports repository-based team development, and makes use of
open, widely accepted technologies such as Unified Modeling Language, Apache Ant, GTK
toolkit for GUIs, Tomcat etc. The Eclipse Integrated Development Environment (IDE) is
essential for creating your Android apps.
Keywords: Eclipse modeling framework, Class, object, IDE, Java Class libraries, Smart
phone
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING
& TECHNOLOGY (IJCET)
ISSN 0976 – 6367(Print)
ISSN 0976 – 6375(Online)
Volume 4, Issue 2, March – April (2013), pp. 260-266
© IAEME: www.iaeme.com/ijcet.asp
Journal Impact Factor (2013): 6.1302 (Calculated by GISI)
www.jifactor.com
IJCET
© I A E M E
- 2. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 2, March – April (2013), © IAEME
261
1. INTRODUCTION
Increase productivity by generating high-quality code from models. In Model Driven
Engineering (MDE) applications are defined by models, enabling code to be automatically
generated through a higher level of abstraction than source code [9].Eclipse in programming
is a multi-language software development environment consisting a base workspace and an
extensible plug-in system for customizing the environment. It is written mostly in Java. It can
be used to develop applications in Java and various plug-ins. Development environments
include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++
and Eclipse PDT for PHP, among others [4].
The Eclipse Foundation has announced the release of Eclipse Indigo, a combination
of 62 projects with combined total of 46 million lines of code between them. The
simultaneous release allows all projects to standardize on a particular set of dependencies;
useful when later projects depend on earlier ones.
New projects in Indigo include: Maven integration (M2E) which provides tight
integration with Maven development process. Eclipse Scout an enterprise framework and
SDK for building distributed applications. Jubula is an automated functional testing tool for
Java and HTML-based applications. Window Builder is a drag-and-drop GUI editor for Java
which was donated by Google. Graphiti is a graphical tooling infrastructure for EMF based
models. The release of Eclipse 3.7 concludes decade long tradition of shipping on time, as
expected. Indigo Eclipse 4.1 is also released. The Eclipse 4.x stream known as E4 is
revisiting of core Eclipse model to move away from Eclipse extension registry and towards
dynamic OSGi services, coupled with dependency injection to make those services available.
The goal of E4 is to provide new way of wiring up components and decouple the user
interface implementation from its representation. In conjunction with E4 is Eclipse Orion 0.2,
fully web-hosted IDE which uses JavaScript plug-ins to do real-time editing in web browser.
The Eclipse project has shown that it is possible to manage a project by feature variation.
2. ECLIPSE PLATFORM
The Eclipse Platform uses plug-ins to provide all functionality within and on top of
the runtime system in which functionality is hard coded. It refers to the software development
practice of embedding regarded as input data directly into the source code of programmer.
The Eclipse Platform's runtime system is based on Equinox which is module runtime that
allows developers to implement an application as a set of "bundles" using common services
and infrastructure. The Open Services Gateway initiative (OSGi) framework is a module
system and service platform for Java programming language that implements a complete and
dynamic component model. Application life cycle management is done via APIs that allow
for remote downloading of management policies. The service registry allows bundles to
- 3. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 2, March – April (2013), © IAEME
262
detect the addition of new services and adapt accordingly. The OSGi specifications have
moved beyond the original focus of service gateways and are used in applications ranging
from mobile phones to the open source Eclipse IDE [5].
This plug-in mechanism is lightweight software component framework. The plug-in
architecture supports writing any desired extension to the environment such as for
configuration management. Java and CVS support is provided in Eclipse SDK. Eclipse
provides plug-ins for wide variety of features, some of which are through third parties using
both free and commercial models. Examples of plug-ins include UMLplug-in for Sequence
and other UML diagrams. The Eclipse SDK includes Eclipse Java development tools. This
allows for advanced refactoring techniques and code analysis. Eclipse implements widgets
through widget toolkit for Java called SWT, unlike most Java applications, which use Java
standard Abstract Window Toolkit (AWT). Eclipse's user interface uses an intermediate
graphical user interface layer called JFace, which simplifies the construction of applications
based on SWT.
2.1 RICH CLIENT PLATFORM
Eclipse provides the Rich Client Platform for developing general purpose
applications. The following components constitute rich client platform: Equinox OSGi – a
standard bundling framework. Core platform – boot Eclipse, run plug-ins. A plug-in is a set
of software components that adds specific abilities to larger software application. If
supported, plug-ins enables customizing the functionality of an application. For example
Adobe Flash Player, QuickTime, and Java Applets [6].
The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the
Java platform. It was originally developed by Stephen North over at IBM and is now
maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to
the Abstract Window Toolkit (AWT) and Swing Java GUI toolkits provided by Sun
Microsystems as part of the Java Platform, Standard Edition.
To display GUI elements, the SWT implementation accesses the native GUI libraries
of the operating system using JNI (Java Native Interface) in a manner that is similar to those
programs written using operating system-specific APIs. Programs that call SWT are portable,
but the implementation of toolkit, despite part of it being written in Java, is unique for each
platform [7]
• JFace – viewer classes to bring model view controller programming to SWT, file
buffers, text handling, text editors
• JFace is defined by the Eclipse project as "a UI toolkit that provides helper classes for
developing UI features that can be tedious to implement [8]
• Eclipse Workbench – views, editors, perspectives, wizards
2.2 SERVER PLATFORM
Eclipse supports development for Tomcat, GlassFish and many other servers and is
often capable of installing the required server (for development) directly from the IDE. It
supports remote debugging; allowing the user to watch variables and step through the code of
an application that is running on the attached serve. Apache Tomcat is an open source web
server and servlet container developed by the Apache Software Foundation (ASF). Tomcat
implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun
- 4. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 2, March – April (2013), © IAEME
263
Microsystems and provides a "pure Java" HTTP web server environment for Java code to
run. Apache Tomcat includes tools for configuration and management, but can also be
configured by editing XML configuration files [6]. Glassfish is an open-source application
server project started by Sun Microsystems for the Java EE platform and now sponsored by
Oracle Corporation. Glassfish is free software, dual-licensed under two free software
licenses: the Common Development and Distribution License (CDDL) and the GNU General
Public License. Glassfish is based on source code released by Sun and Oracle Corporation's
Top Link persistence system. It uses a derivative of Apache Tomcat as the Servlet container
for serving Web content, with an added component called Grizzly which uses Java New I/O
(NIO) for scalability and speed [10].
3. WEB TOOLS PLATFORM
The Eclipse Web Tools Platform (WTP) project is an extension of the Eclipse
platform with tools for developing Web and Java EE applications. It includes source and
graphical editors for a variety of languages, wizards and built-in applications to simplify
development, and tools and APIs to support deploying, running, and testing apps [11].
4. MODELING PLATFORM
The Modeling project contains all the official projects of the Eclipse Foundation
focusing on model-based development technologies. They are all compatible with the Eclipse
Modeling Framework created by IBM. Those projects are separated in several categories:
Model Transformation, Model Development Tools, Concrete Syntax Development, Abstract
Syntax Development, Technology and Research, and Amalgam: It provides the packaging
and integration between all the available modeling tools for the Eclipse package dedicated to
modeling tools.Java is a programming language in use, particularly for client-server web
applications, with a reported 10 million users. The original and reference implementation
Java compilers, virtual machines and class libraries were developed by Sun from 1991 and
first released in 1995. Others have also developed alternative implementations of these Sun
technologies, such as the GNU Compiler for Java and GNU Class path.
4.1 PRINCIPLES & PRACTICES OF JAVA
There were five primary goals in the creation of the Java language:
1. It should be "simple, object-oriented and familiar"
2. It should be "robust and secure"
3. It should be "architecture-neutral and portable"
4. It should execute with "high performance"
5. It should be "interpreted, threaded, and dynamic"
4.2 JAVA PLATFORM
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 platform-specific machine code. Java byte code instructions
- 5. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 2, March – April (2013), © IAEME
264
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 Java Runtime
Environment (JRE) installed on their own machine for standalone Java applications, or in a
Web browser for Java applets. Standardized libraries provide a generic way to access host-
specific features such as graphics, threading, and networking. A major benefit of using byte
code is porting. However the overhead of interpretation means that interpreted programs
almost always run more slowly than programs compiled to native executables would. Just-in-
Time compilers were introduced from an early stage that compiles byte codes to machine
code during runtime.
Syntax
The syntax of Java is largely derived from C++ which combines the syntax for
structured, generic, and object-oriented programming; Java was built almost exclusively as an
object-oriented language. All code is written inside a class and everything is an object with
the exception of primitive data types.
Examples “Hello world”
The traditional Hello world program can be written in Java as:
class HelloWorldApp {
public static void main(String [] args) {
System.out.println ("Hello World!"); // Display the string.
}
}
Source files must be named after the public class they contain, appending the suffix .java, for
example, HelloWorldApp.java. It must first be compiled into byte code, using Java compiler,
producing file named HelloWorldApp.class. Only then can it be execute. The Java source file
may only contain one public class, but it can contain multiple classes with other than public
access and any number of public inner classes. A class is not declared public may be stored in
any .java file. The compiler will generate a class file for each class defined in the source file.
The name of class file is the name of class, with .class appended. For class file generation,
anonymous classes are treated as if their name were concatenation of the name of their
enclosing class, $, and an integer. The keyword public denotes that method can be called
from code in other classes, or that a class may be used by classes outside the class hierarchy.
The class hierarchy is related to the name of directory in which the .java file is located. The
keyword static in front of method indicates static method, which is associated only with the
class and not with any specific instance of that class. Only static methods can be invoked
without reference to an object. Static methods cannot access any class members that are not
also static. The keyword void indicates that main method does not return any value to the
caller. If a Java program is to exit with an error code, it must call System exit () explicitly.
The method name "main" is not a keyword in Java language. It is simply the name of method
the Java launcher calls to pass control to program. Java classes that run in managed
environments such as applets and Enterprise Java Bean do not use or need a main () method.
A Java program may contain multiple classes that have main methods.
- 6. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 2, March – April (2013), © IAEME
265
5. CLASS LIBRARIES
The Java Class Library is the compiled byte codes of source code developed by the
JRE implementor to support application development in Java. Examples of these libraries are:
5.1 THE CORE LIBRARIES - which include: Collection libraries that implement data
structures such as lists, dictionaries, trees, sets, queues and double-ended queue, or stacks,
XML Processing libraries, Security, Internationalization and localization libraries
5.2 THE INTEGRATION LIBRARIES- which allow the application writer to
communicate with external systems. These libraries include: The Java Database Connectivity
(JDBC) API for database access, Java Naming and Directory Interface (JNDI) for lookup and
discovery. RMI and CORBA for distributed application development, JMX for managing and
monitoring applications
5.3 USER INTERFACE LIBRARIES- which include: The Abstract Window Toolkit
(AWT), which provides GUI components, the means for laying out those components and the
means for handling events from those components, The Swing libraries, which are built on
AWT but provide implementations of the AWT widgetry, APIs for audio capture, processing,
and playback
ACKNOWLEDGMENT
We wish to acknowledge the 3G and 4G based mobile manufacturing companies for
the distribution of mobile specifications on internet and their android utility in the world
view. We are also thankful to all the authors’ reference over here for their valuable
contribution in their books and papers that help us to study in details.
RFERENCES
[1] Scarpino, Matthew; Holder, Stephen; Ng, Stanford; Mihalkovic, ‘Laurent SWT/JFace in
Action: GUI Design with Eclipse 3.0’, Manning Publications, pp. 496, ISBN 1-932394-27-3
,first edition, November 28, 2004
[2]Li Guojie, Jackwind, ‘Professional Java Native Interfaces with SWT/Jface’, Wrox Press,
pp. 528, ISBN 0-470-09459-1, first edition, February 11, 2005
[3]Harris, Robert; Warner, ‘The Definitive Guide to SWT and JFACE’, Apress, pp. 684,
ISBN 1-59059-325-1, first edition, June 21, 2004
[4]Katherine Sierra, Bert Bates, ‘SCJP Sun Certified Programmer for Java 5 Study Guide’,
(Exam 310-055) (Certification Press Study Guides), McGraw-Hill, 21 December, 2005
[5]Cay S. Horstmann, ‘Java Concept’, Publisher John Wiley & Sons,04 January,2005
[6]Jeff McAffer and Jean-Michel Lemieux,’ Eclipse Rich Client Platform: Designing,
Coding, and Packaging Java Applications’, October 2005
[7]Richard Gronback, ’Eclipse Modeling Project: A Domain-Specific Language (DSL)
Toolkit’, April 2009
[8]Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks,‘EMF: Eclipse
Modeling Framework’, 2nd Edition,January 2009
[9] http://en.wikipedia.org/wiki/Apache_Tomcat
- 7. International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-
6367(Print), ISSN 0976 – 6375(Online) Volume 4, Issue 2, March – April (2013), © IAEME
266
[10] http://en.wikipedia.org/wiki/GlassFish
[11] "Eclipse Web Tools Platform Project". http://eclipse.org/: Eclipse. Retrieved 2 May
2011
[12] Eclipse programmer's guide entry on Jface
[13] Ms.G.C.Priya, Ms.G.Gayathri and Ms.R.Parameswari, “Monitoring System Using Smart
Phones” International journal of Computer Engineering & Technology (IJCET), Volume 2,
Issue 1, 2011, pp. 1 - 8, ISSN Print: 0976 – 6367, ISSN Online: 0976 – 6375.
BIOGRAPHY
Prof. P.L.Ramteke1
is Associate Professor & Head of Department of
Information Technology. He has completed Bachelor & Master Degree of
Engineering in Computer Science & Engineering from SGB Amravati
University Amravati. He has obtained M.Phil in Computer Science and
persuing Ph.D in Mobile Technology. He is member of various technical
institutions like MIE, LMISTE, and LMIAPT etc. He has published
various research papers in journals.His research interests include Mobile Computing &
software Engineering.
Dr.D.N.Choudhary2
is Professor & Head of Department of
Computer Science & Engineering at Jawaharlal Darda Institute of
Engineering & Technology, Yavatmal. He is Master of Engineering
in Computer Science & Engineering and Ph.D in Computer Science
He is Ph.D supervisor in Computer Sci. & Engineering at SGB
Amravati University, Amravati (Maharashtra)-INDIA and member of
various National & International technical Institutions like ISTE, IEI
etc .He has published many research papers in various National, International reputed
Journals.