Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Understanding GUIs in CALS with X Window System, Lecture notes of Computer Fundamentals

A tutorial on the importance of Graphical User Interfaces (GUIs) in Computer-aided Acquisition and Logistic Support (CALS) and recommends the use of X Window System GUI to overcome portability issues and ensure consistency across various platforms.

Typology: Lecture notes

2021/2022

Uploaded on 09/12/2022

kaety
kaety 🇬🇧

4.8

(8)

222 documents

1 / 34

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
NISTIR 4876
NAT LINST, Of STAND & TECH R.I.C.
j
A111D3 aOETTfl
An Introduction to
Graphical User Interfaces and
Their Use by CITIS
100
.056
4876
1992
C.2
Susan Q. Sherrick
U.S. DEPARTMENT OF COMMERCE
Technology Administration
National Institute of Standards
and Technology
Computer Systems Laboratory
Gaithersburg, MD 20899
NIST
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Partial preview of the text

Download Understanding GUIs in CALS with X Window System and more Lecture notes Computer Fundamentals in PDF only on Docsity!

NISTIR 4876

NAT L INST, Of STAND & TECH R.I.C.

j^ A111D3^ aOETTfl

An Introduction to

Graphical User Interfaces and

Their Use by CITIS

100 . 4876 1992 C.

Susan (^) Q. Sherrick

U.S. DEPARTMENT^ OF COMMERCE Technology Administration National Institute of Standards and Technology Computer Systems Laboratory Gaithersburg, MD 20899

NIST

'•i

AN INTRODUCTION TO GRAPHICAL USER

INTERFACES AND THEIR USE BY CITIS

by Susan Q. Sherrick Institute of Standards and Technology October (^) 15, 1991

National

' (^) ’ ?>i * (^) .» (^) V .• *'^'^ .'• !-a '^ ./"^ ’• v?- .1- „ I^ would^ like^ to^ acknowledge^ John^ Barkley^ and^ Roy^ Morgan for (^) their contributions and assistance.

. ,.ivT A. .'^ vl_ ‘'-‘'sS'^' I .'

' - (^) 'i-v ", (^) ' '. '/i •'. (^) .• -’.t ....

^ (^) < 4 r^ .-v-c-v,-;^ » ff I (^) ';t. .,^ '

' ^.•.v, «%ecii 'i '^ ^ ,^ ;;

n ..rf’.

'*\ (^) r

‘-l':"-v (^) ii..''n''r '« (^) - (^) i’) M-'<

