Top Banner
© 2007 Aonix and The Eclipse Foundation; made available under the Eclipse © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public License v1.0 Public License v1.0 1 Hibachi Hibachi The The Ada Development Tools Project Ada Development Tools Project for Eclipse for Eclipse Tom GROSMAN, Tom GROSMAN, Project Lead Project Lead [email protected] [email protected]
40

SIGAda Hibachi Workshop Presentation

Jan 25, 2015

Download

Technology

Presentation about the Hibachi project, a plugin for Eclipse supporting Ada development.

By Tom GROSMAN. Licensed under the Eclipse Public License v1.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SIGAda Hibachi Workshop Presentation

© 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public License © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public License v1.0v1.0

11

HibachiHibachiTheThe Ada Development Tools Project Ada Development Tools Project for Eclipsefor Eclipse

Tom GROSMAN, Tom GROSMAN, Project LeadProject Lead

[email protected]@aonix.fr

Page 2: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

22

Workshop GoalsWorkshop Goals

Understand EclipseUnderstand Eclipse

Discover HibachiDiscover Hibachi

Grow the Hibachi Grow the Hibachi communitycommunity

Page 3: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

33

Workshop OverviewWorkshop Overview IntroductionIntroduction

– EclipseEclipse– HibachiHibachi

BackgroundBackground– Overview of EclipseOverview of Eclipse– Hibachi projects goals Hibachi projects goals – The Eclipse development process The Eclipse development process – The scope and area of application of Hibachi The scope and area of application of Hibachi

Current Status Current Status – Initial release (Demo)Initial release (Demo)– Development resources in place Development resources in place

Future Direction Future Direction – Development plan Development plan – Future FeaturesFuture Features– Committer PresentationsCommitter Presentations

Expectations, Suggestions, WishlistExpectations, Suggestions, Wishlist– Open Discussion, QuestionsOpen Discussion, Questions

Page 4: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

44

What is Eclipse ?What is Eclipse ?

Eclipse is an Eclipse is an open sourceopen source communitycommunity whose whose projects are focused on building an projects are focused on building an openopen development platform comprised of development platform comprised of extensibleextensible frameworksframeworks, tools and runtimes for building, , tools and runtimes for building, deploying and managing software across the deploying and managing software across the lifecycle. A large and vibrant lifecycle. A large and vibrant ecosystemecosystem of major of major technology vendors, innovative start-ups, technology vendors, innovative start-ups, universities, research institutions and individuals universities, research institutions and individuals extend, complement and support the extend, complement and support the Eclipse Eclipse platformplatform..

Eclipse is much more than a Java IDE ! Eclipse is much more than a Java IDE !

Page 5: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

55

What is Hibachi?What is Hibachi?

Hibachi, an open source project under the Hibachi, an open source project under the EclipseEclipse ToolsTools Project Project is intended to is intended to

Create a Create a standardstandard, , vendorvendor neutralneutral Ada development  Ada development environment for environment for EclipseEclipse that will maintain the look and that will maintain the look and feel of the feel of the CDTCDT and and JDTJDT

Provide a standard Ada environment with which third Provide a standard Ada environment with which third party tool developers can easily work, regardless of party tool developers can easily work, regardless of the choice of underlying compiler technology. Such the choice of underlying compiler technology. Such tools would include, but are not limited to, modeling tools would include, but are not limited to, modeling tools, editor tools, static and dynamic code analysis tools, editor tools, static and dynamic code analysis tools (ex coverage, profiling), refactoring tools, tools (ex coverage, profiling), refactoring tools, configuration management tools.  configuration management tools. 

Page 6: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

66

BackgroundBackground

– Overview of EclipseOverview of Eclipse Eclipse FoundationEclipse Foundation Eclipse PlatformEclipse Platform Eclipse CommunityEclipse Community Eclipse EcosystemEclipse Ecosystem

– Hibachi rationale and goals Hibachi rationale and goals – The Eclipse development process The Eclipse development process – The scope and area of application of The scope and area of application of

Hibachi Hibachi

Page 7: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

77

What is the Eclipse Foundation?What is the Eclipse Foundation?

