Project |
: |
<HMI Client/Server Frame> |
Date |
: |
July 13, 1999 |
Authors |
: |
Shu/Dan |
Department |
: |
Software |
Filename |
: |
|
: |
|
|
Document file |
: |
|
Distribution |
: |
|
Requirement <HMI Client/Server
Frame> Version
<1.0> |
Content
1 Introduction___________________________________________________ 3
1.1 Component technology______________________________________ 3
1.2 Feature of HMI Client/Server Frame_________________________ 3
1.3 Terminnology of HMI Client/Server Frame__________________ 4
2 General Requirement__________________________________________ 5
2.1 Functional Requirement_____________________________________ 5
2.2 Non-Functional Requirement________________________________ 5
2.3 Packaging Requirements_____________________________________ 5
3 HMI frame Requirement_______________________________________ 6
3.1 Introduction_________________________________________________ 6
3.1.1 glossary______________________________________________________ 6
3.2 General Requirement of HMI Frame_________________________ 7
3.2.1 Easy Organization
& Integration_____________________________ 8
3.2.2 An Industrial Style of Screen Layout________________________ 8
3.3 Layout of HMI Frame_________________________________________ 8
3.4 Functions of HMI Frame______________________________________ 8
3.4.1 Task Bar______________________________________________________ 8
3.4.2 HMI Task_______________________________________________________ 8
4 Control frame
Requirement__________________________________ 8
4.1 Feature of Control Frame__________________________________ 8
4.2 Glossary_______________________________________________________ 8
4.3 General Requirement of Control Frame____________________ 8
4.3.1 System________________________________________________________ 8
4.3.2 Server_________________________________________________________ 8
4.3.3 Control Frame Container_____________________________________ 8
4.3.4 COM___________________________________________________________ 8
5 requirement for HMI
C/S Frame________________________________ 8
5.1 Basic Concept_________________________________________________ 8
5.2 Product Architecture and General
requirement__________ 8
5.3 Functionality/Features______________________________________ 8
5.3.1 Improvement to HMI Frame____________________________________ 8
5.3.2 Improvement to Control Frame_______________________________ 8
5.4 Actors_________________________________________________________ 8
5.5 Functional Requirements____________________________________ 8
5.6 Precedence and Criticality of Requirements_______________ 8
Scope
·
Component
technology
·
Feature of HMI Client/Server Frame
·
Terminnology of HMI Client/Server Frame
Component technology is very popular in the world, because
separate project teams using a wide variety of language-independent tools can
develop these components. This provides
tremendous design flexibility.
Component-based multi-tier technology is very popular in software design because it can provides:
· Software reuse
· Scalable architecture
· Independence between software blocks
· Language independence
·
Even platform independence
In C/S Frame, we have mainly two parts: Client part and Server part. Client part is named as HMI Frame. Server part is named as Control Frame.
HMI Frame that is focused on Human-Machine Interface, and Control Frame that focused on the business logic.
Both Client part and Server part of HMI Client/Server Frame are platforms, which provides integration of components by configuration without re-compiling, synchronous and asynchronous communication between components and specification for developing application components.
HMI Client/Server Frame is a
framework that
·
Both
Client part and Server part are component container that is Custom-developable,
Custom-Configurable and Later Binding.
·
integrate
the Customer-developed Components, including both the Presentation Components
and Business Components, without recompilation.
·
provides
identical Human Machine Interface
·
Both
Client and Server in Frame can run independently as an alone application, or
run cooperatively as a C/S application.
Client part
aims
to provides a modular system of standardized versatile style, so that to cope
with virtually all customer applications;
·
Identical
Human Machine Interface
·
Configurable
Style for Interface
·
Configurable
Customized Client-Components
Server part
aims
to provide a platform, in which customer developed components can run concurrently
and communicate freely.
·
Multi-multi
Communication between Server-Components
·
Concurrent
Processing of Server-Components
·
Configurable
Customized Server-Components
Connection between Clients and Server
·
Multi-multi
Connection
· Dynamically Configurable Connection
Here will first introduce the general requirement for HMI Frame and Control Frame, then introduce the requirement for HMI Frame and Control Frame separately, finally the requirement for integration HMI Frame and Control Frame.
To simplify the introduction of HMI
C/S Frame, we define the following terminology.
Object Instance
------------------------------------------------------------------------------------------------------------
·
Client
part ~ HMI
Task
·
Server
part ~
System
·
Client-Custom-Component ~ Pane
·
Server-
Custom-Component ~ COM
·
Connection
between
Pane and COM ~
External Connection
·
Communication
links b ~ Internal Connection
between COMs
Figure 1 Terminology in HMI C/S
Frame
Scope
·
Functional
Requirement
·
Non-Functional
Requirement
· Packaging Requirements
Both Client part and Server part of C/S frame should be:
· A Windows NT Program
· Late binding: Components are integrated together to form an application by configuration without recompiling, that is Late binding.
· Synchronous and asynchronous communication between components or groups of components.
· High performance, scalability.
· Flexibility, reusability, and extendibility.
· Independence between software blocks
·
Programming
language Independence: using a certain component-compliant Language
·
Language
independence GUI: User can switch among different language on the fly.
· Even platform independence
Computer Hardware Requirements
Pentium PC
TCP/IP LAN
Display Settings:
Font Size: Large Font
Screen Resolution: 1024*768
Color: 256
System Platform:
Microsoft Windows NT 4.0 or above
Microsoft DCOM
Development tools:
Microsoft Visual C++ 6.0
Microsoft Visual Basic 6.0
Software package will include the following.
· Source code
· Documents
· Installable delivery
Scope
·
Introduction
·
General
Requirement of HMI Frame
·
Layer out of HMI
Frame
·
Functions of HMI
Frame
·
An Example Design
for HMI Frame layout
HMI Frame specializes in integration and organization of HMI Tasks that work together to fulfil common goal. It is based on the idea: instead of solving individual problems in the industrial area with individually HMI style, HMI Frame aims to provide a modular system of standardized versatile HMI style so that it can cope with virtually all customer application.
Figure 2
HMI Frame Logical Overview
·
HMI Application
and HMI Task
There are many tasks independent running in the HMI Frame. We call these
tasks-group in the HMI Frame as an HMI
Application, each task is called HMI Task, and we use Task-Bar to manage these tasks.
·
HMI Task
Each HMI Task represents a customer
task and has special properties. Each HMI
Task can runs under a HMI Application, or run as an independent entity on
WinNT.
·
HMI Page
There are also some working topics
in Each HMI Task. Each working topic
is described by a HMI Page. We use Page Key Bar to manage these HMI Pages—working
topics.
·
HMI Pane
If the working topic consists of some sub-topic, we use HMI Pane to represent sub-topic.
·
Function Key
Additionally, there is a Function Key
Bar including up to 8 Function Keys
in each HMI Page. These Function Keys produce some keyboard
events accepted by the HMI Pane (or HMI Panes) of the HMI Page.
Scope
·
Easy Organization & Integration
·
An Industrial Style of Screen Layout
General Requirement of HMI Frame is list below,
·
An Industrial Style of Screen Layout
Industrial Style of
Screen Layout , and supports full operations from GUI (HMI) using
keyboard Function keys that mean without Mouse.
·
Static
Configurable.
HMI Frame software is general-purpose software, which can be configured on site
without recompilation. The Configurator will do most configuration work after Programmers
finish their works.
·
Dynamic
Configurable (Run-time).
The Operator should have the possibility to change some view of HMI. For
example, Operator wants to load, unload some Projects, and so on. Dynamic
Configurable should have a limitation.
· Late binding. String, caption, Icon, and so on.
· HMI Frame should provide the following services to Pane
Ø
Switch
focus between Panes within the same Page
Ø
Invoke
a Function Key
Ø
Activate
a Page
Ø
Set a
Function Key’s appearance
There are mainly three aspects in the requirement of configurable capacity of HMI Task.
Figure 3 configurable capacity of HMI Task
The following figure is an example of Industrial Style of Screen Layout.
Figure 4 Industrial Style of Screen Layout
The Layout of HMI Frame is just like below Figure. It is an Industrial Style of Screen Layout.
Scope
·
Task Bar
·
HMI Task
HMI Frame has a Task Bar, which can organize
HMI Tasks. A HMI Task consists of HMI Pages, which are shifted by Page Keys. A
HMI Page consists of HMI Panes in page working area, and has Function Keys,
which send events to panes in the page.
We use Task Bar to organize HMI Tasks in the HMI Frame Application.
· Up to 8 HMI Tasks, Tasks run concurrently in the HMI Frame.
· Each Task is an independent executive entity.
· Load HMI Tasks according to predefined configuration.
· Operator can terminate HMI Application. We plan to use shortcut key, for example “Tab”, to exit all HMI Task.
· HMI Task can be reloaded by Operator run-time.
· TaskKey Button in Task Bar is used to shift HMI Task from one to another (shift+Function key). The Mapping between TaskKey Button and HMI Task is one to one. So, the number of TaskKey Button equals to the number of HMI Task.
· Task Bar is always auto-hidden.
Scope
·
Browser
·
Message
Bar
·
PageKey
Bar
·
HMI Page
·
Function Key Bar
The layout and functionality is listed below,
·
Up to 8 HMI Pages. Each page has a working topic.
·
PageKey Button in Page Key Bar is used to shift HMI
Page from one to another.
·
The Mapping between PageKey Button and HMI Page is
one to one.
·
The number of Page Key is same as the number of
Page in a HMI Task.
·
There is an executive sequence in a HMI Task.
·
Load HMI Pages according to predefine configuration.
·
HMI Task can be unloaded by Operator. We plan to use
shortcut key, e.g. “Ctrl+”, to exit a HMI Task.
There are four type components in the HMI Task: HMI Page, PageKey Bar, Message Bar and Browser.
Browser can give the outline of HMI Task:
· How many HMI Pages exist in the HMI Task?
· Which HMI Page is activating?
· How many HMI Panes exist in the HMI Page?
· Which Function Key response to which HMI Pane in each HMI Page?
Browser is an auxiliary View. It is used to show information detail.
Message Bar in the HMI Page shows the current
Message.
Measage include the status of task, the warning and
alarming message that Task inform the Operator. The content of Message Bar is
determined by Custom's Task developing.
PageKey Bar is used to shift HMI Page from one to another in the HMI Task.
· PageKey Bar is always showed and in the top of Screen.
· PageKey Bar can organize up to 8 HMI Pages. The Mapping between PageKey Button and HMI Page is one to one. So, the number of PageKey Button equals to the number of HMI Page.
· PageKey Button accepts the KeyMsg of keyboard Function Key.
Scope
·
Title Bar
·
Page
Working Area
·
Pane
The layout and functionality is listed below,
·
Each HMI Page has a working topic, the meaning of
working topic is represented in the Title Bar.
·
A HMI Page provides up to 8 Function Keys contained
in Function Key Bar.
·
Each page has the same size.
·
A HMI Page can support up to 4 Panes.
·
Each Function Key may raise events to panes in the
same page.
·
Load Panes according to predefine configuration.
·
Same pane instance is not allowed to appear on more
than one page.
Title
Bar is on the top of each HMI Page, used to show information of working topic
of the HMI Page. Title Bar is a Label. The content in the Title Bar: “ Name of
HMI Task – Meaning of working topic of the HMI Page”.
HMI Panes (not more than 4) occupy HMI Page working
area. The working area is divided into four areas like the following picture,
which are named element areas.
This
working area supports only up to 8 Function keys. There are 8 key events in one
page.
We
use HMI Pane to contain GUI-component, such as Buttons, Labels and Lists. HMI
pane is only used to aggregate GUI-components so as to manage and layout them
convenient. The type of size of HMI Pane is limited.
Pane Size
We
support 4 sizes of Pane:
Pane Position
Panes
will be put into working area according to their aim and size.
·
When a
pane occupies one element area
·
When a pane occupies two element areas
·
When a pane occupies whole working area
Pane
Style
Each Pane has a sub-topic of work and has the style (recommended):
Pane Message
A HMI Pane can send Message to HMI Frame to ask for services that HMI Frame provided, such as Show Information On Message Bar, Send A Key Message To Another HMI Pane, etc. The formats of Pane Message are written in User-Developer manual.
Function Key Bar is in the bottom of HMI Page. It contains up to 8 Function Keys. Every Function Key will produce a certain kind of Key Message to HMI Panes of HMI Page. The Mapping between Function Key Events and HMI Pane is finished in Configuration.
A HMI Pane consumes some Key Messages that are invoked by Function Keys. The mapping relations between the Key Messages and Function Keys can be configured in Configuration.
Each PC can install 1~ 8 Tasks.
Each Task can containe 1~n Pages
Each Page can have 1~n Function Key
Below is the Lay out of One Task.
(1) WorkArea : Display the monitor result.
(2)
Page Bar : Click PageButton to switch Pages.
(3)
Function Bar : Click FunctionButton to invoke
functions of WorkArea.
(4)
Title Bar : Display Title or description of
current page.
(5)
Message Bar : Display the information or alarm of
WorkArea.
The following Properties are configurable.
(1)
The Position of Page Bar and Function Bar
(2) The Icon, Caption and Color of each
Page Button
(3)
The Icon, Caption and Color of each Function Button
Scope
·
Feature of Control Frame
·
Introduction
·
General
Requirement of Control Frame
Control Frame supports current component
technology. Control Frame Platform, which is
component-based, provides the following benefits:
· Distribution of components in one computer or LAN.
· Components can be grouped to a manageable unit.
Control Frame should have the following functionality
·
The
Control Frame can Integrate Custom-Component. The Integration is static
configurable.
·
The
structure of Control frame after instantiation is static configurable.
·
The
Communication links between custom-Component are static configurable.
Below is an illustration of HMI Frame Logical Overview. Each Logical Entity will be described as following.
Figure 6 Control Frame Logical Overview
·
CF System
Control Frame should run across a local network. There should be only one CF System running on the network. This
System can consist of several Servers.
·
CF Server
Each CF Server represents a
real-machine application. Normally, we set one or more servers running at one
PC, instead of one server running across the network. Each CF Server is supervised by the system. Each CF Server consists of
several CF containers.
·
CF Container
A CF container is a business logical concept with a Server. CF Container is a COM-group.
·
COM
COM represent custom's Component, Normally COM fulfills some custom-functions.
One COM may have no more than one corresponding Pane.
Scope
·
Frame Service
·
Control Frame
System
·
Control Frame
Server
·
Control Frame
Container
·
COM
Figure 7 General Requirement of
Control Frame
Control Frame should provide the following services to COM
·
Send a
Pin’ message to corresponding Pin
·
Send a
message to any entities within System
System takes the responsibility of managing
servers.
System should also take the responsibility of delivery Messages between Servers
· Has its own process
· Contains, setups integrates and manages Servers in it
· Provides communication management
Server takes the responsibility of managing
Container s.
Server should also take the responsibility of delivery Messages between
Container s
· Has its own process
· Contains, setups integrates and manages Containers in it
· Provides communication management
A Container contains a number of Custom-components. It can setup, integrate, manage components in it and provide communication management for them. The Control Frame system contains and coordinates them to form a platform to support the CIMO application.
· Has its own thread
· Contains, setups integrates and manages components in it
· Provides communication management
COMs may communicate with each other. The Communication link --- Pin --- should be multi-multi and should be configurable.
Scope
·
Basic Concept
·
Product
Architecture and General requirement
·
Functionality/Features
·
Actors
·
Functional
Requirements
·
Precedence and
Criticality of Requirements
Component-based Scalable Logical Architecture (CSLA) is designed to work well whether it's placed entirely on a single workstation or whether it's spread across a number of machines in a network.
Figure 8 Three-Tier Architecture
With the existing independent HMI Frame and Control Frame, an integration of both named as HMI Client/Server Frame, should be developed. Below is the Product Architecture from the user point of view.
HMI Client/Server Frame is an open platform in both client part and server part. This platform not only integrates custom-components in a later binding way, deliver messages between components, but also provides an environment for Client/Server application across local network.
The General Requirements for HMI Client/Server Frame are
· Both in the business layer and presentation layer, Component-integration can be configurable.
· Components in the business layer can run concurrently
· Business layer can run independently of presentation layer
· Internal Link (within layers) can be changed dynamically but under some circumstances.
· External links (between layers) can be configured dynamically
· Layer boundaries can be local or remote over LAN by COM or DCOM.
Figure 9 HMI C/S Frame's three
tier architecture
Scope
·
Improvement to
HMI Frame
· Improvement to Control Frame
The new developing platform will combine functions of the two existing frames. It will have the following features.
· Completely configurable application with a visual Configuration Editor
Configurable components in presentation and business logic layers
Configurable connection between components in the two layers
· Late-binding
Components of presentation and business layers can be developed in advance and then can be composed together into an application.
· Loose coupling between the two layers
Business logic part can run independently of presentation part.
· User management/security management
Different types of users can do only Tasks these are prescribed for them and no more.
All users can connect and disconnect presentation layer with business layer.
Only authorized users can start, stop and browser business layer
· Developing language independent
Microsoft COM technology is employed here. Therefore any programming language that can produce Microsoft COM classes can be used to develop our components.
· Identical interface style
All interfaces, including User management/security management, super-user's Console, have identical HMI interface style
· Multiple language support
User interface language can be switched to another language on the fly.
· The two layers can locate at one workstation or over a LAN.
· One business logic part can be connected to many presentation parts and vice versa.
· The application can start up automatically after Windows NT starts up.
· Components in the business part must be able to run concurrently.
Scope
·
Internal Service
·
Limitation on
number of Function Button and Page Button
·
Navigate Style
·
Auto start when NT Starts
·
Menu bar
(optional)
HMI Frame should provide the following services to Pane
·
Connect
with a COM
·
Disconnect
with a COM
·
Send
pane’s message to corresponding COM
Remove the Limitation on number of Function Button and Page Button. User can configure the maximum of Function Button and Page Button.
Beside the Button-Like Style, we should add the following Navigate Styles. The number of Navigate Style that the user can use, will be decided before making Installation Package. For example, if the user buy three kinds of Navigate Style, he can configure these Navigate Styles.
(1) Menu and Combine Menu
Both Menu and Combined Menu can only be
horizonal.
Menu style is ordinary menu appeared in most windows.
Cimbine Menu style means that
The Menu for FunctionKey will replace the Menu for Page when a Page is got focus.
The Menu for Page will replace the Menu for FunctionKey when Go-UP is clicked.
For Combine Menu style, the a key Go-UP
should always exist in menu of
FunctionKey.
(2) Popup Menu and Combined Popup Menu
Both Popup Menu and Combined Popup Menu can
only be vertical.
Popup Menu style is ordinary popup menu appeared in most windows.
Cimbine Popup Menu style means that
The Popup Menu for FunctionKey will replace the Popup Menu for Page when a Page is got focus.
The Popup Menu for Page will replace the Popup Menu for FunctionKey when Go-UP is clicked.
For Combine Menu style, the a key Go-UP
should always exist in Popup menu of
FunctionKey.
(3) Start Menu of Windows
(4) Outlook style
(5) Tree View
In the Client part of C/S Frame, add a menu bar as a layout.
In menu bar, there are Global Menu and Local Menu. The Global Menu is at the same level as Page Bar and Message Bar; the Local Menu is at the same level as Title Bar and Function Bar.
Local Menu, Title Bar and Function Bar belong to a Page.
The content and action of Global Menu and Local Menu are configurable.
Frame
Service
Control Frame should provide the following services to COM
· Disconnect with a pane
· Send COM’s message to corresponding Pane
·
Send a
message to any entities within HMI Task
There are three types of users of the platform.
· Component developers
Development of components
· Application Configurators
Write Configure Files to construct an actual application
· Operators
End users to run the application
This developing platform will enable
· component developers to build components based on the templates that describe the interface between components
· Application Configurators to construct a workable application by using scripts according to the script format, not only a independent business layer but also a consistent presentation layer and the connection between them, including constructing internal Component -links and Message-function-Mapping of Components, configuring application appearance. Application Configurators also configure user management/security management.
· advanced end users can configure the running application dynamically
· common users can only do some basic operations
The requirement can be realized in three steps.
· Step 1
· A workable developing platform (just integrate the two parts)
· A presentation page for super user to supervise business layer.
· Step 2
· Make a visual Configuration Editor
· Multiple language support (statically)
· Step3
· Start up automatically after Windows NT starts up
· Login Task integrated in each Application as a default task.
· Super user compose business layer dynamically
· Multiple language support (dynamically)
· Many-to-many relation between presentation layer and business logic layer
Appendix A Figure List
Figure 1 Terminology in HMI C/S Frame......................................................................... 4
Figure 2 HMI Frame Logical Overview............................................................................ 6
Figure 3 configurable capacity of HMI Task.................................................................... 8
Figure 4 Industrial Style of Screen Layout...................................................................... 8
Figure 5 HMI Frame
Layout................................................................................................ 8
Figure 6 Control Frame Logical Overview...................................................................... 8
Figure 7 General Requirement of Control Frame............................................................ 8
Figure 8 Three-Tier Architecture..................................................................................... 8
Figure 9 HMI C/S Frame's three tier architecture............................................................ 8