home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / v21 / 179.a.diff < prev    next >
Text File  |  1990-12-05  |  15KB  |  334 lines

  1. 394 vn/179 vn/179.a
  2. 1c1
  3. < From std-unix-request@uunet.uu.net  Thu Oct  4 07:46:00 1990
  4. ---
  5. > From jsq@cs.utexas.edu  Thu Oct  4 10:44:57 1990
  6. 3,4c3,4
  7. <     id AA15203; Thu, 4 Oct 90 07:46:00 -0400
  8. < Posted-Date: 4 Oct 90 11:35:31 GMT
  9. ---
  10. >     id AA28247; Thu, 4 Oct 90 10:44:57 -0400
  11. > Posted-Date: 3 Oct 90 16:45:24 GMT
  12. 6,14c6,16
  13. < From: root@cass (cass System Administrator)
  14. < Newsgroups: world
  15. < Subject: cancel <1990Sep29.121015.27562@cass>
  16. < Message-Id: <1990Oct4.113531.7949@cass>
  17. < References: <1990Sep29.121015.27562@cass>
  18. < Control: cancel <1990Sep29.121015.27562@cass>
  19. < Organization: Bull HN, USIS/ISPT - Advanced Technologies for Business Systems.
  20. < Date: 4 Oct 90 11:35:31 GMT
  21. < Apparently-To: std-unix-archive@uunet.uu.net
  22. ---
  23. > From: rcs@sei.cmu.edu (Robert Seacord)
  24. > Newsgroups: comp.std.unix
  25. > Subject: User Interface Management Systems and Application Portability
  26. > Keywords: UIMS, P1201
  27. > Message-Id: <13180@cs.utexas.edu>
  28. > Sender: jsq@cs.utexas.edu
  29. > Reply-To: rcs@sei.cmu.edu (Robert Seacord)
  30. > Organization: The Software Engineering Institute
  31. > X-Submissions: std-unix@uunet.uu.net
  32. > Date: 3 Oct 90 16:45:24 GMT
  33. > To: std-unix@uunet.uu.net
  34. 16c18,314
  35. < This article was probably generated by a buggy news reader.
  36. ---
  37. > Submitted-by: rcs@sei.cmu.edu (Robert Seacord)
  38. > the following article appears in the standards column of the october issue
  39. > of ieee computer.  i am posting it to this newsgroup with permission from 
  40. > the ieee.
  41. > rCs
  42. > ______________________________________________________________
  43. > User Interface Management Systems and Application Portability
  44. > by
  45. > Robert C. Seacord
  46. > Member of the Technical Staff
  47. > Software Engineering Institute
  48. >   Higher  level  programming  languages  and  standard  operating  systems now
  49. > provide greater portability of application software than previously  possible.
  50. > Software  developed  in  C  for  Unix,  for example, can be easily ported to a
  51. > variety of different architectures and  machines.    Developing  language  and
  52. > operating  system  standards  such  as  ANSI  C  and  IEEE  POSIX will further
  53. > application portability.  At a quick glance it appears as though open  systems
  54. > are finally becoming a reality, but are they really?
  55. >   As  porting  software  to  different  architectures  becomes more and more a
  56. > matter of simply  recompiling  the  software  for  that  architecture,  it  is
  57. > apparent  that  a serious problem in portability is with the user interface of
  58. > these systems.  Now, more than ever, when a customer buys a computer  platform
  59. > they  are  also  buying  a  "look and feel" associated with that system.  When
  60. > using an Apple Macintosh, for example, the user expects to be able to  perform
  61. > a variety of actions using a single button mouse.  When working with an MS DOS
  62. > application, the user expects to be able to perform the same actions using the
  63. > keyboard.    When  running  OpenLook,  Motif, or NeXTStep the user expects the
  64. > application to provide a defined look and feel.   Porting  an  application  to
  65. > simply run on a different platform is insufficient; there is a requirement for
  66. > the application interface to behave in a similar fashion to other applications
  67. > developed for that environment.
  68. >   Software  designs are usually not extensible enough to allow the integration
  69. > of different user interface toolkits, particularly if  these  toolkits  employ
  70. > significantly  different  models  in  their  application interfaces.  Changing
  71. > toolkits or integrating new toolkits usually requires  major  modification  to
  72. > the application, which then requires extensive re-testing of the application.
  73. >   Current  standards  activities are just beginning to address these problems.
  74. > To date, standards bodies have attempted to define an abstract user  interface
  75. > toolkit  that  can  be  implemented  in  different  ways.  Where this approach
  76. > provides some degree of device independence it does not allow for the  removal
  77. > of  stylistic  concerns  from  the  application.   For example, where one user
  78. > interface style guide may call for a pull-down menu, another may  call  for  a
  79. > command line interface.
  80. >   One  approach  for  addressing the problem of application portability across
  81. > multiple look and feel platforms is the definition  and  implementation  of  a
  82. > method  for  separating  the  application  from  the  user  interface.    This
  83. > separation makes changing the user interface of the system practical. It  also
  84. > makes  it  possible  to  change  user interface toolkits without modifying the
  85. > application software.
  86. > User Interface Management Systems
  87. >   The term user interface management system (UIMS) was first coined at a  1982
  88. > Workshop  on  Graphical  Input  Interaction Technique (GIIT) [17].  UIMSs are,
  89. > among other things, intended to encourage the separation of a software  system
  90. > into  an  application  portion  and a user interface portion.  The application
  91. > portion of  a  system  implements  the  core  functionality,  while  the  user
  92. > interface portion implements the user interface dialogue.
  93. >   UIMSs   provide   facilities   for   defining   both  presentation  and  the
  94. > computer-human dialogue components of a user  interface.    A  UIMS  also  may
  95. > provide  facilities to support prototyping, encourage a design that allows for
  96. > easy  modification  of  the  user  interface,   support   implementation   and
  97. > maintenance   of   the   user   interface,  and  allow  for  the  evolutionary
  98. > incorporation of new user interface technologies.
  99. >   Most UIMSs are based on the Seeheim architecture [7] (see Figure 1).    This
  100. > architecture  uses a layered approach similar to the one used in International
  101. > Standards Organization (ISO) Open Systems Interconnection (OSI) standard.  The
  102. > architecture  is intended to encourage the separation of functionality between
  103. > the application and the user interface portions of a  software  system.    The
  104. > three different layers of the architecture provide differing levels of control
  105. > over user input and system output.
  106. >         Application Layer
  107. >         Dialogue Layer
  108. >         Presentation Layer
  109. >                         Figure 1:   UIMS Architecture
  110. >   The application layer consists of the core functionality of the  application
  111. > that can be described in a presentation independent manner.  For example, in a
  112. > calculator program this would include the underlying math subroutines library.
  113. >   The dialogue layer  specifies  the  presentation  dependent  portion  of  an
  114. > application  system including the dynamic behavior of the user interface.  The
  115. > dialogue should allow the display and removal of interaction  objects  without
  116. > application  involvement and support cascading menus, direct manipulation, and
  117. > other user interface sytles and techniques.  The dialogue provides the mapping
  118. > between  the presentation and application layers.  The user interface dialogue
  119. > may be specified using a user interface definition language (UIDL)  or  by  an
  120. > interactive technique.
  121. >   The  presentation  layer  controls  the  end-user interactions and generates
  122. > low-level feedback.  The  presentation  layer  consists  of  a  collection  of
  123. > interaction objects defined for a given user interface technology.
  124. > Existing Approaches
  125. >   Since  the  1982 GIIT Workshop, there have been a number of efforts to build
  126. > UIMSs that achieve the goal of  separation  of  concerns,  while  remaining  a
  127. > practical   approach  to  software  development.    These  systems  have  been
  128. > classified by the model used in dialogue specification.    Some  of  the  more
  129. > successful  approaches have been:  event-driven, declarative, object-oriented,
  130. > data-driven, and interactive layout systems.
  131. >   In the event-driven approach, inputs are  considered  as  events  which  are
  132. > immediately  handled  by  event  handlers.    Event  handlers can cause output
  133. > events, change  the  internal  state  of  the  system,  and  call  application
  134. > routines.   Examples of event-driven systems include the University of Alberta
  135. > UIMS [6], ALGAE [5], Sassafras [9], and the TeleUSE UIMS [16].
  136. >   Another approach is the use of declarative languages  in  which  constraints
  137. > are  defined in order to specify what the system should do rather than specify
  138. > how it should be done.  An example of a system that  takes  this  approach  is
  139. > Cousin [8].  In this category, there is a class of systems which automatically
  140. > generate the user interface based on a definition  of  the  semantic  commands
  141. > supported by the application. Examples are the UofA* UIMS [12] and MIKE [10].
  142. >   An  object-oriented  approach  uses  objects for defining user interactions,
  143. > transforming data and interacting with the application.  A good example  of  a
  144. > commercially  available  system  that uses an object-oriented approach is Open
  145. > Dialogue [1] developed by Apollo Computer.
  146. >   In the data-driven approach, the application communicates with the  UIMS  in
  147. > terms  of  shared  data elements.  The UIMS behaves like an active database in
  148. > that it provides a mapping between application data and user interface toolkit
  149. > objects, and notifies the application of changes to application data resulting
  150. > from user interactions.  This approach was implemented  in  the  Serpent  UIMS
  151. >  [2]  developed  at  the  Software  Engineering  Institute  at Carnegie Mellon
  152. > University and the George Washington UIMS [11].
  153. >   Interactive layout systems allow the user to build user interface by  direct
  154. > manipulation.    Examples are Menulay [3], DialogEditor [4], vu [13], and TAE+
  155. >  [15].
  156. > UIMS Study Group
  157. >   The IEEE P1201 working group was formed in January of 1989 and chartered  to
  158. > develop standards that would further application and user portability in the X
  159. > Windows Environment [14].  Since P1201 was formed,  Open  Software  Foundation
  160. > (OSF), Sun and AT&T have independently developed toolkits for X Windows.  Much
  161. > of the P1201 effort has been spent trying to decide if any of  these  toolkits
  162. > can  serve as a basis for a standard or if a "virtual" toolkit approach can be
  163. > used.
  164. >   In August of 1989, a UIMS study group was begun in  P1201  to  determine  if
  165. > UIMS  technology was sufficiently advanced to solve the problem of application
  166. > portability across multiple look and feel platforms and to define the scope of
  167. > a UIMS standard.
  168. >   The   group   identified  two  components  where  standardization  would  be
  169. > beneficial to the industry.  The first of these is an application  programmers
  170. > interface (API) that would:
  171. >    1. Provide a standard application programmers interface across changes
  172. >       in the underlying toolkit.
  173. >    2. Support  the  separation  of  an  application   into   presentation
  174. >       independent  and presentation dependent layers corresponding to the
  175. >       application, dialogue,  and  presentation  layers  of  the  Seeheim
  176. >       architecture.
  177. >    3. Allow   the  development  of  applications  that  are  presentation
  178. >       independent  (i.e.,  the  underlying  windowing  system   or   user
  179. >       interface toolkit).
  180. >   The  second  component is a UIMS interchange format (UIF).  The purpose of a
  181. > standard UIF is:
  182. >    1. To enable a wide variety of UIMSs to use a single format  to  store
  183. >       and exchange their data.
  184. >    2. To  allow  vendors  to develop compilers or interpreters that could
  185. >       "execute" the UIF on their  platforms  in  a  manner  analogous  to
  186. >       postscript printers.
  187. >   The  P1201  UIMS  study  group  has  evaluated  a  number  of user interface
  188. > management systems including Serpent, TeleUSE, and TAE+.  The concensus of the
  189. > group  is that the state of the practice is sufficiently advanced to warrant a
  190. > standards effort.  It is believed that a  UIMS  standard  would  enhance  both
  191. > application  portability  and  the  state  of  the  practice in user interface
  192. > development.
  193. >                                   REFERENCES
  194. > [1]   Apollo Inc.
  195. >       Open Dialogue:  Designing Portable, Extensible User Interfaces.
  196. >       1987
  197. > [2]   Bass, L.J., et al.
  198. >       Serpent:  A User Interface Environment.
  199. >       In Proceedings, Winter 1990 USENIX Technical Conference.  Washington,
  200. >          D.C., January, 1990.
  201. > [3]   Buxton, W., Lamb, M.R., Sherman D., Smith, K.C.
  202. >       Towards a Comprehensive User Interface Management System.
  203. >       In Computer Graphics: SIGGRAPH'83 Conference Proceedings, pages 35-42.
  204. >          Detroit, MI., July, 1987.
  205. > [4]   Cardelli, L.
  206. >       Building User Interfaces By Direct Manipulation.
  207. >       In Proceedings, ACM SIGGRAPH Symposium on User Interface Software, pages
  208. >          152-166.  ACM, New York, NY, 1988.
  209. > [5]   Flecchia, M.A. and Bergeron, R.D.
  210. >       Specifying Complex Dialogs in ALGAE.
  211. >       In Proceedings SIGCHI+GI'87: Human Factors in Computing Systems, pages
  212. >          229-234.  Toronto, Ont., Canada, April, 1987.
  213. > [6]   Green, M.
  214. >       A Survey of Three Dialogue Models.
  215. >       ACM Transactions on Graphics 5(3):244-275, July, 1986.
  216. > [7]   Green, M.
  217. >       Report on Dialogue Specification Tools.
  218. >       User Interface Management Systems :9-20, 1985.
  219. > [8]   Hayes, P.J., Szekely, P.A., Lerner, R.A.
  220. >       Design Alternatives for User Interface Management Systems Based on
  221. >          Experience with COUSIN.
  222. >       In Proceedings SIGCHI'85: Human Factors in Computing Systems, pages
  223. >          169-175.  San Francisco, CA, April, 1985.
  224. > [9]   Hill, R.D.
  225. >       Event-Response Systems -- A Technique for Specifying Multi-Threaded
  226. >          Dialogues.
  227. >       In Proceedings SIGCHI+GI'87: Human Factors in Computing Systems, pages
  228. >          241-248.  Toronto, Ont., Canada, April, 1987.
  229. > [10]  Olsen, D.R.
  230. >       The Menu Interaction Kontrol Environment.
  231. >       ACM Transactions on Graphics 5(3):318-344, 1986.
  232. > [11]  Sibert, J.L.
  233. >       An Object-Oriented User Interface Management System.
  234. >       In Computer Graphics: SIGGRAPH'86 Conference Proceedings, pages 259-268.
  235. >          Dallas, Texas, August, 1986.
  236. > [12]  Singh, G. and Green. M.
  237. >       A High Level User Interface Management System.
  238. >       In Proceedings SIGCHI'89:  Human Factors in Computing Systems, pages
  239. >          133-138.  ACM, New York, NY, 1989.
  240. > [13]  Singh, G. and Green. M.
  241. >       Designing the Interface Designer's Interface.
  242. >       In Proceedings, ACM SIGGRAPH Symposium on User Interface Software, pages
  243. >          109-116.  ACM, New York, NY, 1988.
  244. > [14]  Mehta, S.
  245. >       User Interfaces and the IEEE P1201 Committee.
  246. >       Unix Review 8(1):14-20, January, 1990.
  247. > [15]  Szczur, L. and Miller, P.
  248. >       Transportable Applications Enviroment (TAE)+:  Experiences in
  249. >          Objectively Modernizing a User Interface Environment.
  250. >       In OOPSLA'88 Conference Proceedings, pages 58-70.  San Diego, CA,
  251. >          November, 1988.
  252. > [16]  TeleLOGIC.
  253. >       TeleUSE Reference Manual.
  254. >       1989
  255. > [17]  Thomas, J.J. and Hamlin, G.
  256. >       Graphical Input Interaction Technique (GIIT) Workshop Summary.
  257. >       Computer Graphics 17(1):5-30, January, 1983.
  258. > Volume-Number: Volume 21, Number 179
  259.