The Eclipse Foundation is a not-for-profit, member supported The Eclipse Foundation is a not-for-profit, member supported corporation that hosts the Eclipse projects. The Foundation corporation that hosts the Eclipse projects. The Foundation provides services to run the IT infrastructure, IP due diligence, provides services to run the IT infrastructure, IP due diligence, mentor the open source projects during the Eclipse mentor the open source projects during the Eclipse development process and provide marketing and business development process and provide marketing and business development support for the Eclipse community.development support for the Eclipse community.

The Eclipse Foundation does not actually develop the open The Eclipse Foundation does not actually develop the open source code. All of the open source software at Eclipse is source code. All of the open source software at Eclipse is developed by open source developers, called committers, developed by open source developers, called committers, which are volunteered or contributed by organizations and which are volunteered or contributed by organizations and individuals.individuals.

For more information about Eclipse and the Eclipse For more information about Eclipse and the Eclipse Foundation, visit www.eclipse.orgFoundation, visit www.eclipse.org

Page 8: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

88

The Eclipse PlatformThe Eclipse Platform Written in JavaWritten in Java

– Portable Portable Runs on any architecture that has a J2SE VM runningRuns on any architecture that has a J2SE VM running

Freely downloadable from the web via eclipse.orgFreely downloadable from the web via eclipse.org

Extensible via an extension point/plug-in mechanism implemented Extensible via an extension point/plug-in mechanism implemented using robust, well-defined published APIsusing robust, well-defined published APIs– Extension (plugin) may be open sourceExtension (plugin) may be open source– Extension may be proprietaryExtension may be proprietary– Extension may be a combinationExtension may be a combination

Includes several plugins in basic configuration as delivered, such as Includes several plugins in basic configuration as delivered, such as JDT, a top-notch Java Development Toolkit as well as a Java compiler JDT, a top-notch Java Development Toolkit as well as a Java compiler

Best-of-breed functionality available for all to use (example- CVS Best-of-breed functionality available for all to use (example- CVS integration)integration)

Page 9: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

99

The Eclipse platform (cont)The Eclipse platform (cont)

Releases are syncronized so the various platform components Releases are syncronized so the various platform components are compatible and available togetherare compatible and available together

Projects follow Eclipse development methodologyProjects follow Eclipse development methodology(transparency, meritocracy, « code talks »)(transparency, meritocracy, « code talks »)

Projects are open source under Eclipse Public Licence (EPL)Projects are open source under Eclipse Public Licence (EPL)

Uses standard bug tracking via BugzillaUses standard bug tracking via Bugzilla

Community is made up of users, testers, contributers and Community is made up of users, testers, contributers and committers committers

All code is peer reviewedAll code is peer reviewed

Page 10: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

1010

Eclipse Open SourceEclipse Open Source

Over 60 projectsOver 60 projects Over 800 committersOver 800 committers

Eclipse is used for Eclipse is used for

– Enterprise Development Enterprise Development – Embedded and Device Development Embedded and Device Development – Rich Client Platform Rich Client Platform – Application Frameworks Application Frameworks – Application Lifecycle Management (ALM) Application Lifecycle Management (ALM) – Language IDELanguage IDE– ……

Page 11: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

1111

Examples of Eclipse projectsExamples of Eclipse projects

JDT (Java development)JDT (Java development) CDT (C/C++ development)CDT (C/C++ development) Photran (Fortran)Photran (Fortran) UML2UML2 PDE (Plugin Development PDE (Plugin Development

Environment)Environment) Subversive (Configuration Subversive (Configuration

Management)Management) TPTP (Testing/Profiling Tools)TPTP (Testing/Profiling Tools) DSDP (Embedded Development)DSDP (Embedded Development) ……

Page 12: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

1212

RCP - Rich Client RCP - Rich Client PlatformPlatform While the Eclipse platform is designed to serve as an open tools While the Eclipse platform is designed to serve as an open tools

platform, it is architected so that its components could be used to build platform, it is architected so that its components could be used to build just about any client application. The minimal set of plug-ins needed to just about any client application. The minimal set of plug-ins needed to build a rich client application is collectively known as the build a rich client application is collectively known as the Rich Client Rich Client PlatformPlatform. .

Applications other than IDEs can be built using a subset of the platform. Applications other than IDEs can be built using a subset of the platform. These rich applications are still based on a dynamic plug-in model, and These rich applications are still based on a dynamic plug-in model, and the UI is built using the same toolkits and extension points. The layout the UI is built using the same toolkits and extension points. The layout and function of the workbench is under fine-grained control of the plug-and function of the workbench is under fine-grained control of the plug-in developer in this case. in developer in this case.

