An Eclipse Editor for IP­XACT

Slides:



Advertisements
Similar presentations
IP-XACT and Eclipse DSPD VPP launch meeting
Advertisements

A Toolbox for Blackboard Tim Roberts
DEV-2: Getting Started with OpenEdge® Architect – Part I
Improving your OpenEdge® Development Productivity David Lund Sr. Training Program Manager, Progress.
Tutorial 8: Developing an Excel Application
© 2010 Delmar, Cengage Learning Chapter 12 Working with Library Items and Snippets.
MP IP Strategy Stateye-GUI Provided by Edotronik Munich, May 05, 2006.
SRDC Ltd. 1. Problem  Solutions  Various standardization efforts ◦ Document models addressing a broad range of requirements vs Industry Specific Document.
© by Pearson Education, Inc. All Rights Reserved.
Eclipse Architecture Dwight Deugo Nesa Matic
Eclipse Introduction Dwight Deugo Nesa Matic
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Introduction To Form Builder
WebDynpro for ABAP Short introduction.
Lesson 18: Configuring Application Restriction Policies
Tutorial 3: Adding and Formatting Text. 2 Objectives Session 3.1 Type text into a page Copy text from a document and paste it into a page Check for spelling.
Introducing HTML & XHTML:. Goals  Understand hyperlinking  Understand how tags are formed and used.  Understand HTML as a markup language  Understand.
Standards for Technology in Automotive Retail STAR Workbench 1.0 Michelle Vidanes & Dave Carver STAR XML Data Architects, Certified Scrum Masters.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
A GUIDE TO SHAREPOINT 2007 CUSTOMIZATION OPTIONS Heather Solomon, WSS MVP.
® IBM Software Group © 2006 IBM Corporation How to read/write XML using EGL This Learning Module shows how to utilize an EGL Library to read/write an XML.
Internet Skills An Introduction to HTML Alan Noble Room 504 Tel: (44562 internal)
Lecture Roger Sutton CO530 Automation Tools 5: Class Libraries and Assemblies 1.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
WorkPlace Pro Utilities.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
Unicenter Asset Portfolio Management Service Release Summary John Fulton Director, Product Management, Unicenter APM February 14, 2008 CA Blue R0.
® IBM Software Group © 2009 IBM Corporation Rational Publishing Engine RQM Multi Level Report Tutorial David Rennie, IBM Rational Services A/NZ
| | Tel: | | Computer Training & Personal Development Microsoft Office PowerPoint 2007 Expert.
Selenium Web Test Tool Training Using Ruby Language Discover the automating power of Selenium Kavin School Kavin School Presents: Presented by: Kangeyan.
University of Sunderland CDM105 Session 5 Web Authoring Tools The past and present A history of web authoring tools and an overview of Macromedia Dreamweaver.
11 Using SPIRIT for describing systems to debuggers DSDP meeting February 2006 Hobson Bullman – Engineering Manager Anthony Berent – Debugger Architect.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Workbench Overview Dwight Deugo Nesa Matic
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Selected Topics in Software Engineering - Distributed Software Development.
The european ITM Task Force data structure F. Imbeaux.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
1 AutoCAD Electrical 2008 What’s New Name Company AutoCAD Electrical 2008 What’s New AMS CAD Solutions
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
Tutorial 13 Validating Documents with Schemas
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Describing target hardware in debuggers Aaron Spear DEBUG TECHNOLOGIES ARCHITECT ACCELERATED TECHNOLOGY DIVISION Feb 2006 DSDP Meeting/Toronto.
Ganymede Simultaneous Release | © 2008 by Springsite B.V., The Netherlands made available under the EPL v1.0 Teneo Ganymede Simultaneous Release.
Adobe Flash CS4 – Illustrated Unit A: Getting Started with Adobe Flash.
UML MARTE Time Model for Spirit IP-XACT Aoste Project INRIA Sophia-Antipolis.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.
Copyright © 2010 Obeo, Made available under the Eclipse Public License v SCA Tools (Helios) Release Review Planned Review Date: June 11, 2010.
1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy
3 Copyright © 2006, Oracle. All rights reserved. Building an Analytic Workspace.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
Adobe Flash Professional CS5 – Illustrated Unit A: Getting Started with Adobe Flash Professional.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
*DT Project Model Leo Treggiari Intel Corp. Dec, 2005.
CARA 3.10 Major New Features
COSC-4840 Software Engineering
Teneo Ganymede Simultaneous Release Graduation Review
DSDP Mobile Tools for Java 1
The JSF Tools Project – WTP (internal) release review
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Presentation transcript:

