PANEL BUILDER FOR INDUSTRIALIT

PANELBYGGARE FÖR INDUSTRIALIT

Joakim Olsson, Peter W Källklint

Mälardalens Högskola

Institutionen för Datateknik

2001-07-10

Examinator: Ivica Crnkovic, Idt

Handledare:

Åsa Lundkvist, Mälardalens Högskola, Idt

Jonas Brännvall ABB, Automation Products

Preface

We would like to thank Åsa Lundkvist from Mälardalens University and Jonas Brännvall from ABB Automation Products for their supervision and good support during the development of the Panel Builder prototype. We also thank the staff at the VHN department of ABB Automation Products for all their excellent advices.


PANEL BUILDER FOR INDUSTRIALIT

PANELBYGGARE FÖR INDUSTRIALIT

Summary:

ABB Automation Products has developed a new automation software called IndustrialIT. The user interface of IndustrialIT is called a workplace and the main area of a workplace is referred to as a panel. A workplace panel is configured with an XML (Extensible Mark up Language) configuration file and ABB has realised that a tool is needed to support configuration of new panels as well as maintaining existing ones.

The purpose of this project is to investigate what functionality is required from a panel builder tool and how to design its user interface. We have studied some HTML (Hyper Text Mark up Language) and XML tools to find out if any of them could be of use when implementing a Panel Builder. However we found that no existing tool was suitable for this purpose and therefore most of the effort has been spent on the implementation of a Panel Builder prototype.

The development of the prototype has lead to some conclusions. We believe that a Panel Builder should have two user modes, a custom user mode that hides most of the structure of a panel from the user and an advanced user mode with access to all details of the panel.

ABB Automation Products har utvecklat en ny automations programvara som kallas IndustrialIT. Dess användargränssnitt kallas för en ”workplace” vilken huvudsakligen består av en så kallad panel. För att konfigurera en ”workplace” panel används en konfigurationsfil på XML (Extensible Mark up Language) format. ABB har insett att det behövs ett verktyg som förenklar konfigureringen av nya och underhållet av befintliga paneler.

Syftet med detta projekt är att utreda vilken funktionalitet som krävs av ett verktyg för att konfigurera paneler och hur verktygets användargränssnitt skall se ut. Vi har undersökt några på marknaden förekommande HTML (Hyper Text Mark up Language) och XML verktyg för att se om något av dem kan användas vid utvecklandet av en panelbyggare. Emellertid har det visat sig att inget sådant verktyg är användbart, vilket har inneburit att den huvudsakliga arbetsinsatsen lagts på implementationen av en prototyp panelbyggare.

Utvecklingen av prototypen har lett oss till vissa slutsatser. Vi anser att en panelbyggare bör ha två användarnivåer, en normalnivå som döljer det mesta av panelstrukturen för användaren och en avancerad användarnivå som ger tillgång till alla detaljer hos en panel.

1. INTRODUCTION 5

1.1 BACKGROUND 5

1.2 PURPOSE 5

2. TECHNIQUE OVERVIEW 6

2.1 Extensible Markup Language (XML) 6

2.2 Document Object Model (DOM) 6

2.3 Component Object Model (COM) 7

3. OVERVIEW OF EXISTING TOOLS 8

3.1 Peter’s XML editor 8

3.2 WebMaster Pro 9

3.3 Dutch’s HTML Frames 10

3.4 Einstein2000 11

3.5 FrontPage 12

3.6 Lorenz Graf 13

3.7 Conclusions 13

4. PANEL CONFIGURATION 14

5. PANEL BUILDER 16

5.1 REQUIREMENTS OF THE PROTOTYPE 16

5.2 PANEL MODEL 17

5.3 APPLICATION DESIGN AND IMPLEMENTATION 18

5.4 COMPONENT DESIGN AND IMPLEMENTATION 19

5.4.1 User Interface 19

5.4.2 Document handler 20

5.4.3 Property dialog 22

5.4.4 Design view 23

5.4.5 Open Wizard 24

5.4.6 Menu bar 24