When we say that the Rich Client Platform is the minimal set of plug-ins When we say that the Rich Client Platform is the minimal set of plug-ins needed to build a platform application with a UI, we mean that your needed to build a platform application with a UI, we mean that your application need only require two plug-ins, application need only require two plug-ins, org.eclipse.uiorg.eclipse.ui and and org.eclipse.core.runtimeorg.eclipse.core.runtime, and their prerequisites. , and their prerequisites.

However, rich client applications are free to use any API deemed However, rich client applications are free to use any API deemed necessary for their feature set, and can require any plug-ins above the necessary for their feature set, and can require any plug-ins above the bare minimum. Examples include the Help UI, and the Update Manager. bare minimum. Examples include the Help UI, and the Update Manager.

Page 13: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

1313

DSDP- DSDP- Device Software Development Device Software Development PlatformPlatform

The Device Software Development Platform The Device Software Development Platform (DSDP) was established as a top-level project (DSDP) was established as a top-level project to make the Eclipse platform more suitable for to make the Eclipse platform more suitable for embedded development. DSDP is supported by embedded development. DSDP is supported by a growing number of vendors to create a a growing number of vendors to create a common open source framework and common open source framework and exemplary tools to enable better integration of exemplary tools to enable better integration of Eclipse plugins from various sources with Eclipse plugins from various sources with target devices, operating systems, and target devices, operating systems, and development tools. Initially, DSDP focuses on development tools. Initially, DSDP focuses on building infrastructure for Target Management, building infrastructure for Target Management, Device Debugging, Mobile Java, and Embedded Device Debugging, Mobile Java, and Embedded GUI's. GUI's.

Page 14: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

1414

The Eclipse CommunityThe Eclipse Community

CommittersCommitters– Devoted developers (at least 50%)Devoted developers (at least 50%)– Write access to code repositoryWrite access to code repository– Nominated and elected by current Nominated and elected by current

committerscommitters– Responsible for project architecture and Responsible for project architecture and

directiondirection– Responsive to community needsResponsive to community needs– A privelege based on participationA privelege based on participation

Page 15: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

1515

ContributorsContributors

Able to contribute via BugzillaAble to contribute via Bugzilla– New featuresNew features– Bug fixesBug fixes– DocumentationDocumentation

Participate in newsgroup, mailing listParticipate in newsgroup, mailing list Add to Hibachi Wiki, FAQs, How-To GuidesAdd to Hibachi Wiki, FAQs, How-To Guides Testers (writing or running tests)Testers (writing or running tests) On path to becoming a project committerOn path to becoming a project committer

Page 16: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

1616

AdoptersAdopters

Use services and extension points Use services and extension points to work with their own “add-on”to work with their own “add-on”

Influence Hibachi architecture Influence Hibachi architecture and directionand direction

May also be committer or May also be committer or contributor contributor

Page 17: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

1717

UsersUsers

End UsersEnd Users May- not even be aware that they May- not even be aware that they

are using Eclipseare using Eclipse– RebrandingRebranding– RCP, eRCPRCP, eRCP

Page 18: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

1818

The Eclipse EcosystemThe Eclipse Ecosystem

Eclipse FoundationEclipse Foundation Eclipse Management OrganizationEclipse Management Organization Eclipse MembersEclipse Members

– Strategic (IBM, Intel, Motorola, WindRiver)Strategic (IBM, Intel, Motorola, WindRiver)– Add-in Provider (AdaCore, DDC-I, EADS, Add-in Provider (AdaCore, DDC-I, EADS,

LynuxWorks, Mentor Graphics, OC Systems,Thales, LynuxWorks, Mentor Graphics, OC Systems,Thales, TimeSys)TimeSys)

– Associate Associate Eclipse ProjectsEclipse Projects Adopter/IntegratorsAdopter/Integrators UsersUsers

Page 19: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

1919

Eclipse PrinciplesEclipse Principles

Open Source Rules of EngagementOpen Source Rules of Engagement Quality CultureQuality Culture Collective ReputationCollective Reputation Eclipse EcosystemEclipse Ecosystem Three CommunitiesThree Communities Clear and ConciseClear and Concise Freedom, Autonomy and EvolutionFreedom, Autonomy and Evolution Just Enough ProcessJust Enough Process