An Eclipse Editor for IP­XACT Anthony Berent ARM Ltd January 2007 © Copyright ARM Ltd, released under EPL 1.0. All logos are TM of their respective companies.

An Eclipse Editor for IP-XACT Summary of IP-XACT Why develop an editor for IP-XACT? What does it do? Demonstration of editor How does it work? What doesn’t it do (yet)? Other issues Editor contribution (still to be accepted) in Bugzilla 169333

Summary of IP-XACT Developed by The SPIRIT Consortium (http://spiritconsortium.org). Originally developed for delivering IP descriptions of components to EDA tools, and for exchanging IP descriptions of designs between EDA tools: Now starting to be used in other contexts, including the description of debugger targets. An IP-XACT description of a design or component consists of a set of XML documents referring to one another: Main document types are: Design – A high level description of a design Component – A description of a component type, including interfaces, memory maps, and registers Bus Definition – A description of a bus type. References between IP-XACT document are by 4 element identifier (vendor, library, name and version; often abbreviated to VLNV).

IP-XACT design descriptions Component X Instance Bus interface M Design Interconnection Component B (bus component) instance Bus interface MM Bus interface MS Bus interface MS Interconnection Interconnection Component Y Instance 1 Bus interface S Component Y Instance 2 Bus interface S Main elements of IP-XACT designs: Component instances referencing IP-XACT component documents Point to point interconnections between bus interfaces of component instances.

IP-XACT component descriptions Main elements of components are: Bus interfaces, referencing bus definitions to describe the bus type Memory maps, including register descriptions Physical signal descriptions Views, referencing non-IP-XACT data or lower level designs. Component Memory map map1 Bus interface B1 Bus type X Slave Register R0 Bus interface B2 Bus type Y Master Register R1 Signal Map Signal Map Signals Physical signal Sig1 Physical signal Sig2 Physical signal Sig3 View A View B View C Reference to associated data (e.g. RTL model) Reference to associated data (e.g. drivers) Reference to Lower Level Design (IP-XACT Design Document)

IP-XACT bus definitions Bus definitions contain: A list logical bus signals: Includes signal direction, width, etc. mapped onto physical signals in components by the signal maps in bus interfaces Other connection restrictions: E.g. The maximum number of bus masters and slaves.

Why develop an editor for IP-XACT? IP-XACT was originally developed as a standard for exchanging data between EDA tools: Typically large expensive tools (~ $10,000s per seat) Often assume that IP-XACT component descriptions are supplied by IP suppliers, hence have no tools for component description creation. When IP-XACT used for debug target description: EDA tools may not be conveniently available. IP-XACT design flow may not be complete. New components and designs may need to be described (or descriptions enhanced). Hence an IP-XACT editor would be valuable. Also useful for other IP-XACT users: ARM and other IP vendors: for creating and editing component descriptions.

What does the IP-XACT editor do? Provides Enhanced and Customized XML editor Automatically uses IP-XACT schema Some context sensitive knowledge of IP-XACT semantics, used to give editing hints. Provides view of IP-XACT library: VLNVs of IP-XACT documents may not correspond to file name or folder structure. Library view sorts documents by vendor, library, name and version. Library objects can be dragged to the editor window to create new references to them: Components can be dragged into designs to create new component instances Bus definitions can be dragged into components to create new bus interfaces.

What does the IP-XACT editor do? Searches for and displays uses of and references to IP-XACT documents. Includes references window and search window. Provides Wizards for: Creating new IP-XACT documents Inserting new elements into IP-XACT documents

Demonstration of Editor

How does the editor work? Basics: Built on top of Web Tools XML editor, with some extensions and additional views. Plug-ins: …ipxact.editor.core: Partial object models of IP-XACT document types and some IP-XACT elements. IP-XACT content types for each IP-XACT document type. IP-XACT library implementation Various small utilities …ipxact.editor.ui: Extension point implementation for context sensitive editing hints. Library, cross-reference and search views Drag and drop implementation: Including enhancements to XML editor drop implementation. Property sheet implementation (extended version of XML editor property sheet). Wizards, dialogs, preference page.

Implementation of context sensitive hints Uses org.eclipse.wst.xml.core.modelQueryExtensions extension point to plug into XML editor: Private extension point, but based on discussions on Bugzilla bug 153563 likely to become public (in some form) in future. Derives property sheet from XML editor property sheet, and plugs it in using org.eclipse.wst.sse.ui.editorConfiguration: Why does ModelQueryExtension not provide property sheet support? Possible bug, not yet reported in bugzilla. Deriving from the XML editor property sheet classes breaks API rules, but I couldn’t find any other way to do this. UI code creates a SpiritDocument object from the editor input SpiritDocument provides an interface for getting hints for attribute or element values. The implementation of this is incomplete in the IP-XACT core. SpiritDocument only provides a hints in a few cases.

Library and library view Library is generated at Eclipse startup from all resources in workspace with IP-XACT content types: Listens for new and removed resources, and updates as needed. Each library entry references a SpiritDocument for the resource (which includes a DOM model). Three structures for finding entries: Resource name to entry hash VLNV to entry hash (with duplicate VLNV handling) 4 level VLNV tree. Library view is simple 4 level tree: Context menu items for opening and finding references.

Drag and Drop from library window New SpiritDocumentTransfer class simply serializes the VLNV Drag source provided by LibraryViewDragSource class Drop handled by: SpiritDragAndDropManager Replaces XMLDragAndDropManager. Calls DragNodeCommand from XML editor for local drags SpiritViewerDropAdapter Replaces XMLViewerDropAdapter DragComponentCommand Creates dialog using CreateNewInstanceDialog DragBusDefinitionCommand Creates wizard using CreateNewBusInterfaceWizard All of this uses internal XML editor interfaces, but we could not find an alternative (short of rewriting the XML editor from scratch). Plugged into editor by replacing XMLMultipartEditorPart and XMLTableTreeViewer with Spirit equivalents (SpiritMultipartEditorPart and SpiritTableTreeViewer). This has been significantly modified in the last week (not yet in Bugzilla).

Drag and Drop from library window Inserting components or bus interfaces requires access to editor’s structured model: Accessed through IStructuredModel interface: Currently internal to SSE (Structured Source Editor; Web Tools editor framework) but widely used elsewhere within Web Tools. Handled by EditorHelper class (in …ui.utils package). Bus interface wizard also requires knowledge of IP-XACT elements and semantics. Provided by SpiritObject class and subclasses (in …core.object package)

What doesn’t the editor do (yet)? New features: IP-XACT Semantic Checker: Being developed as additional plug-in. Will be added to submission. Register and address space views Graphical views and editors: Totally separate from current editor: Complimentary since graphical editor only likely to work when starting from syntactically and semantically correct IP-XACT file. Can probably be created using GMF (Graphical Modeling Framework): I have done some initial experiments on this, but still at an early stage. GMF itself is still developing, so time may not be right yet.

What doesn’t the editor do (yet)? Extensions to current features: Context sensitive content hints very incomplete More drag and drop options possible (e.g. drag design to component view to insert hierarchical design). Allow drag from navigator view (as well as IP-XACT library view) IP-XACT specific outline and/or design views: E.g. component instance names shown without having to expand component instance node. Difficult to do without major surgery on XML editor.

Other issues IP-XACT schema itself cannot be included in Eclipse contribution due to incompatible license: Read from web location when editor starts. Users could download it and create an XML catalog entry for it. Various minor bugs known in editor: E.g. assumes in some places that the XML prefix for IP-XACT is always “spirit:” We will be fixing these over the next few weeks or months. Also some minor structural improvements possible.

Other issues Use of non-API functions and extension points: Biggest problem is use of XML editor classes, since, from discussion in Bugzilla 131262 there is no intention to add these to the API. Various bugs found in existing Eclipse code: Bugzilla entries 113565, 132842, 136325 Some needed workarounds in editor code: Including creating modified copies of two classes No automated tests in contribution: Some exist for core plugin; but not complete or IP clean None for UI. No user documentation in contribution: Will follow.