An Example Presentation - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

An Example Presentation

Description:

... reuse (e.g. Help UI, Update Manager, Cheat Sheets, Intro, etc. ... Java code in a Java Archive ... at Eclipse Plug-in Central www.eclipseplugincentral.com ... – PowerPoint PPT presentation

Number of Views:209
Avg rating:3.0/5.0
Slides: 29
Provided by: cliveto
Category:

less

Transcript and Presenter's Notes

Title: An Example Presentation


1
Benefits of
for Testing
I
Ian Gilchrist, IPL
2
Eclipse and Testing
  • Ian Gilchrist, Software Products Mngr, IPL
  • Ian.gilchrist_at_ipl.com
  • IPL is a Bath-based software house
  • 250 software engineers
  • Mainly bespoke software development
  • Produce and market own software testing tools
  • Cantata (for C, C, and Java)
  • AdaTEST 95 (for Ada)
  • We have been using Eclipse since 2005

3
Overview
  • What is Eclipse?
  • Brief summary of community, pillars and projects
  • Eclipse resources that impact device deployment /
    testing
  • Commercial IDEs
  • Plug-ins relevant to testing
  • More information
  • Main advantages of Eclipse
  • For vendors and users
  • C a unit / integration test tool
  • What it does and why Eclipse helps
  • Product demo on current Europa release

4
What is Eclipse?
A open development platform Eclipse is an open s
ource community whose projects are focused on
building an open development platform comprised
of extensible frameworks, tools and runtimes for
building, deploying and managing software across
the lifecycle.
  • Over 60 open source projects in 7 different
    "pillars"
  • Enterprise Development
  • Embedded and Device Development
  • Rich Client Platform
  • Rich Internet Applications
  • Application Frameworks
  • Application Lifecycle Management (ALM)
  • Service Oriented Architecture (SOA)

5
Relevant Eclipse Projects
  • Device Software Development Platform       
  • Device Debugging          
  • ERCP - Embedded Rich Client Platform         
  • Mobile Tools for Java       
  • Native Application Builder         
  • Target Management       
  • Tools for mobile Linux
  • Test and Performance Tools Platform       
  • Monitoring Tools           
  • Tracing Profiling Tools                      
  • Testing Tools

6
Relevant Eclipse Resources
  • Commercial IDEs
  • QNX Momentics
  • LynuxWorks Luminosity
  • GreenHills MULTI
  • TI Code Composer Essentials
  • Nokia Carbide
  • Wind River Workbench
  • 1000 Plug-ins
  • SCM tools
  • CVS
  • SVN
  • ClearCase
  • Bug tracking tools
  • Bugzilla
  • Trac
  • ClearQuest
  • External editors
  • Emacs
  • Vi
  • SlickEdit
  • Eclipse Platform Releases
  • Yearly (June) simultaneous projects
  • Calisto 06 Europa 07 Ganymede 08
  • Includes CDT

7
Eclipse Rich Client Platform
  • A platform for building applications
  • Minimal set of plug-ins
  • Eclipse RCP for building applications that work
    in conjunction with application servers,
    databases, and other backend resources to deliver
    a rich user experience on the desktop.

8
Why is Eclipse RCP used?
  • COTS Platform Advantages
  • Quick build times (dont have to build everything
    from scratch)
  • Professional and modern looking
  • Native look-and-feel
  • Deployable on multiple platforms
  • Allows developers to focus on their application
    value-add
  • Commercial Advantages
  • RCP components are of high quality, are actively
    maintained, and are open source.
  • Many other Eclipse components available for reuse
    (e.g. Help UI, Update Manager, Cheat Sheets,
    Intro, etc.).
  • Allows development of an open-ended platform

9
Eclipse Platform
  • Eclipse is an open tools platform
  • Designed so that its components could be used to
    build just about any client application up to a
    full IDE
  • UI paradigm is based on editors, views, and
    perspectives
  • Applications and tools are implemented as
    plug-ins

10
Eclipse Plug-ins
  • What is a plug-in?
  • Java code in a Java Archive (JAR) library
  • Some read-only files, and other resources such as
    images, web templates, message catalogs, native
    code libraries, etc.
  • Tool plug-ins
  • Small tools usually a single plug-in, complex
    tools use many grouped in features as a product
  • Thousands of commercial and open source plug-ins
  • What they are used for
  • Check them out at Eclipse Plug-in Central
    www.eclipseplugincentral.com

11
Plug-in Technical Concepts
  • Interconnections
  • Each plug-in has a plug-in manifest declaring its
    interconnections to other plug-ins
  • A plug-in declares any number of named extension
    points, and any number of extensions to one or
    more extension points in other plug-ins.
  • A plug-ins extension points can be extended by
    other plug-ins.
  • Plug-in awareness (declarative wiring)
  • Platform run-time discovers the set of available
    plug-ins, reads their manifests, and builds an
    in-memory plug-in registry
  • Registry holds extension point info without
    activating the plug-in or loading of any of its
    code
  • This property is key to supporting a large base
    of installed plug-ins only some of which are
    needed in any given user session.

12
Plug-in Categories
  • Built on Eclipse
  • Products that include the key components of the
    Eclipse platform. This type of product is able to
    run standalone with no prerequisites of other
    Eclipse components.
  • Eclipse Ready
  • Products that can be added to an existing Eclipse
    based product.

13
Eclipse Integration Levels
  • Highest level
  • Written in Java, using the Eclipse Platform APIs
  • Lowest Level
  • Opens a separate windows in order to communicate
    with the user and must access user data via the
    underlying file system
  • In between
  • The workbench has built-in support for embedding
    any OLE document as an editor (Windows only).
  • A plug-in tool can implement a container that
    bridges the Eclipse Platform API to an ActiveX
    control so that it can be used in an editor,
    view, dialog, or wizard (Windows only).
  • A plug-in tool can use AWT or Swing to open
    separate windows. This option provides loose UI
    integration, but allows tight integration below
    the UI.

14
Other Eclipse technologies
  • WTP
  • Eclipse Web Tools Platform (WTP) project extends
    the Eclipse platform with tools for developing
    Web and Java EE applications.
  • Some interesting sub-projects include
  • The AJAX Toolkit Framework (ATF)
  • JavaServer Faces Tools (JSF)
  • BIRT
  • Business Intelligence and Reporting Tools (BIRT)
    project is a reporting system for web
    applications.
  • Main components are
  • a report designer based on Eclipse,
  • a runtime component that you can add to your
    app server.
  • a charting engine that lets you add charts to
    your own application

15
Eclipse Platform UI Toolkits
  • Eclipse Workbench (IDE)
  • Provides an extensible UI to the user
  • API and implementation are built from two
    toolkits
  • SWT ( Standard Widget Toolkit)
  • mcWidget set and graphics library integrated with
    the native window system but with an
    OS-independent API.
  • JFace
  • mcUI toolkit implemented using SWT that
    simplifies common UI programming tasks.
  • Eclipse SDK (development)
  • Eclipse Platform
  • JDT (Java Development Tools)
  • PDE (Plug-in Development Environment)

16
Eclipse CDT
  • CDT C/C Development Toolkit
  • An extension to the Eclipse platform in the form
    of a plug-in.
  • Operating system independent and open source
  • Provides
  • Editor (syntax highlighting, code assist, code
    templates etc)
  • Debug
  • Project Management
  • Managed Build Mechanism (make)
  • Integrated with GCC compiler toolchain but also
    supporting parallel different programming
    languages
  • Supports designing, coding configuration
    management etc

17
Further Information
  • Eclipse Foundation       
  • www.eclipse.org       
  •    
  • Eclipse Plug-in Central EPIC      
  • www.eclipseplugincentral.com Commercial and
    Free      
  • Conferences and Magazines 

18
Main Benefits of Eclipse
  • Users       
  • Single platform independent IDE          
  • Open source platform with rich built-in features
     
  • Predictable release schedule      
  • Developments in the right areas (enterprise and
    devices)
  • Extensible and compatible plug-in ecosystem
  • Vendors       
  • Tool and plug-in compatibility           
  • Commercial platform for development

19
Specific Benefits for Testing
  • Utilise CDT capabilities for code level testing
             
  • Extended editing of test scripts and source code
  • (AST Abstract Syntax Tree)
  • Project properties
  • Workspace preferences
  • Configurable build tools
  • Plug-in vendor specialisation            
  • Compatibility in development / testing
    toolchains 
  • Build tools
  • Editors
  • SCM Tools
  • Allows best in class plug-in selection of tools

20
Note on Java programming
  • All Plug-ins are written in Java.
  • Java encourages three views
  • Data (can come from files)
  • Presentations (ordering of data)
  • User Interface (can work directly on data or
    request presentations)

Presentation
Data
Data in file(s)
UI User Interface
21
Cantata built on Eclipse
  • Cantata consists of 10 main Eclipse plug-ins
  • Core manages data and presentation layers
  • CDT (IPL) constructs AST (Abstract Syntax
    Tree)
  • Properties sets options (elements in data
    layer)
  • Editor -
  • Load Files - moves data from files to/from data
    layer
  • Test Script Manager generates script for
    editing
  • Invoke a results presentation
  • Test Results Tree
  • Report Viewer
  • Coverage Results Tree
  • Coverage Viewer

22
Cantata built on Eclipse
Cantata
CDT (IPL)
Load
Properties
Editor
Report Tree
Report View
Cov. Tree
Test Script Mngr
Cov. View
23
Cantata and other IDEs
Cantata/ Momentics Plug-in
Other IDE e.g. QNX Momentics
CDT
Cantata
Core
Eclipse
24
Cantata and Eclipse
  • Cantata V5.0 was released in 2006
  • Based on Eclipse 3.2
  • Current Cantata (5.2) was released in 2007
  • Based on Eclipse 3.3
  • Next version of Cantata (5.3) will be released
    in 2008
  • Based on Eclipse 3.4

25
Demonstration

26
Reverse String Demo
  • Specification
  • Takes a character string input, reverses the
    order for the character string return.
  • If a NULL string is received return
  • ERROR no string
  • Calls strlen to get string length and malloc (C)
    or operator new (C) to allocate memory for the
    string. If memory fails return an error string
  • ERROR no memory

27
To the Demo
28
Summary why use Eclipse?
  • These are the main reasons
  • Eclipse offers a convenient, reliable, and
    evolving basis for any tool UI
  • It also contains many features useful for test
    tools
  • Having a tool built-on Eclipse means that it
    can be integrated easily with other similar tools
    e.g. IDEs
  • Cantata needs to work with other suppliers
    tool chains
  • Customers are increasingly demanding an Eclipse
    experience
Write a Comment
User Comments (0)
About PowerShow.com