Page 20: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

2020

The Three Laws of The Three Laws of EclipseEclipse(With a nod to Issac Asimov)(With a nod to Issac Asimov)

1.1. A committer may not, through action A committer may not, through action or inaction, violate IP cleanlinessor inaction, violate IP cleanliness

– Clean CodeClean Code.. Making sure that all incoming code Making sure that all incoming code is legally contributed.is legally contributed.

– Approved LibrariesApproved Libraries.. Making sure that all third- Making sure that all third-party code included, or merely referenced, is party code included, or merely referenced, is cleared by Eclipse Legal through a contribution cleared by Eclipse Legal through a contribution questionnaire.questionnaire.

– Paper'ed PeoplePaper'ed People Making sure that all Making sure that all committers have committer agreements covering committers have committer agreements covering each of the committer's projects. each of the committer's projects.

Page 21: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

2121

Three Eclipse Laws Three Eclipse Laws (cont)(cont)2.2. A committer may not, through action or A committer may not, through action or

inaction, disenfranchise contributors inaction, disenfranchise contributors

– Public Queue.Public Queue. All bugs and tasks are tracked at the All bugs and tasks are tracked at the public eclipse.org bugzillapublic eclipse.org bugzilla

– Available Tools.Available Tools. All the source code and all the tools All the source code and all the tools

used to build a project are available for everyone to used to build a project are available for everyone to use.use.

– Transparent Elections.Transparent Elections. Elections for new Elections for new committers are open and public, with full records and committers are open and public, with full records and justifications. justifications.

Page 22: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

2222

Three Eclipse Laws Three Eclipse Laws (cont)(cont)3.3. A committer may not, through action or A committer may not, through action or

inaction, surprise the membership inaction, surprise the membership

– Open Plans.Open Plans. Planning and status reports and Planning and status reports and meetings are open to all. Most projects use the wiki.meetings are open to all. Most projects use the wiki.

– Public Reviews.Public Reviews. At major events in a project At major events in a project lifecycle, lifecycle, reviewsreviews are held to inform the membership. are held to inform the membership.

– Prominent Announcements.Prominent Announcements. When starting a When starting a major new feature or effort that does not require a major new feature or effort that does not require a formal review, committers send an announcement formal review, committers send an announcement alerting the members to potential future new cool alerting the members to potential future new cool stuff. stuff.

Page 23: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

2323

Development ProcessDevelopment Process

Mentors Project Lifecycle

– Pre-Proposal – Proposal – Incubation – Mature – Top-Level – Archived

Reviews– Creation Review – Graduation Review – Release Review – Promotion Review – Continuation Review – Termination Review

Membership Involvement Grievance Handling

Page 24: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

2424

Why Eclipse, Why Hibachi Why Eclipse, Why Hibachi ??

Customer/Market demandCustomer/Market demand Competition from other language IDEsCompetition from other language IDEs Understanding Value Added PropositionUnderstanding Value Added Proposition Force multiplierForce multiplier Attract more third party integratorsAttract more third party integrators Simplify synchronizing updatesSimplify synchronizing updates Coopetition- A new paradigm in the Coopetition- A new paradigm in the

Ada industry ?Ada industry ?

Page 25: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

2525

GoalsGoals

Hibachi is intended to be a full-featured IDE for developing Ada native and embedded applications. Hibachi will independent of the underlying Ada compiler technology.

Hibachi will be architected in such a way as to allow integrators the possibility to extend or replace the functionality it provides.

Hibachi will provide an open framework for the integration and use of other tools used during the lifecycle of large-scale Ada application development. These tools include but are not limited to Static Analysis, Modeling, Testing and Verification, Performance Analysis, Documentation, Refactoring and Configuration Management.

Page 26: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

2626

Hibachi Hibachi

– Opensource (EPL)Opensource (EPL)

– ExtensibleExtensible

– Well documented APIWell documented API

– Based on existing Ada plugin technology Based on existing Ada plugin technology

– Participation of major active Ada playersParticipation of major active Ada players

– Participation of academiaParticipation of academia

Page 27: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

2727

HibachiHibachi

– Participation of open source Ada communityParticipation of open source Ada community

– Participation of industrial partnersParticipation of industrial partners

– Creation Review- 17 September 2007Creation Review- 17 September 2007