5.4.7 Toolbar 24

5.4.8 Split pane dialog 25

5.4.9 Tree view 26

5.4.10 Unresolved ABBTarget 26

5.5 Evaluation of the prototype 27

5.6 Further development 28

6. CONCLUSIONS 29

7. REFERENCES 30

1.  INTRODUCTION

1.1  BACKGROUND

ABB is a leading global provider of automation products, systems and services. ABB has introduced a new concept called IndustrialIT that combines standard information technology with traditional industrial process control systems. The software platform of IndustrialIT is developed by ABB Automation Products in Västerås.

On top of an automation system we find system operators concerned with monitoring a process and making decisions that may be crucial for the process itself and plant safety, thus it is of extensive importance how information is presented by the systems user interface.

A workplace is the main user interface of an automation system. It is based on the Windows 2000 platform and uses internet Explorer (IE) as its user interface.The main area of the workplace user interface is called a panel. ABB Automation Products has realized that some kind of tool is required in order to simplify the configuration of panels, a Panel Builder. The Panel Builder shall provide a high level view of a panel under construction and allow configuration of panels without having the knowledge about how to write XML code or how Internet Explorer handles an HTML frameset.

1.2  PURPOSE

Today no tool exists that supports the configuration of workplace panels. This makes it difficult to modify or expand an existing system, at least for the end users. The buyer defines the panel layout at the purchase but today ABB does not support customer modification or expansion of already existing workplace panels.

The purpose of this bachelor thesis is to investigate what functionality a panel builder tool should comprise and what its user interface should look like. We will examine the functionality and user interface of some existing applications to find out if they can be used as a part of a panel configuration tool.

A functional Panel Builder prototype that simplifies the generation of panel configuration files will be implemented and evaluated. The prototype will not include all the functionality that one would expect from a fully developed tool however it should be capable of producing valid panel configuration files.

2.  TECHNIQUE OVERVIEW

This is a brief introduction to some techniques that are of importance in order to appreciate this report. Getting acquainted with these techniques has been an important part of this project.

2.1  Extensible Markup Language (XML)

Extensible Markup Language (XML) is a markup language that provides a format for describing structured data. Like HTML, XML is derived from SGML (Standard Generalized Markup Language). XML is actually a subset of SGML and includes many of its capabilities. With XML you can define the data structures for your documents using generalized markup. XML is like HTML but it allows more control as XML let you define your own tags.

XML was invented in order to combine the important virtues and most-used features of SGML in a compact package that is optimized for delivery on the Internet. XML allows different applications or platforms to exchange data. By using an XSL (Extensible Stylesheet Language) stylesheet an XML document can be transformed into HTML. XSL provides the ability to define how the formatted XML content is presented.
[PCmag]

2.2  Document Object Model (DOM)

The Document Object Model is a specification of a programming model for HTML and XML documents. The specification is developed by W3C. It defines the logical structure of documents and the way a document is accessed and manipulated. The Document Object Model allows developers to create and build documents, navigate their structure, and add, modify, or delete elements and content. Anything found in an HTML or XML document can be accessed, changed, deleted, or added using the Document Object Model.

[W3C]

2.3  Component Object Model (COM)

COM is a binary compatibility specification developed by Microsoft in order to make their applications more flexible and dynamic. An application traditionally consists of a single executable binary file. If the application is to be modified in any way, no matter how small the change is, the whole application has to be recompiled. COM breaks the monolithic, executable file into smaller parts called components and makes it possible to upgrade or replace each of them separately.

A COM component consists of executable code distributed either as a Win 32 dynamic link library (.DLL) or as an executable file. Since the components of an application are not compiled and linked together, COM has to support dynamic linking of code. Services implemented by COM objects are exposed through a set of interfaces that represent the only point of contact between clients and the object. By having knowledge of an interface implemented by an instantiated component and retrieve a pointer to it, a client can get access to the components functionality.

[Rogerson97], [Grimes99]

3.  OVERVIEW OF EXISTING TOOLS