™K.('. Ky'I.'A (^) V' •’^.. (^) ,'|.fc"

:'#v V.-l“'...'. :-'^j' "%v (^5) , V , I"..

. :..^.^ '^ .' ;

i.;:itf-.i Vi,fi^;’:;- (^) V-;,|k

  • v

.'•ify,^ y'’^ y’i

  • '••t 7"' (^) f (^) -t 'SsXS!:: ,|.x>-7':3 (^) i^s c ••^ » ~V '.' (^) ?c (^) :i?^4i-(:,' .’.c
  • (^) i' > ' i (^) i-v.' yp X 1 '-.’X

'

:VC p-

!:>: i;^ 'SK-^Ss

“(A-. (^) ,1^

iv ^kxai3.:^ni V'^: ,1^. :^->^^ t.y:-:^ Lltl r!ti},Z7i*^i2£t 'XijX yr' :v ..^!^ .i-v;.:;^,^ x<3 ^nc. jz&a 'i (^) '4'ff ::bBsX%&'i '

{^::j->, (^) .:^.] !n!/ /-tf (^) _^e B-O ?;i'. • .'i‘rio;?ii- .,; au"* 5 a3^»xx?'0“2rj iy:.$5'£i^^: -^ijodltj^' (^) ^

3n.. (^) ,V iz. i^K^ ',qqt-. :)X (^) Y^'tt ^ Xf-Uj^ r^<Xi7-q 'Ji:X '^d bise^. ««S yZ^Xi:'^ (^) _^ T:U.oj^ llB^ '•?£;.>i;il,&^ »«

/" .. > ,•

TABLE OF CONTENTS

I. PURPOSE 1

II. BACKGROUND 1

A. CITIS. 1 B. GRAPHICAL USER INTERFACES 2

III. DISCUSSION A. WHAT^ IS^ A^ GUI?

  1. Display^ Manager^ Program
  2. Application^ User^ Interface^4
  3. Application Programmer's Interface.. 5 B. WHY USE GUIs? 6 C. PROBLEMS^ WITH^ GUIs^7 D. USEFULNESS OF GUIs WITH CITIS ....... 8 E. STATE OF GUI TECHNOLOGY 9

IV. NATIONAL/ INTERNATIONAL STANDARDS VS. EXISTING DEFACTO STANDARDS (^) ... 12

V. RECOMMENDATIONS 13

VI. CONCLUSION (^14)

VII. (^) REFERENCES 15

VIII. (^) BIBLIOGRAPHY ........ 15

CO

OJ

CO

THE USE OF GRAPHICAL^ USER^ INTERFACES^ BY CITIS

I . PURPOSE

.

This report is a Computer-aided^ Acquisition^ and^ Logistic^ Support (CALS) Initiative deliverable^ in^ response^ to^ task^ 3.3 (National Institute of Standards and^ Technology^ Statement^ of^ Work^ dated February (^) 25, 1991). It contains^ a^ discussion^ on^ Graphical^ User Interfaces (GUIs) in general, with specific focus on two areas:

  1. Options for GUI^ use^ within^ the^ Contractor^ Integrated Technical Information^ Service^ (CITIS)^ specification; and

  2. Appropriateness^ of^ using^ national/international standards versus^ existing^ defacto standards.

Because of the nature of^ this^ report,^ it^ is^ necessary^ to^ mention vendors and commercial products. The presence or absence of a particular trade name product does not imply criticism or endorsement by NIST.

II (^). BACKGROUND

.

A. CITIS

.

Section 6 of Draft MIL-STD-CITIS states:

This standard is designed to be incorporated into a contract to define the functional requirements (^) for a computer-based service (^) to provide access to integrated information. CITIS is (^) intended to be an efficient, contractually implementable means for providing the Government with on-line access to contractor generated data and (^) the digital interchange of such data. (^) Ultimately, CITIS will replace most, if not all, contractor (^) delivery of hardcopy information currently required by the Government to manage contractor generated data throughout the life-cycle of the program. The requirements are specified in terms (^) of information services and information functions which must (^) be selected to meet the needs of each application. [MIL-STD-CITIS].

The goal (^) is to allow contractor business and technical information to be generated once, reside in one place, and assist DOD

1

acquisition managers in^ gaining^ automated access to this information. As a result,^ this effort integrates resources, thereby reducing replication of storage and applications, and eliminates increases in information deliverable (^) costs by replacing paper with automated access and delivery services.

B (^). Graphical User Interfaces (GUIs)

.

GUIs have become pervasive on both personal computers (PCs) and workstations. GUIs are powerful tools for the end-user and the application program^ developer.^ For^ the^ end-user,^ a^ GUI^ provides easier access to computing^ resources.^ The^ end-user accesses computing resources by manipulating symbolic representations of the services provided by those computing resources. With a GUI, the end-user is no longer restricted to typing commands one line at a time. For the application developer, a GUI provides the tools for developing such easy to use applications.

Although GUIs are powerful tools for both the end-user and the application developer, portability problems (^) may arise. As (^) a practical consideration, a GUI may be strongly associated with a particular hardware platform. This is not to say GUIs require specific hardware. Although the performance of some GUIs can be improved (^) by the addition of optional hardware, popular GUIs are all software (^) implementations and can, in theory, be implemented on any hardware (^) platform. Nevertheless, this strong association between a hardware platform and a GUI exists. For example, Microsoft Windows is associated with the Intel (IBM compatibles) PC platform. Open Look from Sun/AT&T (^) is associated with the SPARC platform. Motif is (^) associated with (^) platforms that support OSF, such as IBM Rise systems, but is also available on Sun Sparcstations

.

Thus, (^) there are several GUIs in common use and each may be implemented (^) on different hardware platforms. Therein lies the portability problem, which affects both end-users and application developers

.

The end-user is affected (^) by the different (^) "look and feel" of the different (^) GUIs. Although each GUI makes computer use easier for the (^) end-user, most end-users select a preferred GUI and remain loyal to that one. In addition, the application developer is affected by the different APIs that are usually associated with a GUI. (^) For example, an application developed using the Microsoft Windows (^) API must be modified to use the Open Look API.

2

software specifics^ about the computer environment and are able to maneuver^ freely about their system using the desktop display. Pictured below is an example of the Display Manager^ Program^ on^ a Macintosh.^ All^ Display Manager Programs provide a similar view of computing resources ^ File Edit Types Access TeiU SyrnlKiU lines Sh<i(l(H

Figure 1. Display Manager Program

  1. Application User Interface defines the interaction between the user and an application program. It determines the^ overall^ visual appearance^ specific^ to an application. The^ application user interface may^ differ, from one application program to another within the same system environment, depending upon the software developer. This may cause confusion and force the user to learn a new^ interface for each application program. Consistency between application interfaces allows a user to explore and comfortably predict how a new application will behave. There^ are^ "style^ guides"^ available^ for application programmers^ which^ provide^ guidelines^ for developing consistent application user interfaces. In addition to style guides, user interface management systems (UIMS) are becoming available. These software systems are capable of generating source code from a non-

4

procedural representation^ of a user interface [FISH92]

.

Even with the introduction^ of this new technology, (^) a consistent application user interface among (^) application programs is lacking^ in^ many^ GUI^ environments. Pictured below is an example of an application user interface for a database application program^ on a Macintosh. ^ File Edit View^ Special^

^

Figure 2. Application User Interface

  1. Application Programmer's Interface (API) (^) is a library of procedures and data (^) objects for (^) interacting with the (^) GUI. The API is (^) used to program screens and process the dialogue (^) between a user and an application, i.e., how user (^) entries are communicated to an application and how application responses are communicated back to a user [FISH91]. The API is (^) used to implement the display manager program and the (^) application programs. In this paper, (^) for simplicity, an API is characterized as consisting of at least two parts: low-level procedures which (^) draw simple geometric shapes, and toolkits which consist of procedures to draw composite objects, such as windows with scroll bars. Such toolkits invoke the low- level procedures and encourage the production of applications with (^) a consistent user interface.

5

learn, fun to use,^ and^ give^ users^ more^ confidence^ in^ the^ use^ of their computing environments.

C. PROBLEMS WITH GUIs.

As with any new technology, GUIs^ are^ not without their^ problems. The main problem is^ a^ standard^ GUI^ is^ not^ available^ with^ all^ of^ the elements mentioned above.^ This^ results^ in^ vendors^ developing unique and incompatible GUIs,^ sometimes^ depending^ upon^ the^ platform for which they are built.

Systems today have multiple^ platforms^ from^ different^ vendors,^ each running its own flavor of^ GUI.^ Because^ platforms^ have^ different capabilities, the interface for^ a particular^ application^ program may differ between platforms. The result is that applications do not (^) appear or behave in the same manner on disparate platforms. Another possible problem is incompatibility between applications due to varying interfaces for different application programs on the same platform, ultimately causing confusion for users. The choice of (^) hardware, and even application programs, determines the flavor of a GUI [FISH91]. The end result may be the inability^ to share data and resources among diverse applications and computing environments in an organization or enterprise.

Another problem results from the use of different technologies to build GUIs. Some GUIs use the client/server technology (e.g.. Motif, OpenLook) while others use single-user access technology (eg., Microsoft Windows, Macintosh). (^) In single-user access mode, a user is only able to access applications that are resident on his system and is not able to share resources. In a client/server environment users are able (^) to share resources and interact with several application programs running (^) on different platforms. For

example, in the diagram below, workstation A has two windows on its

display. (^) One window is controlled by client application A1 running on Host HI. The other window is (^) controlled by client application A2 running on Host H2. Similarly, workstation B displays a window controlled (^) by client (^) application A1 on host H2 and another window controlled (^) by client application A2 running on host HI. For both workstations A and B input to the appropriate application can be controlled (^) by the location of the mouse cursor on the display.

The workstation is the server and the application programs residing on the hosts are clients. (^) Since the applications controlling the interactive devices of the (^) workstations are running on remote

7

hosts, the hosts are remote execution servers for the client workstations. Conceptually,^ what^ constitutes^ a^ client^ and^ what constitutes a server depends on^ the^ nature of the service relationship and not on whether a node is normally thought of as a workstation or a host [BARK89]

There are three possible general solutions to the problems associated with GUIs. The first is to mandate the use of one particular platform running^ one particular display manager^ and application user interface using one particular application programmer's interface throughout an organization or project enterprise. However, this approach would (^) be costly as new hardware and software would be required. The second solution is to allow users to purchase any GUI that suits their needs, which would probably result in a diverse, possibly incompatible enterprise. The third solution is to create or specify a GUI that is able to run (^) on an assortment of disparate machines and provide the functionality of the three components of a GUI. This will create uniformity and consistency among application programs and disparate computing environments.

D. The Usefulness of GUIs with CITIS.

There are many suppliers and contractors in the CALS environment.

8