– Project Approved by EMO 24 September 2007Project Approved by EMO 24 September 2007

– Current phase- Incubation Current phase- Incubation

– Project mentors- Doug Schaefer (QNX/CDT Project Project mentors- Doug Schaefer (QNX/CDT Project Lead, Doug Gaff, WindRiver/DSDP Project Lead)Lead, Doug Gaff, WindRiver/DSDP Project Lead)

– First release Q4 2007First release Q4 2007

Page 28: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

2828

Hibachi Development Hibachi Development PracticesPractices

Transparent discussions, transparent Transparent discussions, transparent decisions, transparent directiondecisions, transparent direction

Test cases produced with codeTest cases produced with code All code peer reviewedAll code peer reviewed User Documentation produced with User Documentation produced with

codecode Agile DevelopmentAgile Development Nightly automated buildsNightly automated builds Nightly automated test suitesNightly automated test suites Meritocracy based (Code talks!)Meritocracy based (Code talks!)

Page 29: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

2929

Releases PracticesReleases Practices

Agile developmentAgile development– Frequent MilestonesFrequent Milestones

Reference platformsReference platforms– WindowsWindows– LinuxLinux– SolarisSolaris

Additional platformsAdditional platforms– MacOS (MacAda project)MacOS (MacAda project)– Solaris x86Solaris x86

““All in one” distributionAll in one” distribution– Gnu Ada toolchainGnu Ada toolchain

Page 30: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

3030

Current StatusCurrent Status

– Resources in place Resources in place – Initial release descriptionInitial release description– Hibachi DemoHibachi Demo

Page 31: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

3131

ResourcesResources

7 Diverse Initial Committers7 Diverse Initial Committers– AdaCore, Aonix, CohesionForce, DDC-IAdaCore, Aonix, CohesionForce, DDC-I

Initial code base (AonixADT)Initial code base (AonixADT)– IP scrubbedIP scrubbed– Fully functionalFully functional– Support for GNAT and ObjectAdaSupport for GNAT and ObjectAda

Project “provisioned”Project “provisioned”– Home Page Home Page – NewsgroupNewsgroup– Developer Mailing listDeveloper Mailing list– Wiki pages set upWiki pages set up

Contributor/Adopter interestContributor/Adopter interest– PraxisPraxis– OCSystemsOCSystems– Green Hills SoftwareGreen Hills Software– Institute for Software (Switzerland)Institute for Software (Switzerland)– GnuAda Group and MacAda groupsGnuAda Group and MacAda groups

Page 32: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

3232

Initial ReleaseInitial Release

Version 0.5 (incubation)Version 0.5 (incubation) Eclipse 3.3 (Europa)Eclipse 3.3 (Europa) Windows, Linux, SPARC SolarisWindows, Linux, SPARC Solaris Available Q4 2007Available Q4 2007 Full AonixADT Code BaseFull AonixADT Code Base Initial GNAT and ObjectAda Initial GNAT and ObjectAda

toolchain supporttoolchain support

Page 33: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

3333

An Ada Eclipse PluginAn Ada Eclipse Plugin

Ada Navigator View

Ada Editor

Perspective tabs

Console View

Ada Configurations

View

Context Sensitive Menu

Page 34: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

3434

Completely Completely Unreadable Slide Unreadable Slide (Features List)(Features List)

PerspectivesPerspectives Views (AdaNavigator, Ada Configurations, Disassembly,…)Views (AdaNavigator, Ada Configurations, Disassembly,…) BuilderBuilder

– ManagedManaged– StandardStandard– AutomaticAutomatic– MultiLanguage/MultiProjectMultiLanguage/MultiProject