Before beginning the Panel Builder design we found it necessary to investigate the existence of applications that can be of assistance for configuring panels. We found two categories of applications to be of interest. Web page tools that are mainly advanced HTML editors that support configuration of web pages and XML tools for generating XML files.

In our investigation we have focused on how HTML framesets are handled by web page tools and if XML editors offer enough functionality to be used as a panel configuration tool. We have been limited to evaluate applications available at ABB and free trial versions found on the internet.

3.1  Peter’s XML editor

Manufacturer: Peter Reynolds. www.webattack.com/download/dlpeterxml.shtml

Peter’s XML editor (figure 3.1) is the only XML tool that has been evaluated. This application is a tool that simplifies the editing of XML documents. There are three different editing modes (views). The source view allows direct processing of XML code, the tree view treats the document as a hierarchical structure of XML elements and the IE view shows Internet Explorers representation of the documents XML code.

When editing a document from the tree view some concern of XML syntax is taken away from the user but this tool still requires extensive knowledge about XML.

Figure 3.1

3.2  WebMaster Pro

Manufacturer: Galt Technology. www.galttech.com

WebMaster Pro is a tool for managing, maintaining, and editing an entire web site. WebMaster Pro organizes a web site as a project that allow the user to treat a web site as an entity. This is a tool for webmasters and users who prefer to work directly with HTML code. WebMaster Pro generates HTML code as a direct response to the user commands and does not provide a “high-level” view of the current document. WebMasterPro does not support configuration of XML documents.

WebMaster Pro is equipped with a frame builder tool that makes it possible to insert a frameset into an HTML file. The user can choose a suitable panel configuration from a collection of five template framesets or start with an empty panel. The frame builder tool is implemented as a two-step wizard (figure 3.2 and 3.3). A panel can be divided into a maximum number of five frames that in turn can be divided into the same maximum number of sub-frames. Resizing of frames is not supported.

3.3  Dutch’s HTML Frames

Manufacturer: Dutch’s Software. http://www.bee.net/dutch

Dutch’s HTML Frames is a tool for editing HTML files. Like WebMaster Pro, this is a tool for users who has some experience of HTML since there is no high level view of a document under construction. The program is mainly an HTML-editor that allows the user to insert predefined HTML-tags into the edited file. Dutch’s HTML Frames does not support configuration of XML documents.

Dutch’s HTML Frames is equipped with a frame builder tool (figure 3.4) that allows generation of HTML framesets. The user can divide a parent frame into a maximum number of five frames, rows or columns. A row is limited to be divided into a maximum of five columns and a column into maximum five rows. It is possible to resize a frame by pulling the frame-borders. This feature allows a more flexible configuration of a panel compared to the frame-tool of the Webmaster application. There are no predefined frame-templates.

Figure 3.4

3.4  Einstein2000

Manufacture: unknown. http://www.admax.nu/einstein_start.htm

Einstein2000 is a Swedish web designer tool. It is a versatile tool that supports features like HTML framesets and scripts. Web pages can be created individually or as part of a larger project. The project is represented by a tree structure. The user can get a graphical presentation of the frame layout were it is possible to set the number of frames. It is restricted to five different frame layouts. The user can specify the size of each individual frame (figure 3.5). Web pages can be linked to each frame. When all this is done, Einstein2000 will produce code that can be seen in the main window.

Figure 3.5

3.5  FrontPage

Manufacturer: Microsoft

FrontPage (figure 3.6) is a powerful program concerning web pages. It is too extensive to be fully evaluated. It is integrated in Windows Office and thus easy to use in combination with other windows application. FrontPage supports a wide range of different web styles. This evaluation is focusing on what the program offers in question of HTML frame handling and editing of XML documents.

The user starts of from a range of templates. Splitting and resizing of frames can be done in the design view. A frame can be split either horizontally or vertically. Dragging the border with the mouse pointer resizes a frame. A button in the center of each frame is used to attach web pages or configure the frameset.

FrontPage support editing of XML documents, however this can only be achieved by connecting FrontPage to an existing XML editor.