WizardsWizards ToolchainsToolchains Update ManagerUpdate Manager Language completionLanguage completion Structure highlightingStructure highlighting Code assistCode assist Formatting (syntactic, semantic, indentation, comment toggling)Formatting (syntactic, semantic, indentation, comment toggling) LauncherLauncher Ada ConfigurationsAda Configurations Navigator (file system)Navigator (file system) Outline (package exploreerOutline (package exploreer Ada Navigator (Navigator + Outline)Ada Navigator (Navigator + Outline) Searchable Help, Dynamiuc Help, Cheat SheatsSearchable Help, Dynamiuc Help, Cheat Sheats Compare (local history, other files)Compare (local history, other files) CMS (CVS, Subversion, Clearcase, …)CMS (CVS, Subversion, Clearcase, …) SearchSearch

– File (String matching)File (String matching)– Ada (Semantic searching)Ada (Semantic searching)– Reference (Where used)Reference (Where used)

BookmarksBookmarks Problems (navigation)Problems (navigation) TasksTasks Update managementUpdate management DebuggerDebugger

– Task inspection (stack, locals, suspend/kill)Task inspection (stack, locals, suspend/kill)– Attach to running processAttach to running process– Variable/expression/memory/register inspection and modificationVariable/expression/memory/register inspection and modification– Breakpoints (conditional, disable, action on break)Breakpoints (conditional, disable, action on break)– MultilanguageMultilanguage

Page 35: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

3535

Future DirectionFuture Direction

– Committer presentations Committer presentations – Development planDevelopment plan– Future FeaturesFuture Features

Page 36: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

3636

Committer Committer PresentationsPresentations

How the committer expects to How the committer expects to contribute to Hibachi, and use the contribute to Hibachi, and use the Hibachi technologyHibachi technology

David Phillips, David Phillips, CTO - CohesionForceCTO - CohesionForce

Greg Gicca, Greg Gicca, Director of Safety and Director of Safety and

Security Product Marketing - AdaCoreSecurity Product Marketing - AdaCore

Page 37: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

3737

Future ReleasesFuture Releases

v0.7 (incubation) Q1 2008v0.7 (incubation) Q1 2008– Open API for additional toolchainsOpen API for additional toolchains– Additional toolchains (DDC-I, AdaCore GNAT)Additional toolchains (DDC-I, AdaCore GNAT)

v0.9 (incubation) Q2 2008v0.9 (incubation) Q2 2008– CDT technology rapproachmentCDT technology rapproachment– More APIs, More stable APIsMore APIs, More stable APIs

v1.0 (mature- Graduation review) Q3 2008v1.0 (mature- Graduation review) Q3 2008– Ada 2005 support (if not already done)Ada 2005 support (if not already done)– DSDP enabledDSDP enabled– Eclipse 3.4 (Ganymede)Eclipse 3.4 (Ganymede)

Page 38: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

3838

Future featuresFuture features

Unit testing (CUTE, …)Unit testing (CUTE, …) Where Used reimplementionWhere Used reimplemention Ada 2005 supportAda 2005 support Refactoring (AST development)Refactoring (AST development) Cheat SheetsCheat Sheets Reformatter (in Java)Reformatter (in Java) Mouseover information improvementsMouseover information improvements Generic ARM lookupGeneric ARM lookup More Wizards (Builder, stub generation)More Wizards (Builder, stub generation) Code Coverage extension pointsCode Coverage extension points Ada83 supportAda83 support Code foldingCode folding Error correction suggestionError correction suggestion Automatic With insertionAutomatic With insertion With tree browserWith tree browser Call tree browserCall tree browser

Page 39: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

3939

DiscussionDiscussion

ExpectationsExpectations Suggestions Suggestions WishlistWishlist QuestionsQuestions

Page 40: SIGAda Hibachi Workshop Presentation

SIGAda 2007SIGAda 20077 November 20077 November 2007 © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public © 2007 Aonix and The Eclipse Foundation; made available under the Eclipse Public

License v1.0License v1.0

4040

Sources of informationSources of information

Project page (Wiki, FAQ, release plans, tutorials, docs, Project page (Wiki, FAQ, release plans, tutorials, docs, presentations…)presentations…)– http://www.eclipse.org/hibachi/http://www.eclipse.org/hibachi/

Newsgroup Newsgroup – news://news.eclipse.org/eclipse.tools.hibachi

Developer mailing listDeveloper mailing list– https://dev.eclipse.org/mailman/listinfo/hibachi-devhttps://dev.eclipse.org/mailman/listinfo/hibachi-dev

Download pageDownload page– http://www.eclipse.org/cdt/downloads.php*http://www.eclipse.org/cdt/downloads.php*

Source RepositorySource Repository– http://dev.eclipse.org/viewcvs/index.cgi/?root=Tools_Project*http://dev.eclipse.org/viewcvs/index.cgi/?root=Tools_Project*

BugzillaBugzilla– https://bugs.eclipse.org/bugs/https://bugs.eclipse.org/bugs/