Digital Technical Journal, Volume 6, Number 4 Dtj_v06 04_1994 Dtj V06 04 1994
dtj_v06-04_1994 dtj_v06-04_1994
User Manual: dtj_v06-04_1994
Open the PDF directly: View PDF .
Page Count: 108
Download | |
Open PDF In Browser | View PDF |
• • • RAID Array Controllers Workflow Models PC LAN and System Management Tools Digital Technical Journal Digital Equipment Corporation Volume 6 Number 4 Fall 1 994 Editorial Jane C. Blake, Managing Editor Kathleen M. Stetson, Editor Helen L. Patterson, Editor Circulation Catherine M. Phillips, Administrator Dorothea B. Cassady, Secretary Production Terri Autieri, Production Editor Anne S. Katzeff, Typographer Peter R. Woodbury, Illustrator Advisory Board Samuel H. Fuller, Chairman Richard W Beane Donald Z. Harbert William R. Hawe Richard]. Hoi I ingsworth Richard F Lary Alan G. Nemeth Jean A. Proulx Robert M. Supnik Gayn B. Winters The Digital Technicaljournal is a refereed journal published quarterly by Digital Equipment Corporation, 30 Porter Road '"102/D 10, Littleton, Massachusetts 01460. Subscriptions to the journal are $40.00 (non-U.S. $60) for four issues and $75.00 (non-U.S. $115) for eight issues and must be prepaid in U.S. funds. University and college professors and Ph.D. students in the electrical engineering and computer science fields receive complimentary subscriptions upon request. Orders, inquiries, and address changes should be sent to the Digital Technicatjournal at the published by address. Inquiries can also be sent electronjcally to dtj@digital.com. Single copies and back issues are available for $16.00 each by calling DECdirect at 1-800-DIGITAL (1-800-344-4825). Recent back issues of thejou·rnal are also available on the Internet at http://www.digital.com/info/DTJ/home.html. Complete Digital internet listings can be obtained by sending an electronic mail message to irtfo@digital.com. Digital employees may order subscriptions through Readers Choice by entering vrx PROFILE at the system prompt. Comments on the content of any paper are welcomed and may be sent to the managing editor at the published-by or network address. Copyright© 199 5 Digital Equipment Corporation. Copying without fee is permitted provided that such copies are made for use in educational institutions by faculty mem bers and are not distributed for commercial advantage. Abstracting with credit of Digital Equipment Corporation's authorship is permitted. All rights reserved. The information in the journal is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation or by the companies herein represented. Digital Equipment Corporation assumes no responsibility for any errors that may appear in the journal. ISSN 0898-901X Documentation Number EY-Tll8E-TJ The following are trademarks of Digital Equipment Corporation: AXP, Cl, DEC, DEC OSF/1, DECmcc, DECmodel, DECnet, DECwindows, Digital, the DIGITAL logo, HSC, HSC50, HSC60, HSC70, HSC90, HSJ, HSZ, InfoServer, KDM, ManageWORKS, Object Flow, OpenVMS, PATHWORKS, POLYCENTER, StorageWorks, ULTRIX, VAX, VAXcluster, VAXstation, VMS, and VMScluster. Apple and AppleShare are registered trademarks of Apple Computer, Inc. dBase IV is a registered trademark of Borland International, Inc. Cover Design Our cover design is inspired by a system man agement topic in this issue. Manage WORKS software is a system and network manage ment tool that presents an object-oriented, graphical view of a heterogeneous LAN envi ronment. The multi color circles on the cover represent the diverse objects, or entities, on the networks among which a system adminis trato-r "navigates" using the integrated com ponents of the tool. The cover was designed by Lucinda O'Neill Hewlett-Packard is a registered trademark of Hewlett-Packard Company. i960 is a trademark of Intel Corporation. IBM and NetView are registered trademarks of International Business Machines Corporation. Knowledge Craft is a registered trademark of Carnegie Group, Inc. Microsoft and Visual C++ are registered trademarks and Windows and Windows NT are trademarks of Microsoft Corporation. NFS is a registered trademark of Sun Microsystems, Inc. NetWare and Novell are registered trademarks of Novell, Inc. OSF/ I is a registered trademark of the Open Software Foundation, Inc. Sun M icrosystems is a registered trademark of Sun Microsystems, Inc. UNIX is a registered trademark in the United States and other countries, licensed exclusively byX/Open Company Ltd. andjoe Pozerycki,jr:, of Digital's Design X Window System is a trademark of the Massachusetts Institute ofTechnology. Group. Book production was done by Quantic Communications, lnc. I Contents RAID Array Controllers 5 The Architecture andDesign of HS-series StorageWorks Array C ontrollers Stephen ]. Sicola Workflow Models 26 Policy Resolution in Workflow Management Systems Christoph ]. BuBier 50 TheDesign ofDECmodel for Windows Stewart V Hoover and Gary L. Kratkiewicz PC LAN and System Management Tools 63 TheDesign of ManageWORKS: A User Interface Framework Dennis G. Giokas and Joh n C. Rokicki 75 The Structure of the OpenVMS Management Station James E. Johnson 89 Automatic, Network-directed Operating System Software Upgrades: A Platform-independent Approach John R. Lawson , Jr. I Editor's Introduction explain the reason i ng behind the creati o n of a pre sentation layer in DECmoc.l el that provides a graphi cal view of the business process while h iding the technical details of the mode l . The authors also cover i m plementation detai ls, i n c l u ding the deci sions to move from the original !.IS!' environment to a C:++ program m i ng environment and to i mple ment the knowledge base for DECmodel in ROCK, a frame-based .knowledge representation . We t hen shift the focus to ManageWORKS and POLYCENTER tools that have been developed to Jane C. Blake Managing Editor simp l i fy the increasingly compl icated job of system management. The first of three papers describes the development of the ManageWORKS Workgroup Administrator software. Dennis Gio kas ami John Three computing topics are presented in this issue Rokicki d iscuss the design principles adopted for of the journal: a storage array controller for open this product that enables system and network man system environments, workflow architectures and agement of heterogeneous L.A Ns from a single PC tools, ancl PC andlAN system management products. The ope n i ng paper, by Steve Sico l a, describes Digital's new HS series of StorageWorks array con running Microsoft W i ndows. Key design elements are plug-in , customizable modu les for system navigation ancl management, ami the user i n ter tro l lers. Designed for open systems, the con trol face framework, w hich controls the flow between lers i nterface to host computers by means of the modu les. The authors offer scenarios to i l l ustrate i ndustry-standard SCSI-2 i n terconnect, as wel l as interactions between components. Digi tal's CI and OSSI host i ntercon nects. Equal ly Managing OpenVMS systems from a PC runn ing i mportant to designers as openness were con troller the Microsoft Windows operating system can be availab i l i ty and performance. I n novative features accomplished with the OpenVMS Management were i ntroduced, i nclud ing dual - redundant con Station, of which ManageWORKS is a key compo trol lers and Parity RAID firmware to ensure high nent. Jim Johnson defines the need for this scalable availability, and a wri te-back cache that significantly and secure cl ient -server tool in OpenVMS envi improves performance. The paper concludes with ronments, which can be clustered, d istributed , a description of the com mon controller processing expanded, and networked extensively. After a d is core for the SCSI, CI, and DSSI contro l ler variants. cussion of design alternat ives, Jim describes the Workflow is the subject of two papers w ith d i f fering perspectives. Christoph BuBier opens his fu nctions of the Stat i on's c l ient, communication, and server components. paper with introd uctory defi n i t i o ns and i m p I ica The fi nal paper is abo u t an in iti a l system load tions of workflow concepts. He argues that a \ovork (ISL) capabil i ty for automatic, network-directed. flow t hat uses roles fo r task assignment is l imited, operating system software upgrades. John Lawson especial ly i n large. i nternational enterprises. He reviews goals for the POLYCENTER Software Distri states that by adding the d i mensio n of organiza bution layered product, compares the POLYCENTER t io nal dependencies for task assignment a complex ISL process with the OpenV:VIS ISL p rocess. and workflow is more precisely expressed . Using the steps through the requirements for expanding the example of a travel expense rei mbursement work l'OLYCENTER Sofnvare Distribution capab i l i ty to flow, Christoph shows how the Pol icy Resolution other platforms and operating systems. Architecture design principles support en terprise Our next issue w i ll celebrate the Journ a l's tenth level workflow deployment-reusab i l ity, securi t y, ann iversary of publ ishing the technical ach ieve general ity, dynamics, and d istribution . He also d is ments of Digi tal 's engineers and partners. The issue cusses the Pol icy Defi n i t i o n Language that formal ly will feature database technol ogies and new Alpha describes workJlow elements. workstations ancl h igh-end server systems. A second paper about workflow presents a tool, cal led DECmodel for W indows, for the development of business p rocess models and their graph ical presentat i o n . Stew Hoover and Gary Krat k iewicz 2 I Biographies Christoph J. BuBier Christoph BuGler is a fac u lty member at the Technical University of Darmstadt, Germany, where he is pursuing a Ph.D. degree. His research is in workflow and organization modeling, with a focus on organizational embec.l cling of workflow management, ancJ i n architectures for enterprise-wic.le deployment of workflow management systems. While at Digital from 1991 to 1994, Christoph developecJ the Policy Resolu tion Architecture and its prototype imple mentation. He ho lds an M .C.S (1990) from the Technical University of Mu nich ancJ has published many papers o n workflow management and enterprise modeling. Dennis G. Giokas Dennis Giokas is currently a senior associate with Symmetrix, Inc. W hile at Digital from 1984 to 1995, he was a consulting engineer in the PATHWORKS group. He co-led PA1HWORKS VS.O and archi tected the user interface ami system m anagement tools. He was a lso architect and m anager for the PC DECwindows program. Previously, Dennis worked at Arco Oil & Gas and The Foxboro Company developing process control software. He holds a Bachelor of Music from the University of Massachusetts at Lowell, a Master of Music from the New England Conservatoq', and an M.S.C.S. from Boston U niversity. Stewart V. Hoover EmployecJ at Digital Equipment Corporation between 1984 and 1994, Stew Hoover is currently a n i ndepenc.Jent consu ltant specializing in modeli ng ancJ simulation. Before j o ining Digital, he was an associate professor of i ndustrial engineering ancJ inform ation systems at Northeastern University. Stew contribu ted to the deve lopmen t of the DECalc-PLUS appl ication, Statistical Process Control Software (SPCS), and the DECwindows version of Symmod. He has written many papers and articles o n simu lation and i s coau thor of Simulation, A Problem-Soluing Approach, publ ished by Addison-Wesley. James E. Johnson A cons u l ting software engineer, J i m Johnson has worked in the Open VMS Engineering Group since joining D igital in 1984. He is currently a member of the OpenVMS Engineering team i n Scotland, where he is a technical consu ltant for transaction processing and file services. His work bas spanned several areas across OpenVMS, i ncluc.l ing RMS, the DECc.ltm transaction services, the port of Open VMS to the Alpha architecture, and Open VMS system m a nage ment. Jim holds one pate n t on com m i t protocol optimizations. He is a member of the ACYl. 3 Biographies Gary L. Kratkiewicz Gary Kratkiewicz is currently a scientist in the I n tel li gen t Sy s te m s R&D Group at Bolt Beranek and Newman Inc. As a principal engi neer in Digita l 's DECmodel engineering group from 1991 to 1994, Gary coordinated the architecture and high-level design specifications, and c.lcvel oped the knowledge base, script engine, API, and several user interface modu les. Earlier at Digit a l , be developed an expert system fo r shipping and was project leader for a knowledge-based logistics system. Gary holds a n S. B . M . E. from ,\'liT and an M.S. in manufacturing systems engineering from Stanford University. john R. Lawson, Jr. John Lawson joined D igital in 1984. He has been a mem ber of the OpenWns. resources across shared device ports. The storage fault-tolerance goal was to develop firmware support for controller-based redundant Another approach to reduce latency was to develop controller-based disk striping, i.e., implement the HAU) level 0 technology.2 Specific array of inexpensive disks (RAID). 2 The initial goals were to achieve parallel access to all RAID Parity RAID implementation incorporated the level 0 array members for read and write opera best attributes of RAJD levels .3 and ). The design tions ancl to streamline firmware to increase provided the basis for later implementations of RAJD level 0 pert()rmance. other forms of RAJD technology, notably mirror ing. Parity RAJD supports the goal of storage fault tolerance by providing tor continued l/0 service from an array of several disks in the event that one disk fails. StorageWorks packaging that pro vides redundant power supplies and cooling should be combined with the Parity RAJD tech nology to extend storage fault tolerance. .3. High performance. The goals for high perfor mance were to specify controller throughput (the number of I/O operations per unit of time), latency (responsiveness). and data transfer rate (controller bandwidth) for each of the three con troller platforms: Cl, DSSI, and SCSI. The through put was specified in the maximum number of read and write requests executed per second. The controllers had to speed up the response time for host I/O operations and thus clel.iver data The Parity RAID performance goal was to over come the well-known weaknesses of RAID level 3 (i.e., poor transaction throughput) and RAID level 5 (poor small-write performance) and to approach RAID level 0 striped array performance for both small and large read and write requests.2 A combination of hardware-assisted parity computations and write-back caching helped achieve this goal. Parity calculations in hardware reduced firmware overhead to complete RAID level 5 write operations. Write-back caching minimized the effects of the RAID level ) small write penalty.; To meet the needs of customers who require high data transfer rates \Vith RAID, RAID level 3-style algorithms must be added for the Parity RAID design. A common controller processing core had to be architected and designed to meet the perfor with lower command latency than the HSC con mance nee(ls of all the planned StorageWorks trollers. StorageWorks controllers had to achieve controllers (based on host interface capabili the highest possible data transfer rate and were ties). The platform had to execute the same base to do so on a common platform. firmware, coupling new host interface firmware The platform-specific controller throughput goals were as follows. The initial goal for the Cl to-SCSI controller was 1,100 read requests per second; the long-term goal was 1,500 to 1,700 to the specific platforms. A common platform was believed to ease product development and to maximize reuse of firmware for the same "look and feel" in all products. read requests per second. The initial goal for the D SSI-to-SCSI controller was 800 read requests per was I ,300 read For Storage Works controllers to enter the open sys requests per second. The initial goal for the SCSI tems market, product designers had to consicler second; the long-term goal to-SCSI controller was 1,400 read requests per the following aspects of open systems in the con second; the long-term goal was 2,000 read troller definition: the use of industry-stanJarc.l requests per second. The controller throughput device interconnects and industry-standard devices t()r write operations was slightly lower. attached to the control ler, and the use of incl. ustry To reduce latency, the controller hardware and firmware implemented controller l/0 re l lowing sectio n . The main issue is to con both controllers. The cache LOCK sig n a l s are tion with Parity RAID operations for the reasons tinue to provide as much data protection as possi exclusive access to a specific cache modu le to ble for Parity RAID disk configurations when the ensure data i ntegrity. LOC K signa ls from a con battery on the write-back cache is low or bad. trol ler that has been " kil led" by its dual-redundant partner are reset so t hat the partner m ay fail over any unwritten cache data in the write-hack cache. • The contro l ler is u n able to commu nicate with the devices to which it is currently a l located for host operations. 'T'his situation c a n occur if Failouer Con trol ler faiJover is a feature of the a device port on a contro l ler fails. dua l - redu ndan t configuration for Sto rageWorks con tro l lers. Failover of a control ler's devices and cache to the other con trol ler occurs when • A control ler fails to send the keep a l ive message. This situation can occur because of a control ler failure in the dual UART (DlJART) or in any other non-fau lt-tolerant portion of the contro l ler mod Storage Fault Tolerance Storage fau lt tolerance is achieved by ensuring t hat power or e nvironmental factors do not cause devices to be u navail able for host access a nd by using firmware to prevent a device fail u re from affecting host accessibi l ity. u le. In this scenario, the surviving contro l l er uses Enuironmenta/ Factors com m unicates to the failed con tro l ler's devices. provide for optional redundant power supplies and and then serves the failed contro l ler's devices to cooling fans to prevent power or fan failures from making devices u navai l a b l e . The SCSI-2 cables that hosts. The failover of a control ler's cache occurs only if write-back caching was in use before t he con tro l ler fail ure was detected . In this cas e . the sur viving control ler uses the failed contro l ler's cache to write a n y previously u nwritten data to the failed control ler's disks before serving these dis ks to hosts. When the surviving control ler has written the data to disks (i.e. , f l ushed the data), it releases the cache to await the failed c o n tro l ler's return to the dual-redu ndant con figura tion through reinitialization • or rep l acement. A customer desires to change the load balance of one or more devices at tached to one co ntro l ler to the other contro l ler. This specia l ized use of failover provides a load-ba l a ncing feature 12 StorageWorks enclosures the K I Ll. s ignal to disable the other controller, con nect device shelves to the con trol ler shel f carry extra signa l s to a lert the control ler to power supply or fan fail ures so that t hese conditions may be reported to host com p u ters. 'T'he enclos u res must contain l ight -em i t ting d i odes (LEOs) to a llow a con trol ler to iden tify failed devices. In addition, a cache m od u l e can fail , and the con troller wil l con tinue to O]Jerate. RA ID Technology Tb prevent a device fai l ure from a ffecting host access to dat a , the designers i ntroduced a combined firmware and hardware implement a tion of RAID technology. 2 The designers had to decide which RAID level to choose and what tvpe of hardware (if any) was required fo r the implementatio n . llri/. 6 ;Vu. i /-{Iff !')') 1 Dip , ita/ Tecbuica / journal The Architecture and Design of HS-series StorageWorks Array Con trollers The designers considered RAJD levels 1 through 5 be protected i mpl ies an i n herent cost of one as opti ons fo r solv ing the problem of disk fai l add itional housed , powered , and attached d isk. ures t h a t affect data ava ilabil ity. RAID level 1 (disk RAID level 1 was a l so discounted because software mirroring, which is depictecJ in Figure Sa) was based solutions were available for many of the rejected because of its higher cost, i . e . , the cost of hosts for which the HS-series control lers were i n i parts to i mplement the mirroring 2 Each d isk to tially targeted . DATA DISKS CHECK DISKS (a) Mapping fur a RAID Level 1 A rray (c) Mapping for a RAID Leve/ 3 A rray (e) (d) Mapping for a RAID Leue/ 4 Array A Typical Mapping for a RAID Level 5 A rray Figure 5 D igital Technical journal (b) Mapping for a RA ID Level 2 A rray Vol. 6 No. 4 Mappingfor RAID Levels Fal/ 1994 1 through 5 13 RAlD Array Controllers RA I D levels 2 through 4, i l l us t rated in Figures 5 b • t h rough 5d, were rejected because t hey do not pro A co n tro l ler fa i l u re occurs with a host's write request o u tstand i n g . v i d e goo d performance over t he e n t ire range of • 1/0 workJoads for which the c o n t ro l l e rs were tar E i ther t h e u p d a ted data or the u p dated p a r i t y t()r the host's write request bas been wri t te n to d is k get e d . 1 In gen eral , these RAID leve l s prov ide h i g h , b u t not both . s ingle-stream data transfer rates b u t relative l y p o o r transact i o n processing performance. • RAID level 5 i n its p u re for m was rejected because A fa i l u re of a d i fferent d isk occurs after t he con t ro l ler fa i l ure has been re paired . o f its poor write perfo r m ance, espec i a l ly for s m a l l To e l i m i n are t h i s w r i te h o l e , designers bad to write opera t i o n s . ! T h e designers u l ti m a t e l y chose develop RAID level 5 data mapp i n g (i . e . , data striping w i t h i n terleaved parity, a s i l l us t rated i n Figure 5 e ) cou a method of preserving i n fo r m a t i o n about o ngo i n g RA I D w r i te operations across power fa i l pled with d y n a m i c update a lgo r i t h m s and wri te u res s u c h t ha t i t co u l d be c onveyed between p a rt back cac h i ng to overcome t he sm a l l -w r i te pena l t y. n e r contro l lers i n a d u a l - re d u nd a n t configura t io n . Designers decided to use n o n vo l at i l e caching of Th is i mp l e m e n t a t i o n is cal led Parity RAI D . IWD write opera t i on s i n progress 5 Three a lterna An HS-series P a r i t y RAID array appears t o hosts as an eco n o m i c a l , fau l t - toler a n t v i r t u a l disk tives were consid ered : u n it . A Parity RAID v i r t u a l d isk u n i t w i t h a storage capac i ty equ iva l e n t to that of n d isks requ i res ical d isks to i mplement . Data n+ 1 and 1 . An u n interr u p t i b l e power supply (UPS) fo r the phys parity control ler, cache, a n d a l l a ttached d isk dev ices. are This choice was d eemed to be a costly a n d d istri buted (s tri ped) across a l l d i s k members in the u nwieldy s o l u t i o n bec<�use of t h e range of possi array, primari ly to equal ize the overbe r Parity RAID firmware 40 wou l d speed u p RAI D pari t y c a l c u l a t i o ns and th u s 0 0 w fur ther i mprove P a r i t y RAID l atency a n d t h rough � 30 p u t . The firmware also supports FX compare opera t i o n s , w h i c h e l i m in a tes t he need fo r SCSI-2 devices that have impl e mented compare com mands and fo r speeding up compare requ ests from hosts. WORKLOAD 1 WORKLOAD 2 WORKLOAD 3 KEY R E A D CACH E WRITE-BACK CAC H E Figure 8 To prod u ce a h igh-perfo r m a n ce c o n t ro l l e r i n a l l t h ree perfo r m ance d i mensions-latency, t h rough J BO D ARRAY M O D E L D 0 Cmnmon Hardware Platform PARITY R A I D ARRAY M O D E L • 0 R E A D CAC H E W R I TE-BACK CAC H E H�/40 Art'C�J' Latenq Comparisons put, and clara transfer ra t e - t he d esigners of Sto rageWorks c o n t ro l l e rs faced the c h a l lenge of crea ting a new c o n t ro J ie r arch i tectu re ami u sing new techno logy. I n a d d i t io n , t hey bad to do so at a reasona b le cost. A l though each has i t s own specific host i nterface and Parity RAID u n i ts ( i n a five-pl u s - o n e con figu ra t ion) . The p e r fo r m a nce measu re m e n t s were t a k e n from a versi o n 2.0 I-JSJ40 array contro l l e r. Wor k load 1 has a read/write ratio of 70/30. i . e . , 70 percent o f t h e requests were read req uests a n d :)0 percent were write req uests. Wo r k l oa d 2 has a read/write ratio o f 84/ l(>. Workload 3 has a ratio of 20/80 I n al l workloa(IS, the l a tency for i nd iv i d u a l devices a n d fo r Parity RAm u n i t s i s lower when write-back caching is enabled than when only read cac h i ng is enabled. I n fact, when write operations d o m i nate the 1/0 m i x , l a tency for Parity RAJD u n its is the same as for the workloads i n which read oper ations are predom i n a n t ' RAID/Compare Hardware hardware, t he Cl, DSS!, a m i SCSI c o n t ro l le r variants share a com m o n h a rdware core. Com m o n a l i t y was d esired to c o n t ro l the llevelopment costs and sched u les for such l arge e ng i n eeri ng projects. To del iver h i g h p e r formance a n d c o m m o n a l i t y, the designers inves t igated seve ra l c o nt ro l le r archi tec t u re al terna tives. T he first a rc h i tectu re consid ered was s i m i l a r to D igita l 's HSC'iO-':)'i con trol l e r, i ncor porat i ng s i m i l a r bus s t r u c t u res, processing ele ments, and memories, but newer Figure ':) shows the HSC a rch i tec t u re . 0 technology. T h e HSC architecture is a t r u e m u l t iprocessor sys tem . It contains a private memory for its pol icy pro cessor, w h i ch m a n ages the work t h a t is coming from t h e host p o rt i n terface ami queues t h is wo r k to the device i n terface m o d u les. Data t he n fl ows between the host p o rt and d e v ice m o d u les to ami Storage Works control lers contain a hardware Parity from RAI D ami data compare accelerator called FX, a gate ( b uses) fo r access to co m m and process ing and data array that performs o n - the-fly XOR operations on data buffers. Parity RA I D ami data compare firm hosts. The m o d u les have two i n t e rfaces movement. These buses are ca l led the control mem ory i n terface a mi the data memory i n terface. The ware use t h is gate array to accelerate Parity R A I D p o l i c y processor queues work to the host port a n d parity calcu l at i o n s ami host data compare req uests. device m o d ules through the c o n t ro l m e m o r y i n ter (1) observe the bus, (2) " s n oo p " t he bus for specifi c add resses, (3) p e r face, and t he n the m o d u les process the clara over 'T'he FX chip is progra m med to the data mem ory i nte rface. fo rm the XOR o p e ra t i o n to compare the associated Using this arch itecture wou l d have been too data o n - t he-fly w i t h data in a private memory called expensive. The c o n t rol ler cost had to be competi XBliF m e m o ry, a n d (4) w rite the data back i n to t i ve w i t h other p ro d ucts in the i nd u s try, most the X BUF memory. o f w h ich c u r re n t l y cost considera b l y l ess t h a n t he XOR operations can take p l ace as d a t a is moving HSC c o n t ro l ler. The HSC b u s arch itecture requ i red from bu ffe r o r cache mem ory to d ev i ce ports o r t h ree d i ffe re n t memory i n t erfaces, which wou ld vice ve rsa . T h e FX can a l s o p e rform d i rect memory access ( D i'vlA) opera t i o n s to move t h e contents of b u ffe r o r cache mem o ry to o r from XBUF memory. 20 requ ire t h ree d iffere n t , poten t i a l lv large mem ories. The designers h a d to p u r s u e other options t h a t m e t the c o s t goals b u t d i d n o t significa n t ly reduce \1J/ G No. 4 /·all 1')94 D igital Tee/mica/ jourua/ The Architecture and Design of HS-series StorageWorks Array Controllers CONTROL BUS (6.6 MB/S) CONTROL MEMORY < CI BUS HOST INTERFACE POLICY PROCESSOR 8 8 L DISK INTERFACE OR TAPE INTERFACE (UP TO 8 TOTAL) TERMINAL 8 > DATA MEMORY I LOAD DEVICE r-- r-- . ·· I DATA BUS (1 3.3 MB/S) Figure 9 1....:... I SOl OR STl {4 PER INTERFA CE) Block Diagram of the HSC Architecture performance. They considered single internal bus icy processor to access one memory whi le a device architectures, but during simul ation , these options or host port processor accesses the other memory. were unable to meet either the initial or the l o ng The architecture achieves a lower overa l l cost than the HSC architecture yet ach ieves similar term cost goals. 10 shows the controller architecture performance. The new architecture, with fewer option that became the common hardware base for memories, does not significantly reduce the perfo r Figure StorageWorks control lers. This architecture con mance, while the newer technology chosen to tains three buses ami two memories. A third s m a l l i m p lement the contro l ler enhances performance. memory is used for Parity RAJD a n d d a t a compare operations but does not drastically increase con The bus bandwidth of the new controller is much trol ler cost. The architectural design aJ Jows the pol- quentl y, a more cost -effective solu tion that uses higher than that of the HSC control ler. Conse ,.-------, ,-------, ,.------, ,.-----..., ;--- 32-KB 32-KB INSTRUCTION AND DATA CACHE NV RAM I i960 MICROPROCESSOR PCMCIA PROGRAM CARD (2 MB) I I I DUAL UART IBUS BUS TIMER HARDWARE CONTROL REGISTERS I I 1 6- OR 32-MB READ OR CACHE BUS )C===C=D=A=L=B=U=S=::::)I DR AB BATTER Y EXCHANGER BACKED UP MODULE WRITE-BACK CACHE BUFFER MDAL BUS MEMORY DRAB (8 MB) NBUS BUS I DEVICE PORT HOST PORT 0 {CI, DSSI, SCSI) 53C71 PROCESSOR I DEVICE PORT 53C71 0 PROCESSOR Figure D igital Teclm icaljournal Vol. 6 Nn. 4 10 Fall 1994 DEVICE PORT 53C710 PROCESSOR I DEVICE PORT 53C710 PROCESSOR I DEVICE PORT 53C710 PROCESSOR I DEVICE PORT 53C71 0 PROCESSOR HSx40 Controller Architecture 21 RAID Array Controllers a less-cost ly arch i tecture can attain s i m i l a r to better m o d u l e , the designers fel t t h a t the benefits o f such performance. a design o u t weighed the addition a l cost. large- scale i ntegration (VLSI) level a l lowed for a fir m w a re image on the program card and cop ies the The extreme i n tegra tion of hardware to the very On each initia lizatio n, the c o n tro l ler reads t he much smaller enclosure than that of the HSC control i m age to t h e s h a red memory. The fi rmware exe ler, even with a dual- redundant controller configura cu tes from t he shared b u ffer m e m o ry. t io n (see Fig ure 3). A StorageWorks d u a l - controller co nfig ura tio n measures 56.5 by 20.9 by 43.2 centi Dual UART (IJUART) meters (22 by 8 by 17 i nches), which i s approxi reasons: mately one-tenth the size of the HSC: control ler. Common Controller Platform 1. M a i n tenance term i n a l connec t i o n . The m a i n The common con t rol ler platform consists of the con t rol ler withou t the associated host port. The common core of hard ware consists of the pol icy processor hardware, the SCSI-2 device port hardware, and the cache module. The control ler-specific host port i n terface hardware i ncludes either the CI, the DSSI, o r the SCSI in terface. PoliLy Processor Hmdware The DUART i s u s ed for two The Sto rageWorks contro l ler pol icy processor i s I n t e l 's 2)-MHz i960CA m icroprocessor, which contains an i n ternal instruc ten a nce t e r m i n a l is a m eans of e n t e ri n g con t ro l ler system m a nagement commands (with the com m a n d l i ne i n terpreter, which i s the user i n t e rface fo r con t ro l ler configuration m a n age m e n t) and is a l s o a status and error report ing i n terface. Designers made extensive use of this i n terface fo r debugging control l e r hardware and fi r m ware. Use o f t he m a i n te n ance term i n a l con necti o n i s optional. The i nt e rface rem a i ns o n the contro l l e r so that users can d irect control l.er man agement and status repo rti n g , if desired . t i o n cache a n d is augmented by a secondary cache 2. Failover com m u nication between two con tro l external to the processor. The secondary cache lers in a d u a l - redundant configuration . The com re l ieves the potential bo t t leneck created by shared m u nication path is u sed to share configu ration memory between the p o l i c y p rocessor and host/ and status i n fo r m a t i o n between the contro l lers. device port processors. The designers had to m a ke trade- offs i n two areas: the m emory speed/cost and the n u mber of Shared Buffer and Ca che ;ll/emOIJ' The dyna m ic random-access memory ( D RAM) b u ffe r (or shared b u s es . After simu lation, t h e external instruction memory) has a t its heart the ( l y n a m i c RANI and arbi and data cache showed a significant p er formance t r a t i o n (DRAB) c h i p . This ch i p supports the b u ffe r i m p rovement, given the chosen shared-memory and cache mem ory accesses from the policy pro architecture. The cache covers the fi rst 2 M B of cessor and from the host and device ports. The data bu ffer memo ry, where p o l icy processor inst ruc t ransfer rate supported by the shared memory is t io ns and local processor data s t r uctures reside and approx i m ately :)') megabytes per second (MB/s) where most of t he performance gain fo r the p o l i cy processor wou l d be ach ieved . The pol icy processor uses the J BUS exc l usively to fe tch inst ructions and t o access t he program stor age card, the NVRfu\1 , the DUART, and the t i mers. The D RAB chip c o n t a i n s error-correct i n g code (ECC) hardware to correct s i ngle- b i t memo rv, to detect m u lt i b i t errors, a n d to check and gen erate bus p a r i t y. This fea t ure a l lows the control ler to s u rv ive partial memory fa i l ures, w h i c h w r q u ick code design rather than static random-a ccess memory Program Storage upgrades and to e l i m i n ate the need for a boot re a d (SRA1Vl ) chips led to the use of ECC. DRA.i\'ls were o n l y memory (ROM) on the controller. The program chosen because of t h e i r cost and power savi ngs card is a PCMCIA, 2-MB flas h electric a l ly erasable, over p rog ra m m able read-only memory ( EEPROM) card d e s igners expected l a rge a m o u n ts of DRAM (as that contains the firmware i m age . Designers chose much as 40 MB) to be present o n a contro l ler and i t s , equ i va l en t SRA M . However, because the the PCMCIA card to fac i l i t ate code u p dates in the associated cache modu l e , the s t a t is t ic a l e rror prob fi e l d , abi l i t i e s were h igh enough to warrant t he use of where host- based down l i ne loading of firmware was not s u pported . Although the PC:MCIA card cost m o re than EEPR0.\1 chips a t t ached to the 22 ECC on the mem ory. The combination of DRAM and ECC was less costly than an equivalen t amount of Vol. (> No. 4 hill I'.I'J4 Digital Tecbuical journal The Architecture and Design of HS-series StorageWorks Array Con trollers more reliable SRAM. The use of pari ty on the buses Microelectronic Products D ivision of AT&T G lobal is a standard feature in all Storage Works controllers. Information Solutions Company) 53C710 SCSI-2 The bus parity feature provides further error detec processor chips. The SCSI-2 processor chips reside tion capabi l ity ou tside the bou nds of the memory on the NBLJS and access the shared-memory cache because it covers the path from memory to or from for data structure and data buffer access. These pro cessors receive their work from data structures in external host or device interfaces. The DRAB chip also controls access to the cache mod u le in conj unction with sl ave DRAB chips on buffer memory and perform commands on their specific SCSI-2 bus for read or write operations. the cache module associated with the control l er. The Sym bios Logic chip provided the most pro These DRAB chips p rovide refresh signals for the cessing power, when compared to the other chips DRAM buffer or cache memory that they control; available when the control lers were designed. The whereas, the master DRAB o n the controller module designers felt that direct control of SCSJ-2 in terfaces provides arbitration for cache accesses that origi by the poli cy processor or a separate processor nate from the various sources on the contro l ler was too costly in terms of processor utilization mod u le . Slave DRAB chips can also be accessed by ancl capital expense. The Symbios Logic chips do the d u a l-redundant partner control ler, depending require some pol icy processor u t i l ization, but the on the two contro ller LOCK signal states. designers considered this acceptable because high The controller firmware uses 8 MB of shared performance architectural features i n the pol icy buffer memory to execute the program i mage, to processor hardware compensated for the extra pro hold the firmware data structures, and to read and cessor util ization. write-through cache data (if no cache modu le is The SCSJ-2 device port supports the SCSI fast, present). The i960CA pol icy processor and the host single-ended , 8-bit interface. t The data transfer and device data processing elements on the N BUS rate supported by this interface is 10 M B/s. can all access buffer memory. Host Port Hardware The host port hardware module is ei ther a Cl, a DSSI , or a SCSI interface imple contains one slave DRAB chip and 16 or 32 M B of DRAM , and also two ports into the module (one from each control ler) for use i n failover. Each cache modu le optionally contains batteries to supply power to the DRA..l\1 chips in the event of power failure for write-back caching and Parity RAID use. The cache modu les are interchangeable between contro l ler types. mented with gate arrays or Symbios Logic 53C720 Cache Jl!lemory Each cache memory Parity RAID XOR and Compare Hardware The Parity RAID XOR and compare hardware consists of the FX gate array and 256 kilobytes (KB) of fast SRAM . The FX al lows concurrent access by SCSI-2 device port hardware and the policy processor. The FX compares the XOR of a data buffer (512 bytes of data) that is entering or exiting an attached device with the XOR buffers i n the fast SRA..M . The pol icy p rocessor uses the FX to perform compare opera tions at the request of a host and perform DMA operations to move data to and from memories. This hardware is common across a l l the contro l l e r platforms for Parity RAID and compare firmware. SCSI-2 processors. The host port hardware, the only noncom mon hardware on a Sto rageWorks con troller, requires a separate platform to support each host interface. The CI interface is made up of a gate array and CI interface hardware that perfo rms DJVIA write or read operations from sha red memory or cache mem ory over the NBLJS. The maximum data transfer rate supported by the Cl hardware is approximately 8 MB/S. Tbe DSSI i nterface util izes a Symbios Logic 53C720 chip coupled with a gate array and DSSI drivers to receive and transmit data to or from the DSSI bus. The DSSI interface is 8 bits wide, and the maximum data transfer rate supported by the DSSI hardware is 4.5 M B/s. The SCSI interface also uses a Symbios Logic 53C720 chip couplecl with differential drivers to provide a SCSJ-2, fast-wide (i. e . , 16 -bit) d ifferential interface to hosts. The maximu m data transfer rate suppo rted by the SCSI-2 in terface is 20 MB/s for fast-wide operations. The device ports Table 3 shows tl1e current (version 2.0) maxi (three or six, dependi ng on the controller model) m u m measured (at the host) data transfer rate per are control led by Symbios Logic (the former NCR fo rmance numbers for StorageWorks control lers. SCSI-2 Device Port Hardware Digital Tecbn icaljourrwl Vol. 6 No. 4 Fall 19')4 23 RAJD Array Controllers Table 3 SCSI-2 Host I nterface Performance Contro l ler Write D a t a Tra nsfer Rate ( Megabytes per Second) ( M egabytes per Second) 6.7 HSJ30/HSJ40* 4.4 2.8 3.2 HSD30 14 HSZ40** ' Read Data Tra nsfer Rate 8.0 I n a m u l t i host e n v i ro n m e n t " Measured for t h e H S Z 4 0 - B controller i n the e v e n t of a fa i l u re and u t i l i zes spare device Summary The Storage\XIorks H S-series array contro l lers were des igned to m e e t the storage subsystem needs of both Digital and non-Digi t a l systems. t h e reby ente r ing the wo rld of open systems. The a rch i tect ure for t h e HSJ:)O, HS]40, HS D30, and HSZ40 c o nt rol l e rs has 1. Open systems capabil ity A SCS!-2 de vice interface a l lows many types of disk, tape, and optical devices t o h e a t t ached to the H SJ;){), HSJ40. and fJSD30 cont ro l le rs . The HSZ40 control l e r. wh ich is curren t ly a d is k- o n l y control ler, provides a scsr-2 host i nterface t h a t al lows the cont ro.l ler to be attached to Digi t a l a nd non-Digi t a l compu t e r s . 2. High ava i l a bi l i t y. C o n t ro l l e r fau lt tole r a n ce a n d firmware y ie lded highly a avail able StorageWo r ks storage s u bsys tem . T h e d ua l - red u ml a nt a l lows each of a p a i r of active c o n t ro l le r s t o operate i ndepende n t l y with host sys t e m s . w h i l e s h ar i ng device ports, configuration i nfo r m a t i o n , a n d s t a tu s . Th is ( l esign a l lows b o t h c o n t rol lers to a c h i eve m a x i m u m p e r fo r m a nc e . T h e d ua l also provides fa u l t tolerance i f o n e c o n t ro l l e r fa i ls, beca use t h e surviving c o n t r o l ler se rves t h e fa i l e d c o n t ro l i m p l ement a t i o n Board ti > r R A I D ava i l ab i l i ty features. HSZ 'iO c o nt ro l l e r s achieved t he respective i n i t i a l perfor m a nce goa l s o f 1 , 100, HOO, a n d 1 ,400 r;os per sec o n d . The c o n t ro l lers m e r t h e l ow requ est l a te n cy go a l s by stre a m l i n i n g firmware \vhere possi bl e ami by i n tro d u ci ng write-back cach i ng. Wr i te-back cac h i n g fi r m ware d ra m a t i cal l y red u ces la tency on a l l write requests, a nd write back cache hardware pro v i d es bat tery backup for d a t a i n tegrity across power fa i l u res. Furthe r more . the wri te-back cache overcomes the RAI D rate i ne fficiencies ancl thus prov ides high perfor mance w i t h Pa r i t y RAI D d is k configurat i on s. Sto rageWo rks Parity RAID f i r mwMe i m p le m e n t s many of t he l{r\ 1 1 ) Ad v i s o ry Bo�ml opriona I perfor mance fea t u res to prod uce a h igh-p e r fo r m a nce RA ID s o l u t i o n . com mon c o n t ro l le r success fu l l y A deve loped p ro c e s s i n g fo r l he c o re was f iSJ 50/J l SJ40, H S D :�O. and HSZ40 c o n t ro l lers. ,VI o re t h a n H5 per l e r s d e vi ces t o t h e host compu ters. T h e d u a l cent ot t he fi r m ware is com m o n to ;i l l t h ree con con t ro l l e r t rol l e r p l a t fo r ms , ' configura t i o n , com binnl with w h i c h a l lows fo r ease ot Sto rageWo rks c o n t ro l ler packaging, resu l t s in m a i ntenance a n d fo r t he same look and feel for a hig h l y ava i l a b l e c o n t ro l l e r configu r a t i o n w i t h c u s to m e rs . The arch i t e c t u re a n d t he t ec h nolog y bu i l t - i n fa u l t t ol e r a n c e , e rror recovery, a n d bat used res u l ted i n a core c o n t ro l l e r clesign t h a t tery back u p fea tures. s u p po rt s Parit y RAID control ler firmware, combined w i t h S to ragcWorks c o n t ro l ler p l a t fo r m s a h igh clara t r a n s f er rate fo r all StorageWorks device pa c kagi g , a l lows t< H· h ig h l y These ach in-crnenrs repre s e n t t h e l a rge e n g i ava i l able d i s k co n figura t i ons t h a t a re l e s s cos t l y neering i n ve:; t m<:: nt t h a t D igi t a l has m acle to move n FurtiH:rm orc. into the o p e n s,·stems market with new te c h n o l ogy Parity lWD firmwan: p e rfor m s a u to m a t i c Parity for i t s sto rage sol u t ions. These contro l ler p l a t fo r m s m ana ge m en t and e rror recovery fu nctions a re t h e b a s i s fo r fu t ur e co n t ro l l e r a rc h i tectures and than RAID 24 RAID Parity exceeds the requ i rements of t h e HAll) A d v i s o ry level ') s m a l l-write p en a l t y a mi h igh data transfer c o n t ro l l.er configur a t i o n red u n d a n t c o n figura t i o n RAID c o n fi g u r a t i o n m a n a ge m e n t p o l i cie s . The Sro rageWorks 3. H igh p e r fo r m ance . The HSJ30/HS.J40, HSD:)O, a n d ach ieved the i n i t ia l pro ject goa l s a n d prov ides RAID pools in conj u nc t i o n with u s e r-defined Paritv m irrored config urations. l!rJ/. (, ,\'u. i !-it// !')':)4 Di,�ital Tecllllica/ journal The A rchitecture and Design of HS-series StorageWo1·ks Array Con trollers platforms that u t i l i ze the knowledge and experi ence acquired d u ring the 4. P Massigl ia , ed . , The RAJDbook: A Source Book for Disk Array Technology, 4th ed. (St. Peter, deve l o p ment of the Minnesota: The RAID Advisory Board, September Storage Works l-IS-series array controllers. 1994) Acknowledgments The StorageWorks array controller project was the 5. P Biswas, K . Ramakrishnan, D. Towsley, and C. coop erative effort of a large n u m ber of engineers who sacrificed considerable personal time Krishna, " Performance Analysis of Dis tribu ted F i le Systems with Non-Vo l a t i le Caches," to ACM Sigmetrics (1993). achieve the project goa ls. The fol lowing people and groups contribu ted t o the success of the product: 6. Parity !W D unit reconstruction of data and parity Bob B l ack ledge, D iana S l1en , Don Anders, Richard from a failed array member means regenerating Woerner, El len Lary, J i m Pherson, Richard Brame, the data block-by-block from the rem a ining array Jim jackson , Ron McLean, Bob E l l is, Clark Lubbers, members (see Figure 6) and writing the regen Susan E l k ington, Wayne U m l a n d , Bruce Sardeson, erated data onto a spare disk. Reconstruction Randy Marks, Randy Robers o n , Diane Edmonds, restores data redundancy i n a Parity RAID unit. Roger Oa key, Rod L i lak, Randy Fu ller, joe Ke ith, Mary Ruden, lVl ike Richard, Tom Lawlor, jim Pu lsipher, Jim Va gais, Ray Massie, Dan Wat t, Jesse Ya nde l l , Jim Zahrobsky, M i ke Wa l ker, Tom Fava, Jerry Vanderwa a l l , Dave Mozey, Brian Schow, Mark Lyon , Bob Pem berto n , Mike Leavitt, Brenda Lieb er, Mark Lewis, Reuben Martinez , J oh n Panneton, Jerry 7 Metadata is information written i n a reserved area of a disk. The information, wh ich takes up approximately 0.01 p ercent of the total disk capacity, describes the d i s k 's configuration and state with respect to its use i n a Parit y IWD unit. 8. P. Biswas and K. Ramakrishnan, "Trace Driven Lucas, Richie La ry, Dave Clark, Brad Morgan, Ken Analysis of Write Caching Pol icies for Disks," Bates, Pau l Massigl i a , Tom Adams, J i l l Graml ich, AC.M Sigmetrics (1993). Leslie Rivera, Dave Dyer, Joe Krantz, Kel l y Ta ppan, Charl i e Zu l lo , Keith Woestehoff, Rachel Zhou, Kathy Meinzer, and Laura Hagar. Thanks to the CAD team, the Storage Works packaging and manufactur ing tea m , the software verifica t i on team, and the 9. R. Lary and R . Bean, "The Hierarchical Storage ControJJer, A Tigh t l y Coupled Multiprocessor as Storage Se rver," Digital Technical jo urnal, vol. 1 , no. 8 (February 1989): 8-24. problem management tea m. A fi nal thanks to our OpenVNIS and DEC OSt/1 operating system partners and to the corporate test groups, a l l of w h o m worked with our engineering t e a m to ensure i nter operabi l i ty between the operating systems and the control lers. References and Notes 1 . information Systems-Small Computer Systems lnteJface-2 ('>C�1-2), A.t'ISI X1 .131-1994 (New York: American National Standards Institute, 1994). 2. D. Patterson, G. G i bson, and R. Katz, "A Case for Red un dant Arrays of Inexpens ive Disks (RA I D) ," Report No. UCB/CSD 87/391 (Berkeley: University of California, December 1987). 3. The RAI D level 5 s m a l l-write penalty re sults when a small write operation does not write a l l t h e blocks associated with a parity block. This situation requ ires disk reads to reca lculate parity that must then be written back to the RAID level 5 unit to achieve data redunda ncy. Digital Techuica/ ]ounwl V!Jf. () No. 4 Fall I'J'J4 25 Cbristopb J Bufller Policy Resolution in Workflow Management Systems One crucial Junction of a Ll'orkflow management .�)'Stem (W/�11.\) is to assign tasks to users wbo are eligible to cany them out. Except in simple u•orkjlou· scenarios, roles such as secretary and nwrwger are not a sujficient basisfor determining eligi bility AdditionallJ; wr,I!Ss are deployed not only in group settings by small compa nies but also worldll'ide by large ente1}Jrises. Since local lau·s and business policies bave to befollowed, task assignmentpoliciesfor tbe same tasl? geueml�J' differfrom country to counti�J' and, therej(Jre, must be specified locally The Policy Resolution A rchitecture (PRA) 1nodel provides more generality and e:xpressil'eness than role models do and at the same time supports the independent .ljJeufication of task assignment policies in different parts of an enterprise. PRA can be used to model arbitrary organization structu res and to define realistic task assignment (eligibil ity) rules by means ofprecise�v defined OJganizational policies. Tlm�� PRA provides real-world organizations witb a precise, silnple means of e"ipressing tbeir complex task assignment policies. A workflow m a n a gement system (W F;\1S) i s a soft success ful c o m p l e t i o n o f a t a sk. however, often of work requ ires that cr ucia l , irreversi ble decisions be made between p a r t i cipa n t s or u sers accord i ng to h > r m a J by a person who is resp o n s i bl e fo r t h e task . Making ware system that m a n a ges the flow speci fi c a t i o n s of b u s iness p ro ce ss e s c a l led work t h e right d ecisions and then carefu l l y a n d resp onsi flows. A workflow specifies tasks to be pe rformed bly carrying out t h e task i s ess e n t i a l t o c o n d u c t i n g ami t heir exec u tion order. A d d i t i o n a l ly, a work flow busi ness successfu l ly. of d a t a The criteria used to deter m i ne an el igible user t< >r between t a s k s as wel l as a l l appl ications req u i red t o a task are m a n i t< > l d . A user m u st have a specific s e t specification defi nes t h e i n t e rn a l flow c a r r y o u r the t as ks. F o r example, a travel exrense o f capa b i l i t ies t o h e able t o carry o u t t he task . re i m bursement workflow specifies the tasks of fi l l A d d i t i ona l l y, the p o s i t i o n of a u s e r in t h e orga n iza i n g , checking and signing a for m . a n d re i m b u rs i n g t i o n h i erarchy an d/or the reporting s t r ucture of the a n a m o u n t . This wo rkJlow specifies that the fo rm orga n i z a t i o n can dete r m i n e i f the user is resronsi m u st be signed before an a m o u n t i s rei mbursed . ble for t h e task. f u rt h e r m o re , l i m i t s r l aced on The workflow specific a t i o n a l s o t l efi nes the flow o f a u s er's tlecis i o n - m a k i n g a u th o r i t v can a ffe c t e l igi t h e e x p e n s e form between tasks a nd the req u ired b i l ity. For example, not every salesperson is au t h o spreadsheet app l ic a t i o n . F i n a l l y, for each t a s k o f a r i zed to accept an o rder t h a t leads to a sign i fi c a n t workflow, some ru l e bas to be i n p l a c e t h a t s p e c i in crease in m a n u fa c t1 1 r i ng o u t p u t . S u c h an order fies the users who are el igi b le to carry o u t the tas k . requires speci a l T h i s s e t o f e l igible u sers is deter mined at ru n t i m e , nation and t h e t a s k i s subsequ e n t l y assigned to them. cost -optimized One of the key issues in succ es s fu l l y d e p l oy i n g attention by a sen ior sales and i n ternal repre s e n t a t i ve . coord i When task ass ignments are made, the experience o f t h e u s e r as wel l a s the use r's s k i l l set WFtviSs i n a n enterprise is the correct ass i g n m e n t has to be t a ke n i nto consid erat i o n . Hig h l y ex peri of a given t a s k to e l igible us ers. An e l igible user i s enced users are in most cases expensive resou rces, o n e who is capab.le o f a n d respo n s i b l e fo r carryi ng hut usu a l l y they can com plete tasks faster t h a n out a n assigned task. This d is t i n c t i o n is impor users w i t h average ex perience . A l t h o u g h u s e rs t a n t because not every u s e r who is capable of per w i t h e i t her level of experi ence may h ave sufficie nt fo r m i ng a task is necessari l y respo n s i bl e fo r i t . The experience t o carry out a s p eci f i c task, if d ea d l ines Vol. (, No. 4 !'off f'J'J4 Digital Tecbuical journal I Policy Resolution in Workflow Management Systems are involved or extreme caution with respect to qua l i ty is necessary, a highly experienced user Before explaining PRA i n detail and providing the ratio nale for its development, the paper i ntroduces might be appropriate. ln such cases, the additiona l the key concepts of workflow management. This cost would be justified . introduction presents a seemingly simple workflow The previous discussion demonstrates the neces that specifies travel expense reimbursement, which sity of a precise defin ition of el igible users for a is later used to i ntroduce the design objectives of given task. Such a definition, i . e . , set of task assign PRA. Note that a real travel expense reimbursement ment rules, should contain a l l the criteria used to workflow for production is by far more complex determine eligible users for the tas k . Early in the than the example used in this paper. A large dis development of Digital's Objectflow WFMS prod tributed enterprise endeavors to reuse the same uct, the concept of roles was considered sufficient workflow i n all of its parts because reuse faci l itates t o model the assignment of tasks to users . 1 How administration and ever, an analysis of distributed enterprise-wide pro investment. At the same time, such an enterprise leverages the development duction workflows clearly showed that using roles probably sponsors numerous business trips, which as the only assignment mechanism has l i m i ted m akes the travel expense reimbursement workflow value i n determ ining e ligibil ity 2 The need for a far an excellent candidate to use as an example. more expressive, general, and flexible approach became obvious. The analysis also revealed that Workflow Management workflows are often reused in d ifferent parts of This section introduces a model of workflow man an enterprise. A prom inent example i s the travel expense reimbursement workflow, which is d is agement. The discussio n begins with a survey of cussed throughout this paper. Although a work tion for workflow m anagement and enumerates flow is reused, however, the task assignment some areas in which workflow management is prel i m inary work. The survey suggests the motiva policies may differ greatly in the various parts of an deployed. The key concepts of the workflow model enterprise. This difference is due to the need to are then used to model a workflow example, i . e . , adhere to local laws and/or to business-related devi t h e travel expense reimbursement workflow. The ations from the general ru les. section concludes with a definition of workflow Based on the requirements derived from several management systems. case studies of complex workJiows, the Pol icy Resol ution Architecture (PRA) was developed to Historical Survey provide a comprehensive way of specifying task Looking back i n history reveals that workflow man assignment rules. 2 To support the fact that d i.fferent agement has many roots. The most important are parts of an organization may require different office automation, software process management, assignment rules, PRA and i ts implementation were manufacturing, and transaction processing. The fol designed as separate components. PRA incorpo lowing short su rvey of achieved resu lts is given rates three major elements and thus provides to help the reader u nderstand the motivation • Concepts that enable the model i ng of any orga n ization structure (not just roles and groups) without prescribing structures that are applica tion dependent. • Task assign ment rules as entit ies in themse lves, separate from a workflow specification. This makes it possible for each of the d ifferen t parts of an enterprise to have its own set of task assign • for workflow management. The discussion also exp l ains the choice of workflow management con cepts. The l ist of previous and related works indi cates the range of literature that exists. Office Automation workflow One of the primary roots of ma nagement is u ndoubtedly office automation. Early research led to the development of models and tools to support office workers. :1-Y mem rules for the same workflow. What emerged were not o n ly desktop applications A l a nguage that enables the expl icit specification fo rms, and documents but also models of the pro of organization schemas and task assignment cedures that the office workers fol low while doing rules. Specifications are processed by a compo their jobs. 1o· 1 1 Furthermore, systems were devel that imitate concepts such as in basket, out basket, nent cal l ed the policy reso lution engine during oped that execute the office procedures to actively workflow execution. manage the flow of work within offices. Il. l� D igital Techllicaljournal Vol 6 No. 4 Fa/1 1994 27 Workflow Models A s eco nd m a jor root m o del i ng l a nguage . a n d execu t i o n mechani s m , or of wor kf low m a n agem ent is so ft wa re process m o d is it p os s i b l e to IJrov ide general concepts t h a t need eling anll exec u t i o n . 1� - 25 Th e fo cus of research in this to be customi zed o nl y fo r a specific area of a p p lica Software Process fl!lodeling area is the a u to m ated support of software d eve lo p tion' T h is q u e s t i o n triggered t h e devel opment of m e n t processes. Concepts co m p r i se process m o d the co n c e p t o f w or k f low , whose go a l it is to serve els l i ke the waterfa l l m ode l or t h e s pir a l model, as the ge neral and cust om izable c o n c e p t . del iverable colle, i nstallation and opera t i o n m a n u a l s , r equ i re me n t s doc u m en ts, a nd test cases 21•.r JV!anufactu ring Workflow Management Concepts Trad it i o na ll y, fo r m a l i zed proce (l ures t h a t are e xe cu ted re p eated ly are i n l1ere n t to m a n u fact u ri n g , another roo t o f workflow m a n a ge m e n t . M a n u facturing i nvolves n o t o n ly p ro d u ct io n processes b u t a lso preprodu ct i o n proc e d u res start ing fro m , for exa m p l e , the release o f c o m p u ter a ided d es ign (CAD) d r aw ings t o t h e p rep a r a ti on of s h o p f l oo r sch e d u l e s . 2K- e nt er prise t h a t d rives the enter prise processes. T h e ried ou t by one perso n . progra m , or mach i n e . s peech act t h eory is an a t t e m p t t o m o d e l the con For b re v i t y. e l e m e n t a ry workflows a re c a l led vers a t i o n between h u m a ns. '" Some research fo l steps. lows the direc t i o n t h a t a workflow i s a n i n terwoven element ary cha i n of s pe ec h acts. '1 Ear�J' AjJjJiication -indej>e nde n t Appmachcs Co m pos i te workflows workflows or bu nd l e other e i t her co mp os i t e workflows t o h i g her- level t ask s . I n t h i s way. a re use h ie r a rc h y is bu i l t . s i n c e the b u nd led In a d d i t i o n to the a p p l i ca t i o n - sp ecific roo t s o f work wo rkflows m ay very well stand by themse lves. Gene ra ll y. these h igh er- level tasks can no l o nge r a ch i e ve d by a s i ngl e person, progra m . flow m a n age m e n t , ear l y a pp ro ac h es th a t m o d e l e d be p ro cesses i n de pe n d e n t of a p p l ica t i o n a reas pro or m a c h i n e h ut re q u i re severa l such e n t ities. v i d ed m o tivation fo r workflow m a nage m e n t . '�-' A w orkf l ow that h u n d les other wor kf l ow s refer i The term process a p pears in a l l the areas of work ences t h e m . As a n a m i ng convention, a work m e n t i oned above. Al so, a l l th ese res ea rc h areas d e a l flow tha t is refe renced by some other workflow w i t h d a t a , e . g . , do c u m e n t s , C r\ D d raw i n gs, a n d i s c a l led a s u b w o r kf l ow. The r efe r e n c in g work orders. M o s t a p pr oa ch es h ave s o m e n o t i o n of s u b f low is ca l le d the sup e rwo rk f l ow. The topmost ject or age n t . The question arose amon g researchers, workflow of a reuse hie ra r c hy is called the top Does each area need its own defi n i t i on of terms. level wo r k f l ow. 2H l'rJ/. (, No. i 1-ii/1 I')'J i Digital Tecbuicnl jou rnal Policy Resolution in Workflow Management Systems • Behavioral aspect. The behavioral aspect describes the execution order of the subwork flows of a workflow. Constructs that describe • a simpl ified workflow for the reimbursement the order include sequence, conditional branch of travel expenses. ( E xamples of workflow lan ing, parallel branch ing, ami the looping and/or guage can be found in the l iterature. '''(') The work joining of parallel or conditional execution paths. f low consists of four steps: ( 1 ) fi l l , (2) check, Informational aspect. The informational aspect i s twofold: first, it descri bes the local variables of a workflow and the external data referenced; second, it describes the flow of data fro m sub workflow to subworkflow. • Travel Expense Reimbursement Worliflow Figure 1 shows the graphical representation of (3) sign, and (4) reimburse. The graphical represen tation shows the fu nctional aspect (task strucmre) as ovals and the behavioral aspect (control flow) as solid arrows. The informational aspect (data flow) is d isplayed as forms; dotted arrows i n dicate the direction of the flow of data. The organizational Organizational aspect. The organizational aspect aspect is omitted since the paper will focus later on describes who is eligible tO carry out a step. The t h is topic. The technological aspect is represented "who" can be a human (e .g. , an office worker) , by icons of the software appl ications that are avail a program (e.g. , a compiler in a software pro able to carry ou t the steps. The historical aspect is cess), or a mach ine (e . g . , a cell in a shop floor). represented by icons that symbolize logs in wh ich The term user was chosen to represent all three. information must be recorded. Most available W FMSs offer the concept of roles to Step 1 of the travel expense reimbursement model the organizational aspect. A role usually workflow, the fil l step , enables a user to enter the groups a set of users. A t run time, tasks are relevant expenses incu rred d u ring a business trip assigned to roles and all users grouped by these into an electronic travel expense for m . After a user roles are assigned the task. Although this method has finished entering the data, validation must take of task assignment is adequate fo r certain work place. The check step enables a user to look at the flows such as departmental workflows, as shown contents of the travel expense form . This user is later in the section Task Assignment in a Travel prompted to val idate the contents but cannot Expense Reimbursement Workflow, roles are not change entries. If the user who checks the form sutficient to hand le workflows that are deployed detects an error, the form is sent back to the user in an enterprise-wide or i nternational setting. who in itially filled it out, with a note that explains The l i terature discusses additional aspects, e . g . , a historical aspect and a technological aspect."" The h istorical aspect is used to specify the kind of inform ation to be stored in a historical database dur i ng the execution of a workflow, e.g. , starting ti mes or val ues of variables. Instead of h aving the default strategy of saving a l l data, the workflow specifies in the historical aspect only the important data that must be stored . The technological aspect a l lows the definition of which application program or programs are available to carry out a step. At run time, these appl ication programs are made avail able to the user. In pri nciple, it is not possible to enu merate all necessary aspects completely in advance. Dep ending on the appl ication area to be modeled, add itional aspects m ight appear and the reason fo r rejection. Otherwise, the form is for warded to the next user who has to sign the form to approve the amount. After the sign step is com plete, the amount can be reimbursed. The last step, reimburse, enables a user to add the amount spent to the next paycheck of the user who requested reimbursement. Th is sample workflow is intentionally kept sim ple because beginning with the next section, the paper focuses solely on task assignment ru les. In a real organ izational setting, the workflow would involve more steps and additional execution paths. For example, a user who has to sign the form m ight detect an error. In this case, as in the checl< step, the fo rm would be sent back to the user who initially filled i t out. require support. The paper now shows how the key concepts of workflow management can be appl ied, i . e . , cus Workflow Management Systems Managing the flow of work among users is done by tomized, to model a specific workflow type. The a software system cal led a workflow management example used is a sample travel expense reimburse system ( WFMS). A WFMS contains a l l the specifica ment workflow. tions of the workflow types (e. g . , a travel expense Digital Teclmicaljournal Vol. 6 No. 4 Fall 1994 29 Workflow Models n�OTE : - - - - - - - - -u-- - - - - - - -: ' ' ' Q ' TASK CONTROL FLOW DATA FLOW [[§] Q l '" i o C J ' Q KEY C) Travel Expense Reimbu rsemenl ELECT R O N I C FORM S P R EA D S H E E T A P P L I CATION l ooi o C J ' Q MONEY TRANSFER AP PLICATION I N FO R MATION LOG Figure 1 Travel E\pense Reimbursement Workflow rei m b u rsemen t or a capital equ ipment order) that are modeled and released for productio n . If a user issues a request to start a workflow (e . g . , if, after a business trip, a traveler starts a travel expense reimbursement workflow), the WFJVIS creates an i nstance of the requested workflow type. Of course, more than one i nstance of the same workflow type can exist simul taneously. A WFMS assigns the steps of a workflow to users according to the specified order of the behavioral, fu nctional, and orga n i za tional aspects. In genera l , a WFJVIS performs the fol lowing act ions to execute a workflow instance: • Determ ine the next steps to be execu ted . • Determine the el igible users for these steps. • Assign steps to el igi ble users. • Wai t for the result of each step. • Transfer the resu l t back to the step's superwork flow and record the step as complete. The WFMS repeats these actions u n t i l all steps of a workflow are executed . "' ''-)� This l ist of actions has to be sl ightly modified if. in addition to steps, a workflow contains composite workflows in its l ist of subworkflows. In this case, the su bworkflow 30 ' ' Q Q is not assigned to users and the I ist of actions is appl ied to each of the subworkflows. Each user who can potentia l ly be i nvolved i n a workflow i s connected to a WFMS b y a private work I ist, which is a graphical representation of a I ist of steps assigneel to the user. Each en t ry i n a user's workl ist represents a task the user is el igible to carry out. A user can participate i n more than one workflow at the same t ime. Normal ly, the user is free to choose from the workl ist any i tem on which to start. In wel l-designed systems, the WFMS automatica l ly starts the appl ication programs that the user will requ i re to accompl ish the work. In t h is way, t he user can begin work i m medi a tely. Al most a l l prototype i mplementations or prod u c t developments a l low the modeli n g of t he four main aspects described previously. The J ist of work flow management systems is growing rapid ly, and references to releva n t l i terature are read i ly avail able. 17'7-!' 1 References to l iterature that describes the deployment of workflow management systems i n an application area are rare, however.'J .(,J .(, )- (," The rem inder of the paper focuses on t he orga nizational aspect of workflow m anagement. The paper d iscusses the derivation of the requ i rements that concepts of this aspect m ust meet and then introduces PRA as the model whose concerts \In/. 6 Nn. 4 Fall 1994 Digital Teclmical journal Policy Resolu tion in Wo rkflow Management Systems norm ally has to approve spe n d i ng by subordi address the requirements. An analysis of the travel nates. Usual ly, there is only one user to whom expense reimbursement workflow i l l ustrates some of these requirements. Add itional requirements are the applicant reports and who is able to play the also described to prov ide a more complete set. role of man ager. If there are two such users, Task Assignment in a Travel Expense Reimbursement Workflaw and onJy one has to sign it. The overall task assignment ru le is: Everyone The requirements that must be fu l fi l led by the con who is able to play the rol.e of manager and either can be responsible for signing the form cepts of the organi zational aspect were de rived to whom the appl icant reports is el igible to exe from the travel expense reimbursement workflow cute the sign step. example, the author's project work experiences, and Marshak's " Characteristics of a Workflow • System- Mi nd Your P's and R's."68 Tbe fol lowing the grou p to which the applicant belongs. list describes task assignment rules fo r each step of the travel expense reimbursement workflow: • The overa l l task assignment rule is: Everyone who is able to play the role of financial clerk and F i l l. The fi l l step can be executed by anyone i n who is responsible for the applicant's group is an organization w h o h a s t h e potential t o travel. el igible to execute the reimburse step . This assignment rule enables an emp loyee to fil l in a travel expense rei m b u rsement fo rm after a business trip. (An employee who did not travel can also fil l i n a form and claim expenses; how ever, the check and sign steps are intended to The requ irements thus far derived from the example are • The user who fil l s in the form is referred to as the role of secretary reporting to a user playing the applicant and is known at run t i me. the role of manager) requires describing the users, the roles, and the dependencies (relation Check. The check step must be executed by ships) . This description i s cal led a n organi zation structure. An organization structure contains a l l a user who is able to play the role of secretary. To be able to va lidate the contents of the fo rm, a organ izati onal object types l ike " user," "group," user i n t h is role is expected to know how a travel or " role," and the relati onships among them l ike expense rei m bursement form is structured and " reports to" or " supervises." Given such a struc how to correctly fill in the form. This user is also ture, users can be selected based on their rela expected to know the destination and the travel tionships to others. Users can also be selected <.lates, and if the travel actual ly took place. Not a ! J based on attribu tes such as their absence status secretaries in an enterprise have this knowledge, ( i . e . , whether they are on vacation or on a busi but the secretary of the applicant's manager can ness trip) or their workload . be expected to know the i nformation. This sec retary usual ly plans the trip and often the meet • H istorical access. In some cases, the el igible user for a step cannot be <.leterminecl local ly, and his i ngs of the traveler. If the user who is able to play the role of secretary <.letermines that the con torical information is required. For example, tents of the travel expense reim bu rsement form determ i n i ng the user who can p lay the role of are sound, the form is fo rwarded to the next manager i n one step m ight require knowing step ; otherwise it is sent back to the applicant. which user started the workflow. Therefore, it m ust be possible to query a log of the h istory of The overal l task assignment rule is therefore: a workflow to derive the i nformation necessary Everyone who is able to play the role of secretary to make task assignments. and reports to the same manager as the appl icant The fol lowing are a d d itional requirements: is eligible to execute the check step . (Note that the term manager means a user who is able to play the role of manager.) • Organization structure dependencies. To select one user relative to another (e. g . , a user playing detect such misbehavior and to reject the form.) • Rei mburse. The reimburse step must be exe cuted by a fi nancial c lerk who is responsible for • Data depende ncy. I n the travel expense reim bursement example used in this paper, the man Sign. The sign step has to be executed by a man ager to whom the sign step is assigned can sign ager of the applicant because the manager for any amou nt. In other cases, however, this Digital Technical journal Vnl. G No. 4 Fall 1994 31 Workflow Models signatory • power may have l i m i ta t i o ns. For t h e deve lopme n t p l a n , w h i ch is based o n a m a r i nstance, i f the amou n t exceeds a certain val u e , a ket a na lysis. A manager or a vice presi d e n t is usu vice pres i d e n t and n o t the m a n ager of the appl i a l ly respons ible for these t h ree complex tasks c a n t m ust sign the travel expense rei m bursement (market ana lysis, devel opmen t p la n , i nvestment fo rm . As this l as t example shows, task assignment plan) but not i nvolved i n the d e ta i l e d work. I n may depend o n data in the workfl ow. a W FM S , this s i t u a t i o n wo u ld b e modeled a s a workflow c a l led P ro d u c t Devel opment Start, Delega t i o n . A manager who is o u t of the office w h i c h c o n t a i ns t he t h ree complex tasks as s u b m ay w a n t to d e l egate h is/her tasks to keep busi workflows. ness operations r u n n i ng smoot hly. The appro priate task assign m e n t rule wo u l d then have to tasks. Dep e n d i ng o n the status of the m a n ager m u s t acknow l edge the start of the assigned for i t . T h e assignment d o e s n o t i m p l y t h a t the However, task assign m e n t ru les t ha t user has to perfo r m the cl e t a i led work. Thus. i ncorporate delegation c a n be complex. Con a WFMS must be able to assign n o t o n ly steps siller t he situation i n which a ma nager l eaves where a m a n ager has a n excessive a m o u n t of work to acco m p l ish), the m a nager m us t be able to dynamically delegate some o r a l l of the a l ready assigned tasks. F u r t her consider that a ma n ager may want to d e l egate d ifferent types of t:Jsks not to the same user but t o d i ffe re n t users . depend i ng on the type of t a s k . To avoid leaking i n fo r m a t i o n or m a king an i n ex p ed i e n t assignm e n t , the task assign ment r u l e m us t m a ke sure that the t ar get users are e l igible to receive the d e l egated task assign men t . • • to users b u t a l s o composite workflows. • Early/ l ate ;� ! locat i o n . Often , the a p p l ication semantics c l e a r l y i n d ica tes the s i ngle user who s ho u ld execute a t a s k . I n su c h cases, the related task assignment r u l e (e . g . , the role of m anager of applicant) passes to t h i s user a t ru n t i m e . I n o t her scenarios . hO\vever, s u ccessfu l exe c u t i o n of a task requ ires s o m e capabi l i t v t h a t m o re t h a n one user possesses. This capa b i l i t y i s often expressed t h rough a role (e . g . , f i n a n c i a l clerk, w h i c h is a ro l e usua l l y p l ayed by more t h a n one user in l a rge e n terprises). In the si ngle-user case. the task is ass igned to t ha t user regard less of the u s e r's wo rkload ; this process is c a l led early a l lo Separation o f d u ty. Some scenarios requ i re a sep cat i o n . The user must carry out the task u n less i t aration of d u t y, i . e . , two tasks must be per is feasible to d e l egate i t . I n t h e m u .l tip.lc-user fo rmed by d i ffer e n t users. For exa m p l e , in the case, the task appears on t he wo rk l i s t of a l l users transfe r of a l a rge a m o u n t of m o n ey, two m a n able agers m u s t sign the transfer fo rm to d o u b le most cases, this user wou ld not have t be bighest check t he workload . Therefore, the fi nal a l location of t he transa c t i o n . Rega rd i n g the travel to p l av the ro.lc . O ne user starts the tas k ; in expense rei mbursement workflow, a user who task is m a d e not by the Wf\!S b u t by t he set of fi l l s o u t the c l a i m fo rm shou l d not a l s o sign it. el i g ible users themselves. This p rocess is c a l led Task assig n m e n t r u l e s m u s t ensu re that there i s l a te a U oc a r i o n . I n t h i s case. if o n e user starts a separation of d u t y. wor k o n a ste r . t he other u sers are no l o nger Responsibil ity. As previous.ly stated , a s u bwork flow can be e i t h e r a step o r a gro u p of steps that m ay be a reuse of b u i l d i ng blocks fo r larger workflows. A second use of a com posite work flow is to ex p l i c i t ly express responsi b i l i t y t RA, which are then d iscussed . Vol. (i No. -i f·i1ff f')'l! Digital Technical journal Policy Resolution in Workflow Management Systems Roles As Task Assignment Rules As stated earl ier, roles have l i mi ted use as task assignment ru les. Applyi ng the role concept to the task assignment rules i ntroduced above i l lustrates t he limitations. Certain ly, the term role has m an y definitions. I n this paper, a role is a n abstraction o f a set o f users. T h e abstractio n criteria are t h e set of capabilities of a user. Whether or not a particular u ser belongs to the set of users abstracted by a role is defi ned by a n explici t relationship between a u ser and a role cal led the " p lays " relatio nship. A user who has a plays relationship w i t h a role has the capabil i ties defined by that role, i . e . , the user is able to play the role. For example, i f both Ann and Joe are users who are able to play the role of clerk, t hen each one has t he capabil i t ies defined by t h is role and each is capable of exec u t i ng the task. A user m ight have a wide range of capabi lities and be able to play several roles at the same time. For example, a user might be able to play the role of employee and the role of manager simu l taneously. Although this defi nition of role is not the only one, it is very ' o2.626un.ct common and often applied (, 1 " .H For each task assignment rule that was i ntro duced in the travel expense reimbursement exam ple, a d iscussion foJ l ows about the exten t to which roles support the requ irements. • Fi l l . The task assignment rule for the f i l l step is the only rule of the example that can be modeled completely with a role. Assume that every user is able to play the role of employee. If the fil l step is assigned to the role of employee, every user can execute the step, thus modeling exactly the task assignment ru le of the fill step. • Check. Assigni ng the check step t o t he role of secretary does not model the fu l l semantics of the desired task assignment ru le. Such an assignment models o n ly the requ irement t hat a user has to be able to play the role of secretary to carry out the step. The assignment does not model the additional requirement that o n ly those users who report to t he same manager as the appl icant are el igible. • Sign. Analogous to the situation i n the check step, assigning the sign step to the role of man ager does not model that only a user to whom the appl icant reports is el igible but that any man ager is el igible. • Reimbu rse. Assigning the rei m b u rse step to the role of financi a l clerk ensures only that the step Digital Technical journal Vol. 6 No. 4 Fall 1994 i s assigned to a capable user. The assignment does not fu l fi l l the additional requ iremen t that this u ser must a lso be respo nsible for the group to which the applicant belongs. The discussion of the l ast three task assignment rules demonstrates two tightly coupled l imitations of using roles to model requirements. 1. The concept of roles cannot express organiza tional dependencies, such as relationsh ips between users (e. g . , " reports to" and " responsi ble for"). I t o n ly relates users to roles by a plays relationship. F u rthermore, roles do not provide a means of i n trod ucing add itional objects of organization structures l ike "group" and "depart ment." The o n ly t wo objects the concept of roles provides are " role" and " user." 2. The concept of roles, therefore, does not p ro vide a sufficiently soph isticated language to express, for i nstance, that a user n o t only has to play a certain role but a lso h as to relate to some o ther user i n a particular way (e . g . , " reports to" a particu lar user). In addi t ion, the other requ irements l ike h istorical access, delegation, and separation of d u ty cannot be modeled at all using roles. To overcome these l i m i tations, PRA i ntroduces the concepts of organization schema and organ iza tional pol icy and the Pol icy Defi n i tion Language. A brief introduction fol lows. Details are presentee! i n the section Po licy Resolution Arc h i tecture. Organization Schema One of the fundamental concepts of PRA is a freely definable organization schem a . An organization schema contains aU types of orga n i zational objects and re.l at ions h ips t ha t are availab1e for m o de l i ng a particular organ i zation. Figure 2a gives an exam ple of an organi zation schema . Jf a defined schema is i nstan t iated , i t contains an o rganization struc ture. Since o ther objects besides roles are requ i red to model an orga n i zation, rel ationships other than " plays" must be ava i l able. Some necessary addi tional relationsh ips are " reports to," which relates two users, and "is responsible for" a nd " belongs to," which relate a user and a group. A freely definable organ ization schema , such as the one provided by PRA, a l lows designers to define roles as required by the workflow application . Such a freely definable organization schema m ay seem to be a luxu ry, and a fixed organ i zation 33 Workflow Models ROLE PLAYS R E PORTS TO / / - - -', RESPONSIBLE FO R (, 6• I ', _ _ _ \ D GROUP - - B E LONGS TO , I USER (a) Sample Organization Schema SALES AL M A N U FACTU R I N G NINA KEN ENGINEERING SUSAN CHARLES MATT 88 A D M I N I STRATION MIKE 8 (b) Sample Orga n iza tio n Structure Figure 2 Sample Organization Schema and Organization Structure for the Travel Expense Reilnbursement Example schema t h a t provides t h e m o s t relevant objects and relationships may seem s u fficient. An analys is of seman t i cs completely. Consequen tly, such a schema does not meet enterprise-specific needs. va rious orga n i zation structures i n different enter Figure 2a shows a graph ical represen tation of a prises c l early shows, however, tha t a si ngle organi sample schema for t h e travel exp ense reim burse zation schema is not adequate for all situatio ns ment example. Although this schema may appear i n which WFMSs can be dep loyed. An e n terprise ge neral and a n adequate alternative tO an a l l that deploys a schema i n w hich the semantics of embracing schema, i t does n o t conta i n requi red the mode led objects are fixed has to fo l l ow the o rganizational objects such as task fo rces w i t h 34 Vol. 6 No. 4 Fall 1994 D igital Tee/mica/ jourrml Policy Resolution in Workflow Management Systems a l imited l ife span, comm i ttees, and departments. Figure 3a shows an example of an informal orga Also, this sample schema does not consider objects n izational pol icy for the sign step. This organiza or relationships necessary for modeling delegation tional pol icy specifies that if the WFMS is to assign and relocation of employees. F igure 2b d isplays a the sign step, it wil l assign the step to the manager superficial organization structure, i. e . , an instantia of the appl icant if the amount is less than $ 1 ,000. tion of the schema. Objects l ike user and role are Otherwise, it will assign the step to the vice presi depicted as icons, and relationships are depicted as dent respo nsible for the applicant's group . A more arcs and solid, dashed, and dotted l i nes between advanced rule woul d not fix the amount at $ 1 ,000 but wou l d make this amount dependent on the the icons. au thorization level of the manager, as i l lustrated i n Approaches that go beyond using roles as a basis Figure 3 b . for task assignment commo n.ly prov ide organiza tional objects in addition to roles and users, usually The Policy Defin ition Language is PRA's formal group and/or department objects U•.S o9.n The l i tera l anguage for specifying organizational pol icies. ture contains evidence that the schemas and the Policies written in t h is language are precise and task assignment ru les are fixed and have to be used executable by an execution engine cal l ed the pol as they are . Additional ly, these approaches do not icy resolu tion engine. Each t i me the WFMS is about separate the workflow from the workflow specifi to assign a step, the system evaluates the corre cation, which makes the reuse of a workflow in a sponding organ izational policy to determine the different organizational setting very d ifficu lt. set of users who can execute the task. Organizational Policies As Task Assignment Rules Policy Resolution Architecture A second fundamental PRA concept is that of an environments and in group, department, enter \VFMSs operate in global, open, and distributed organ izational policy, which up to this point has prise, been cal led a task assignment ru le. An organiza enterprise- level deployment of workflows is pos and m u ltiple-enterprise settings. The tional pol icy specifies a l l the eligibl e users for a sible o n ly if the u nderlying concepts and sys task by stating the criteria a user must meet. These tems are developed appropriately. PRA is therefore criteria can include a role or roles that a user has based on several design principles that ensure a to be able to play and relationships that a user has to general approach that supports enterprise-level .have with other users or groups. deployment . (a} WORKFLOW TravelExpenseReimbursement STEP sign CRITERIA IF amount < 1000 THEN manager o f applicant ELSE VP responsible for applicant ' s group ENDIF (b) WORKFLOW TravelExpenseReimbursement sign STEP CRITERIA IF amount < authorizat ion leve l of applicant ' s manager THEN manager of applicant ELSE VP responsible for applicant ' s group ENDIF Figure 3 Digital Technicaljow·nal Informal Organizational Policiesfor the Sign Step of the Travel Expense Reimbursement Workflow Vol. 6 No. 4 Fa/1 1994 35 Workflow Models Design Principles to m a k e o rga n i z a t i o n a l p o l i cies objects i n them The PRA des ign p r i n c ip les are reusability, sec u r i t y. s e l ves, i n dependent of a workflow speci fica t i o n . genera l ity, dynam ics, ami d is t r i b u t i o n . Orga n i z a t i o n a l p o l icies name n o t o n l y t h e s t e p in which t h ey are used but a lso the su rro u n d i ng work Reusability I n the travel ex pense reimbu rsement flow. The design o f organizational p o l icies fo r a exa m p l e , t h e sign step was modeled to approve step depends on the context in which the step is to travel expenses. he re used . Other workflows, l i k e capital equipment orde rs, can reuse the sign step for s i m i As m e n t ioned earl ier, m a k in g organ izational p o l i l a r tasks, e . g . , to a pprove an o rd e r. I f an orga n i za c i es i nd e p e n d e n t objects a l lows d i ffe ren t orga ni t i o n a l p o l icy were a t tached t o the s tep t yp e i t se l f, zation s t n � c t u res to reuse a workflow. To ach ieve this assign ment ru l e wo u ld serve to determine eJ igi such reuse, each organ izational s e t t i n g has its own ble users i n dependent o f the workflow in wh ich set of o rgan ization a l p o l icies for the workflow to he the step is re used . Viewed from an organ izationa l re used . These orga n i z a t i o n a l p o l icies are t a i l ored p e rspective, however, the reuse of steps in d i ffer to the specific needs and circumstan ces o f the orga ent wo r kflows req u i res several pol icies. For exam n i z a t i o n a l s e t t ing. ple, the signing of a t ravel expense reimbu rseme n t Organizational pol icies can them selves be reu sed . for m is carr iecl o u t b y a m a n ager o f the appl icant. D i ffe re n t steps m ay requ ire t he same set of el igible w h e reas t h e s igning of a c a p i t a l equ ipment order u s e rs, and, therefore, one p o l icy wou ld be s u ffi for an a m o u n t that exceecls a certain v a l u e i s carried cient fo r more t h a n one k i nd of step ( e . g . , sign ami out hy a n appropriate vice pres i d e n t . Therefo re , fi l l ) o r t( J r more than one u s e of t he same k i n d of the sign step in t h e con text o f a travel expense reim step. For exa m p l e , a m anager signs not o n l y trave l b u rsement workflow has a n organiza t i o n a l p o l icy expense fo rms b u t a l so c a p i t a l eq u ip m e n t o rders. t h a t defines the m a nager of the appl icant to be el igi I n bot h workfl ows, the orga n i za t i o n a l pol icy t h a t ble, whereas t he sign step in the context of the cap defines t h e m a nager of t h e a p p l ica n t d e p e n d s o n i t a l equipment o rd e r workflow has a d i ffe re n t t h e a u t horization leve l . B o t h w o r kflows can re use p o l i cy, one that defines a n appropriate vice presi t h e sign step, as c a n be seen in the policy s h own dent as e l igible fo r the task. in Pigu re 4a . If the a u t h o r i z a t i o n l e ve l d epends on 'T"he observa t i o n that a p o l i c y for a step depends the wo rkflow, the p o l icy c h a nges to take i n to con not o n l y o n the step itself b u t a l s o o n the workfl ow sicle ration t h e spec ific k i nd o f workflow, as s h own in w h ich t he step is re used led to t he d ec i s io n i n Figure 4b. (a) WORKFLOW TravelExpenseReimbursement STEP I CapitalEquipmentOrder sign CRITERIA IF amount < authorization level of appl icant ' s manager THEN manager of app licant ELSE VP responsible for appl icant ' s group ENDIF (b) WORKFLOW TravelExpenseReimbursement STEP I CapitalEquipmentOrder sign CRITERIA IF amount < authorization level of applicant ' s manager depending on workflow type THEN manager of applicant ELSE VP responsible for applicant ' s group ENDIF Figure 4 Informal Organ izational Policies Showing Reuse of the Sign Step l '<1l. (> .Vo. .:f Fall 1')')4 Digital Tecbuical jourual Policy Resolution in Workf!o·w Management Systems Because changing an organ izational pol Fo l lowing this ge neral approach, it is apparent icy may affect daily business operations, aJ I users that a fixed set of assignment ru les is also inade should not be able to make changes a t wil l . For quate. The PRA design hence provides a language Security exa mple, a user (appl icant) should not be able to that enables users to define task assignment ru les approve h is/her own travel request. Organ izational (organ izational policies) as required by the work pol icies are therefore objects that m us t be properly flows of an enterprise. secured to prevent users from perfo r ming u nau thorized tasks. The decision to design organiza Dynamics tional pol icies as objects m a kes it easier to secure sons, e.g. , employee nu mbers fluctuate, restructur the pol icies, because secu rity mechanisms such as ing takes place, groups j o i n or split because of new Organ izations change fo r many rea access control l ists (ACLs) can be applied d i rect ly product stra tegies, etc. Business operations and to objects. '5 the refore workflows, however, must cont i nue unin Designers considered and rejected the a lter terrupted. To do so, the organization structure and nat ive approach of sec uring the workflow specifi the organizational pol icies of a WFMS must cha nge cation to reflect the changes in the real organization. The and , consequ ently, the organ izational policies included in the specification. Wo rkflow decision to separate workflows from organization types do have to be secured to prevent unautho structu res and organizational pol icies enables users rized changes; however, securing the workflow to change versions independent ly. For exa mple, an specification wou ld al low those who are e ligible organiza t ional pol icy can change while a workflow to change the workflow type to a lso change the that uses i t is running. If the change takes place associated organizational po.l icies. Such an a l l before the WFMS assigns the step to a user, the encompassing security design i n hibits t h e separa WFMS wi l l use the new version of the organiza tion of d u ty between workflow designers who care tional policy instead of the old version . Policy about how a busi ness p rocess is i mplemented by changes result i n neither the shu tting down of the a workflow and organization designers who care WFMS nor the stopping and restarting (from the about the organ ization structure and the user capa bilities and responsibi l ities. Protecting workflows beginning) of the workflow. This independence al lows WFMSs to deal with the dynam ics of an orga independently of organ izational pol icies al lows nization and make correct task assignments whi le users to modify a workflow without al lowing them changes are taking place . to mod ify organizational policies and thus gain or grant unauthorized e l igibi l i ty. Simi larly, organiza tion schemas a nd organization structures must be secured independent ly to prevent users from changing roles or relationships to gain or grant unau thorized authority. Distribution Not only are enterprises becom ing more distribu ted, but they are also increasing their worldwide operation. Nations have d i fferent local Jaws and pol icies because they decide autonomously on these issues. A local subsidiary has to ad here to local law, even though it belongs Although several standard orga ni za to a com pany that operates worldwide. for exam tion structures prevail-strong hierarchical, matrix ple, U.S. compan ies have a posi tion called vice shaped, function-oriented, and networked-hybrid presid ent. A U.S. company may have the rule organ ization structures exist, which contain a myr that contracts with external suppl iers of m anu Generality iad of anomal ies and exceptions. Independent of facturing parts m ust be signed by the vice presi their organ ization structure, most enterprises have dent of manufactu ring. If the U. S. company has a business processes that are potential candidates for German subsidiary, by German law, t h is subsidiary a WFiviS implementation. A WFMS that claims to be is a company in itself and must have a person cal led able to implement business processes in a l l kinds of Geschdftsfiihrer who is responsible for the opera enterprises must therefore be able to support a l l tions of the company. If the subsidiary wa nts to possible organ izat ion structures. A fixed organiza enter into a contract with a supp l ier, German law tion schema is inadequate fo r such a u n iversal requires the Geschdftsfiih-ret· to sign the contract PRA even though the U.S. corporate organizational pol implementation capabi l i t y. Consequen t.ly, supports the modeling of arbitrary organ i zation icy requires the vice president of manufacturing schemas and a l lows WFMSs to i m plement any orga to sign. Al though the same type of workflow is nization that m ight exist. running in both countries, e.g., the contract with Digital Tecfmicaljounwl Vol. 6 No. 4 Fall 1994 37 Workflow Models externa l suppl ier workflow, the organ i zational pol icies for the approval step d iffer. The U.S. version of the o rga n i zational pol icy specifies the vice president of manufacturing is the only el igible user, and the German version specifies that the Geschdftsfiihrer is the only el igible user. Domains were i n troduced to deal with the issue of au tonomous pol icies. A domain is an abstract entity of managemen t . Organizational p ol icies as wel l as workflows are related to domains. The pre vious example might i nvolve t wo domains: " USA" and " G ERMANY." ( The domains could be fu rther subdivided.) The p r i nciples just discussed gu ided the PRA design. As mentioned i n the previous section, P RA defines the concepts of organization schema, organizational pol icy, and a fo rmal language to model pol icies. In add i t i o n , I ' RA defines i n terfaces for an exec u t i o n engine and their use by a WF!VIS. A detailed d iscussion of the PRA components fo llows. Organization Schema and Organization Structure The PRA organization schema is a set of objects and rel ationships that can be freely defi ned, thus enabl i ng users to model arbitrary orga n i zations. Each member of t he set can be i nstantiated to popu l ate an organization schema, that is. to p roduce an organization structure. PRA al lows users to define constraints on the organization structur e to avoi d erroneous structures. For example, if an enterprise has the p o licy that an employee m ust not report to more than two people, PRA enables the user to define a constrai n t that specifies that one person can be related to only two others through a " reports to" relationsh ip . If a modeler adds a third reporting I ine, the system detects the violated constraint. Organizational Policy An organizational pol icy specifies a set of el igible users for a given workflow, which can be either ele mentary (a step) or composite. A set of users is not stable and therefore fixed but speci fied through an expression cal led an organizational expression. An organizational expressi o n specifies t ile selection of users with particular p roperties from an o rga n i za tion structure. For example, an expression might enumerate users, select all users able to play a p a r ticular role, or select a user related to some other i n a specific way. A d d i t ional ly, orga nizational expres sions can refer to the h istory of a workflow or to its :38 i nternal data, such as local variables, and thus be dependent on the workflow state. Consequently, the set of users for the same step in two different instances of the same workflow m ight be d i ffer ent. Consider, for example, the travel expense reim bu rsement workflow, with the user selection for the sign step depen dent on the authorization level . I n two i nstances o f the workflow, t he amou n ts to be reim b ursed m ight differ such that different peo ple , e.g. , t he m anager ami t he vice p resident, m ust execute the t wo sign steps. To provide a general mechanism for determ in i ng a set of el igible users for a workflow, PRA organ iza tional pol icies accom modate operations in addi tion to exec u ti ng a step or taking responsi b i l i t y for a composite workflow. Delega ting a workflow and undoing a workflow are two examples. To delegate a workflow, an orga n i zational pol icy has to ensure that both the person who delegates the workflow and the person to whom t he wor kflow is assigned are el igible users. The o peration of undoing a work flow ( i . e . , to u ndo the resu l t s ach ieved thus far) a nd starting aga i n can result in wasted effort a n d u nre coverable work. Therefore, a WFMS m u st carefu l ly choose el igible users for this operation. To deal with various workflow operations, a P RA o rganizational p ol i cy relates a workflow t ype and one of its opera t ions in a given tlom a i n tO an organi zat i o n a l expressi o n . An orga n i zational pol icy is defined as t l1e tuple . For example, the orga n i zational pol icy for the fi l l step in the t ravel expense rei m b u rsement example is . Since an appl icant shou ld be able to undo the step and start aga i n , the WFMS m ust also specify the organ i zational pol icy . ( The next section describes PRA's for m a l language for specify ing organizational policies.) When a WFMS dete r m i nes that a workflow in a particular domain is to be executed, i t cal ls the policy resolut i o n engine, which looks for the appropriate o rga n i zational policy and evaluates its organizational expressi o n . 'fhe engine returns the results of the evaluation, i . e . , the set of el igible users, to the WFMS, which subsequently assigns the workflow to those users. One organizational policy can be reused for several workflow types, domains, etc . , by entering a set in tlw appropriate element of the tuple. For example, if the orga n i zational Vol. 6 No. 4 Fall /')')4 Digital Technical journal Policy Resolu tion in Workflow Management Systems pol icy for the fi l l step of the travel expense reim tiona! expressions. Final ly, the third part supports bursement workflow is the same i n the U.S. the definition of organizational policies. as it is i n Europe, the policy cou ld be modeled as The fol lowing figures illustrate the POL for a sam . bu rsement workflow. Figure 5 shows the POL for Policy Definition Language the organization schema displayed in Figure 2a. The From the organizational viewpoint, the fol lowing POL for the instantiation d isplayed i n Figure 2b elements are necessary to run a workflow: an organi appears i n Figure 6. zation schema together with its instantiation, the The organization schema defin i t ion part of the organizational policies for this workflow, and the rel POL looks like a d ata definition language (DOL) i n a evant organizational expressions. To describe these relational database. Two differences exist, though: elements in a formal way, PRA defines a language (1 ) PDL d istinguishes organizational object types cal led the Policy Definition Language (PDL), which from organizational relationship types, and (2) POL consists of several parts. The first part enables the al lows complex data types (e.g. , sets as attributes). definition of an organization schema and its popu la If a pol icy resolution engine is bu i l t on top of a rela tion. The second part is concerned with organiza- tional database, a compi ler or a translator within ORGANIZATION_TYPE Role ATTRIBUTES name : String authorization_level : set ( task, amount ) ; KEYS name; ORGANIZATION_TYPE Group ATTRIBUTES name : String KEYS name; ORGANIZATION_TYPE User ATTRIBUTES name : String office_tel_# : e_mail : String String absence : {vacation, ill, busine s s , avai labl e} KEYS name ; RELATIONSHIP_TYPE Reports_to FROM User TO User ATTRIBUTES kind : { l ine , functional , none } RELATIONSHIP_TYPE Plays FROM User TO Role ATTRIBUTES duration_from: duration_to : date date RELATIONSHIP_TYPE Responsible_for FROM User TO Group RELATIONSHIP_TYPE Belongs_to FROM User TO Figure 5 Group for simplicity, we assume user names to be Note that , this is not the case and the modeling must deal with nonunique names . unique . In reality, Policy Definition Language for the Sample Organization Schema Shown in Figure 2a Digital Technical journal Vol. 6 No. 4 Fall 1994 39 Workflow Models Role "Employee" , {} "Manager" , { ( TravelExpenseReimbursernent . Sign, ( Capi talEquipmentOrder. Sign, "Financ ialClerk" , "Secretary" , {} "Engineer" , {} "VP " , 100 0 ) , 5000 ) } {} { ( TravelExpenseReimbursement . Sign, ( CapitalEquipmentOrder . Sign, *), *) } Group "Sales" "Manufacturing" "Engineering" "Administration" " [1) 125-5589", "al@center . com" , avai lable " [1) 125-5590", "nina@center . com" , avai lable 125-5601", "ken@center . corn" , avai lable "Susan" , " [1) 125-5609", "susan@center . com" , business "Matt " , User "Al " , "Nina" , , "Ken' , " ( 1] " ( 1] 125-4499 " , "matt@center . com" , avai lable "Charles" , " [ l ] 125-4580" , "charles@center . com" , available "Mike" , 125-0101", "mike@center . com" , avai lable " [1) Repcrts_to "Al " , "Nina " , line "Ken" , "Nina" , line "Nina " , "Mike " , line "Susan " , "Matt'' 1 line "Charles " , "Matt" , l i ne "Mat t " , \\Mike " , Plays "Al " , line none "Mike " , "Employee" , 01-02-88, "FinancialClerk" , "Al " , 0-0-0 01-02-88, "Nina " , "Employee" , 0 1 - 02 - 9 0 , 0-0-0 "Nina" , "Manager" , 01-02-90, 0-0-0 "Ken" , "Employee" , 01-02-91, 0-0-0 "Ken" , "Secretary" , 01-02-91, 0-0-0 " SUsan" , "Employee" , 01-02-92 , 0-0-0 "SUsan" , "Secretary" , 0 1- 0 2 - 9 2 , 0-0-0 "Matt " , "Employee" , 01-02-88, 0-0-0 "Mat t " , "Manager" , 01-02-88, 0-0-0 ( * open ended . ) 0-0-0 "Charles " , "Employee" , 01-02-88, 0-0-0 "Charles" , "Engineer" , 0 1- 0 2 - 8 8 , 0-0-0 "Mike " , "Employee" , 01-02-90, 0-0-0 01-02-93 , 12 - 3 1 - 9 7 "'fPII , "Mike " , "Sales" Respons ible_for "Al " , "Al " , "Manufacturing" "Al " , "Engineering" "Mike " , "Sales" "Mike " , "Manufacturing" "Mike" , "Engineering" Belongs_to "Al " , "Nina " , "Administration" "Engineering" "Ken" , "Administration" "SUsan" , "Administration" "Matt " , "Engineering" "Charles" , "Engineering" "Mike" , Figure 6 ...j () Policy Definition Language.: fo r the Sample Organ ization Structure (Instantiation) Sbott'J I in fl�r.;ure l fJI. () .\'u. 4 2b Tall 199-1 Digital Tecbuical journal Policy Resolution i n Workflow Management Systems the engi ne translates the organization schema defi role of secretary and who report to the same user n i tion part of PDL into a set of DDL statements. as the app l icanr. expressions Independent from the travel expense reimburse required to for m u l ate the orga n izational pol icies ment example are the sample separation of d u t y for the travel expense re imbursement workflow. and delegation pol icies shown in F igures 9 a n d 10. F igure 7 l i sts the organizational Note that the organizational expression for employ The organ izational pol icy that specifies separation ees selects a l l users who p l ay the role of employee. of duty ensures that the user who signs the expense The R ETURNS statement ind icates the search for for m is d ifferent from the user who fi l l s out the users. The defini tion of the p lays re lationship type for m . The policy that models the delegation opera i n Figure 5 ind icates that the emp l oyee is of the t i o n contains a parameter that specifies to which type rol e . This i n formation is sufficie nt to formu person the sign step is t o be delegated. Only the late a query to the un derlying database system in an manager of the applicant can ca l l t h is operation and then o n l y i f the p arameter specifies either the implementation of a pol icy resolu tion engi n e . The PDL for the organ izatio n a l p o l icies for the next higher m a nager or the responsi ble vice presi travel expense rei m b u rsement example appears in dent. The step can be delegated only to one of these F igure 8. The WFMS applies the first orga n i zationa l two users. pol icy when assigning the fil l step in a travel expense Since the PDL is wel l defined, it can be used not re i m b u rsement workflow. The p o l icy is val i d i n only by designers to model organizations and p o l i three dom ains, USA, EUROPE, and ASLA, for t h e exe cies bm also by developers of graphics-oriented c u te operat i o n , which has no parameters. The pol tools. Such too ls could present graphical symbols to icy engine returns a set of all users who are able to users to be m a n ipu lated . When a user decides to play the role of employee. The second pol icy l isted com mit the changes, the tool generates a PDL script, in Figure 8 returns a set of al I users who play the which is fed into the pol icy resolution engine. ORGANIZATIONAL_EXPRESSION employees ( ) RETURNS User : user user plays employee ORGANIZATIONAL_EXPRESSION secretaries ( ) RETURNS User: user user plays secretary ORGANIZATIONAL_EXPRESSION rnanager_of (User : RETURNS User: a_user) user a_user reports_to user ORGANIZATIONAL_EXPRESSION subordinates_of ( User : RETURNS User: a_user) user user report s_to a_user ORGANIZATIONAL_EXPRESSION group_of ( User : RETURNS Group : a_user) group a_user belongs_to group ORGANI ZATIONAL_EXPRESSION VP_responsible_for_group_of ( User: a_user) RETURNS User : user user plays VP INTERSECTION user responsible_for group_of ( a_user) ORGANI ZATIONAL_EXPRESSION executing_agent (Workflow: a_workflow) RETURNS User (* Figure 7 provided by the historical services of WFMS *) Orga nizational Expressions for the Travel Expense Reimbursement Example Digital Technicaljourual Vol. 6 No. 4 Fall 1994 41 Workflow Models ORGANIZATIONAL_POLICY WORKFLOW TravelExpenseReimbursement . Fill OPERATION Execute ( ) DOMAIN USA, EUROPE , ASIA ORGANIZATIONAL_EXPRESSION employees ( ) ORGANIZATIONAL_POLICY WORKFLOW TravelExpenseReimbursement . Check OPERATION Execute ( ) DOMAIN USA, EUROPE , ASIA ORGANIZATIONAL_EXPRESSION secretaries ( ) INTERSECTION subordinates_of ( manager_of ( executing_agent ( TravelExpenseReimbursement . Fil l ) ) ) ORGANIZATIONAL_POLICY WORKFLOW TravelExpenseReimbursement . S ign OPERATION Execute ( ) DOMAIN USA, EUROPE, ASIA ORGANIZATIONAL_EXPRESSION manager_of ( executing_agent ( TravelExpenseReimbursement . Fi l l ) ) ORGANIZATIONAL_POLICY WORKFLOW TravelExpenseReimbursernent . Reimburse OPERATION Execute ( ) DOMAIN USA, EUROPE , ASIA ORGANIZATIONAL_EXPRESSION f inancial_clerks ( ) INTERSECTION User : user responsible_for group_of ( executing_agent ( TravelExpenseReimbursement . Fi l l ) ) Figure 8 Organizational Policiesjor t!Je Tremel Expense Reimbursement Exanzple ORGANIZATIONAL_POLICY WORKFLOW TravelExpenseReimbursement . Sign OPERATION Execute ( ) DOMAIN USA, EUROPE, ASIA ORGANIZATIONAL_EXPRESSION manager_of ( executing_agent ( TravelExpenseReimbursement . Fi ll ) ) DIFFERENCE execut ing_agent ( TravelExpenseReimbursement . Fi l l ) Figure 9 Organizational Polhy for the Separation of Duty Approaches l i ke the ones mentioned earlier in users fo r a workflow. None of these approaches the paper provide a fixed set of types fo r model ing provides a language l i ke PDL that can freely define an organi zation or a fixed set of functions, such as tbe organ izationa l aspect as the appl ication seman ·' role play e r or '·supervisor," from which to select tics requires. " 42 Vol. 6 No. 4 Fall 1994 D igital Tee/mica/ journal Policy Resolu tion in Workflow Management Systems ORGANIZATIONAL_POLICY WORKFLOW TravelExpenseReimbursement . S ign OPERATION Delegate OOMAIN USA, {User: EUROPE, a_user) ASIA ORGANIZATIONAL_EXPRESSION IF a_user IN {manager_of { manager_of { executing_agent { TravelExpenseReimbursement . Fil l ) ) ) OR VP_responsible_for_group_of { executing_agent ( TravelExpenseReimbursement . Fi ll ) ) ) THEN manager_of ( executing_agent ( TravelExpenseReirnbursement . Fil l ) ) F(f?ure 10 Organizational Policy for the Delegate Operation Policy Resolution Engine set of resu lts, the conform to operation returns the The p o l icy resol ution engine is a mechanism that va lue " true " ; otherwise it returns the va lue " fa lse." evaluates organizational policies for a WFMS. Serving as a base service, the policy resoi ution engine manages organizational pol icies and organ izational expressions, as wel l as the organization schema and its populatio n . The engine also provides i nterfaces for the defin ition, m o d ification , and evaluation of these objects. The interfaces are distinguished by the kind of service they prov ide. There are basi cal ly two k i nds of i n terfaces: evaluation i n terfaces and management interfaces. Evaluation Inte1jaces Pol icy resolution engine clients use this operation to validate a request by a user to execute a certain task of a workflow. The resolve and conform to operations for o rga n i zational expressions work analogously. Instead of a workflow reference, the operations expect the name of an organ izational expression as input. The operations evaluate the named organizational expression and return the set of resul ts, which is used if the resolve operation is called . The con form to operation returns true and false values as Policy resolution engine described in the previous paragraph. cl ients use evaluation interfaces to evaluate organ i Management interfaces zational policies or organ izational expressions Management Interfaces when necessary. The engine provides fou r evalua are used to define, mod ify, or delete orga nizational tion i nterfaces: two for organizational policies policies, organizational expressions, o r organiza ( " resolve" and "conform to") and two for organi tion schemas and their popu lations. These inter zational expressions (also "resolve" and "conform faces look like the fol lowing operations that are to"). The reso lve operation for organizational poli provided for organizational policies: create, delete, cies expects a workflow reference and one of its operations as input values. This operation selects modify, l ist, get. The create operation creates an an appropriate organizational policy, evaluates i t , a policy; the modify operation a l lows users to and returns a set o f users el igible t o execute t h e change an organizational pol icy to adjust to new given task o f t h e workflow. T h e conform t o opera tion for organizational pol icies expects a workflow fiers of all pol icies; and the get operation returns reference, one of its operations, and a user as input the complete description of a policy. values. This operation resolves the appropriate organizational policy; the delete operation deletes requirements; the l ist operation returns the identi Designers do not cal l these management inter organizational pol icy for the workflow and checks faces whether the user is contai ned in the set of results changes through user-friendly interfaces or tools. for that organizational pol icy ( i . e . , if the user con These tools are either graphics oriented or language forms t o the pol icy). If the user is conta ined i n the D igital Techuical]ou1·nal Vol. 6 No. 4 Fall 1994 directly, since they communicate their oriented. In a graphics-oriented tool, a designer 43 Workflow Models m a n i p u lates icons and gra p h ical symbols, w h i c h i n I f the releva nt d a t a is s tored i n several d atabases, tu rn re s u l ts in ca l l s to t h e app ro priate management the query i ng i n terface must be b u i l t in such a way i n t e rfaces. Al ternatively, a grap h ics tool can ge n e r t h a t the pol icy res o l u t i o n e n g i n e can issue the nec ate a PDL script accord ing to the ma n i p u l a t i o n s of a essary queries, w h i c h m i g h t span several databases. user and subm i t t h i s s c r ip t to t h e pol icy reso l u t i o n Fu rthermore, sem a n t ics i ssues have t o be dea l t e n g i n e . I n t h i s c a s e , the e n g i n e i n t e r p rets t h e s u b w i t h i n he t e roge neou s environments_ -,_-(, m i t ted scri p t and cha nges its i n t e rn a l state accord i ngly. Language-oriented tools e nable a designer to Arcbitec tuml Considemtiolls - Clients of a PoliLy d i rectl y express cha nges using PDI.. These tools take Resolution Engine specifica t i o ns and translate them i n t o ma nage m e n t F ro m an arc h itectural p o i n t of view, there are two possible ways to design a pol icy i n t e rface cal l s . O f c o u r s e , t hey c a n also s u b m i t t h e reso lutio n e n g i n e : l a nguage specifi c a t i o n s d i rec t l y as Ill ) ! . s c ripts t o 1. I n c o r p o r a t e the p ol i c y re s o l u ti on engine i n to t h e po l i cy reso l u t io n e n g i n e , as descri bed above. L egeny Databases Many l a rge en terprises have developed da tabases t h a t c o n t a i n some o r a l l of the orga n i za t i o n a l data the p o l i cy reso l u t i o n engi n e needs t o eva l ua te orga n i za t i o n a l p o l i c ies . These dat abases, c a l led legaqr databases, m ig h t he s e l f a \VF,\1S T he engine wou ld be a m o d u l e, wh ose o p erat ions are h i dden by the exported i n t e r faces of t h e WFMS. Al l c a l l s to t h e engine o p e ra t i o ns wo u ld he made t h rough the i n terface o f the WI'NJS. 2. M a ke the p o l icy resol ut ion engine a n i n depen i m p l e m e nted or based on stan dards efforts like d e n t COI11[1 0 n e n t . The engine wou l d be a se r ver t h ose re la ted t o prov id i ng d i rectory services on w i t h a W F �IS system as one of i t s cl i e n t s . Al l X.500.-' In ge neraL o rgan iza t i on s c l ients of the engi n e , i n c l u d i ng the WF�I S , wou l d n e t works, i e . . , m u s t deal w i t h one of the fol lowing scenarios: • be a b le to d i rec t l y access t h e exported o p e ra No legacy d a t abase exists. No existi ng d at abas e h a s t o h e consi dere d and the p ol i c y res o l u t i o n , • PRA rec o m mends t he i m p l e m e n t a t i o n o f a p o l icy engine can u s e i ts own database t o b u i ld u p orga reso l u t i o n eng i ne as an i n dependent base se r v i c e n i zationa l knowledge . whi ch can be used by c l ie nt s o t h e r t h a n a WF.\1S Legacy databases c o n t a i n a l l re levan t d a t a . To use t h e pol iq' reso l u t i o n engi n e , t h e d a t abase m us t prov i d e a s u ffi c i e n t l y ex p ressi ve query i n terfa c e , on top of w h i c h queries issued from tile e ngi n e can be eval uated . The o n ly add i t i o n a l i n format i o n t h a t has to be s to red is orga n iza t i o n a l p o l i c i es and orga n i z a t i o n a l exp re ss io ns The orga n i zation extend the has to choose legacy da tabases or . whether to to use the da tabase w i t h i n t h e pol icv resol u t i o n engine. • t i o n s of the engi n e . A legacy data base conta i ns some rele vant data. For exampl e , . an electro n i c m a i l system c a n be a c l i e n t of t h e po l i cy reso l u t i o n engi n e . Since e lec tronic m a i l is sem to use rs r a t h e r t h a n enu merate , the electro n ic mail add resses o f the rec i p i e n t s hy h a n d , orga n izati o n a l expressi ons can prov ide t h e addresses. For e x a m p l e , a m a n ager c o u l d send an electro n ic m a i l message to " a l l my subordi n ates " or an e n g i neer c o u l d send a n electronic m a i l message to ·' a l l m y col leagues who are engineers." The sam p l e op era t i o n a l express i o n shown in Figure 11 retu rns a l l elec tr on ic m a i l add resses of aJI sub ord i n ates o f a given user. l n a d d i t i o n to o rga n i zat i o n a l p o l icies a n d o rga Another possible c l i e n t i s a t ra nsaction procl' ss n i zatio n a l expressi o ns, orga n i z a t i o n a l objects ing m o n i to r, w h i c h in corporates workflow ma n and rel ations h i ps m u s t be stored in e i t her the age ment.-- Dayal er a l . refe re n c e a service ca l l ed legacy d atabase o r t h e database of the pol icy res role resol u t i o n , w h i ch is an earl i e r development of o l u t i o n engin e . p o l icy resol u t i o n . -x ORGANI ZATIONAL_EXPRESSION subordinates ( User : RETURNS String: a_user) user . e_mail user reports_to a_user Figure 11 44 0Jgwzizationa/ £.\pression for Electmnic .liuil �bl. (i No. -1 hli/ I'J'J4 Digital Technical journal Policy Resolution in Wo rkflow Management Systems Figure 12 shows a schematic represen tation of pap er. Su san Thomas assisted me by i m proving my a pol icy resolution engine with three cl ients-a Engl ish and thus m a k i ng the paper more readable. WFMS, a transaction processing monitor, and an Kathy Stetson was always very helpful in coordinat electronic mail system. ing the writing and revision processes. Summary References The sample workflow d iscussed in this pap er, that 1. is, the travel expense rei m bu rsement workflow, i l l ustrates that roles are sufficient as task assign ment rules for only the simplest scenarios. Si nce (Ju ly 1994). 2. T. Krei felts a n d P Seu ffert, "Add ressing in an Office Procedure System," Message Hand workflow management systems are deployed in sit ling Systems, State uf the Art and Future Directions: Proceedings lf1P WG 65 Working Conference on Message Handling Systems, uations where complex workflows are modeled and executed, a more general and powerful model cal led the Pol icy Resolution Architecture (PRA) was R. Speth, ed . (Amsterdam: North-Hol land, developed. PRA provides the concept of an organi 1987) zational policy. An organ izational policy is more general than a role in that it relates a workflow type T. May, " Know You r Wo rk-Flow Tools," BYTE 3. S. W Chang and Chan , "Transformation and Ve rification of Office Procedures," IEEE to a n organizational expression that determi nes the set of el igible users for the workflow. Because they Transactions on Software Engineering, vo l. state a l l criteria a user has to fu l fi l l and do not l im i t SE-1 1 , no. 8 (August 1985). the selection based o n t h e i r properties or interrela tionships, organ izational pol icies specify a l l el igible 4. Office System," ACM Transactions on Of fice Information Systems, vol. 2, no. 3 (July 1984). users. S ince an organ izational expression is related to a workflow type by an organizational poli cy, task assignment through organ izational policies is a very 5. C . E l l is and G . Nutt, " Office I nformation Sys tems and Computer Science," Comjmting Surveys, vol. 12, no. 1 (March 1980). general approach. Organ i zational policies are eval u ated based on orga n i zation schema and their populations (organization structures). Since P RA W Croft and L . Lefkowitz, "Task Support in an 6. C. E l l is and M . Berna l, " Officetalk-D: An provides a way to model arbitrary complex organi Experimental zation schemas, arbitrary organiza t ions can be mod First SIGOA Conference on Office Informa tion Systems (1982). eled and subsequently popu lated. This general i ty, i n conjunction with organizational pol icies, pro v ides a powerful and flexible approach to task 7 Office Information System;· C. E l l is, " Formal and Informal Models of Office Activity," /nfonnation Processing 83, assignment in workflow management. R. Mason, eel . (Amsterdam: North-HoJland, 1983). Ackrwwledgments I want to thank the anonymous referees whose 8. B . Karbe and N. Ramsperger, " Concepts and I m plementation remarks helped me a great deal in revising this of Migrating Office Pro cesses," Verteilte Kii.nstlicbe Jn telligenz und WORKFLOW MANAGEMENT SYSTEM TRANSACTION PROCESSING MONITOR Kooperatives A rbeiten: 4. Jnternationaler GI-Kongt-ejs Wissensbasierte Systeme, lnfor matik Fachberichte 291, W Brauer and ELECTRONIC MAIL SYSTEM D. Hernandez, eds. ( Munich : Spri nger-Verlag, October 1991 ). 9. Vol. 6 No. 4 " Coordination of Distributed i zable Activities," Verteilte Kunstliche Jntelligenz und Kooperatives Arbeiten: 4. Jnternationaler GT-Kongrejs Wissensbasierte Systeme, 1nformatik Fachberichte 291, Client-server Structure uf a Puli<-J' Resolution Engine Digital Technical journal Kreifelts, Wo r k : From Office Procedures to Custom POLICY RESOLUTION ENGINE Figure 12 T. Fall 1994 W Brauer and D. Hernandez, eds. ( Munich: Springer-Verlag, October 1991) . 45 Workflow Models 10. C. Cook, "Strea m l in ing Office Proced ures An Analysis Using the I nformation Control Net Model," A f"'PS Conference Proceedings of the 1980 National Computer Conference, Anahei m , Cal ifornia ( May 1980). 11. I . Lacld and D Tsi chrit is, ''An Office Form F low Model," A F!PS Conference Proceedings of the 1980 National Computer Conference, Ana heim, Cal ifornia ( May 1980). 12. L Bau m a n n and R . Coop, "Au tomated Work flow Control : A Key to Office Productivity," AF!PS Conference Proceedings of the 1980 National Computer Conference, Anahei m , Cal i fornia ( May 1980). 13. M. Zisman, " Represen tation, Specification and Automation of Office Procedu res," Ph . D. d issertation (Philadelph ia: Un iversity of Penn sylvania, Wharton School, 1977) 14. B . Curt is, M. Kel lner, and J Over, " Process Model i ng," Commun ications of the AC!H, voL 35, no. 9 (September 1992). 15. W Deiters and V Gruhn, "The Funsoft Net Approach to Software Process Managemen t," Internationaljournal ofSojtware Engineer ing and Knowledge Engineering, vol . 4, no. 2 Kataya m a , "A H ierarchical and Functional Software Process Descriptio n a n d Its Enac tion,'' Proceedings of the E/e"enth Interna tional Conference on Sojhuare Engineering ( May 1989). 21. P M i and W Scacch i , Operational Seman tics of Process Enactrnent and Its Prototype Implementations ( Los Angeles: U n iversity of Southern Ca l i fornia, Com puter Science Department, April 1991). 22. P Mi and W Scacchi, Modeling A rticulation Work in Software Engineering Processes ( Los Angeles: U niversity of Southern Ca l i fornia, Computer Science Department, Apri l 1991 ) 23. P Mi and W Scacch i , "A K nowledge-Based Env i ronmen t for Mode l i ng a n d Simu lating Software Engi neering Processes," 1/:.I::t:: Trans actions 011 Knowledge and Oatu Engineer ing, voL 2, no. 3 (Se ptember 1990). 24. L. Osterwe i l , "Software Processes Are Soft ware Too," Proceedings of the Nin th lnternct tional Conference on Softll'are Engineering (March/April 1987). 25. L Wil l i ams, "Software Process Model ing: A Behav ioral Approach," Proceedings of the Tenth International Conference on Software Engineering (1988). 26. W Royce. " Ma naging the Deve lopment of ( 1994) 16. W Deiters, V Gru hn, and H. Weber, ''Software Process Evo l u ti o n i n M ELMAC," The Impact of Technology on Software Processes Series on Software Engineering and Knowl edge Engineering, voL 3, D. Cooke, ed . (Singa pore: World Scientific Publ ishing, 1994) . CA SE 17. 18. D. Harel et a l . , " STATE!YIAT E : A Working E nvi ronment for the Development of Complex Reactive Systems," Proceedings of the Tenth International Conference on Sojtware Engi neering (1988). 19. 46 Large Software Systems," Proceedings of the Ninth in ternational Con/erence on Software Engineering ( March/Apri l l987 ). 27. B. Boehm, "A Spiral Model of Software Devel opment and Enhancement ," A<:i11 Sojtware Engineering Noles, voL 11, no. 4 (August 1 986) . 28. C. Hegarty and L. Rowe, " Con t ro l Loops ami Dynamic Run M o difications Using t he Berke ley Process-Flow Language ," Proceedings of the Third International Conference on Data and Knowledge Systems jiJr klanufacturing and Engineering, Lyons, France ( 1992). 29. S. Jablonski, " Data F l ow Management in D is t ributed OM Systems;· Proceedings of the Third International Conference (111 Datcl and KnouAedge Systerns for Jlthmufacturing and Engineering, Lyons, France ( 1992). W H u mphrey and M. Kel l ner, "Software Pro cess Model ing: Princi ples of E n tity Process Models," Proceedings of the Eleven th Inter national Conference on Software Engineer ing ( May 1989). M. Jaccheri and R. Conrad i , "Tech n i ques for Process Model Evolution in EPOS," fEEt. Trans actions on Software Engineering ( December 1993) T 20. Vol. 6 No. 4 Fall 1994 D igital TecbnicalJournal Policy Resolution in Workfl(YW Management Systems 30. Proceedings of the Third International Con ference on Data and Knowledge Systems for Manufacturing and Engineering, Lyo ns, 41 . T. Malone, K . Crowston, J. Lee, and B. Pentland, "Tools for Inventing Organizations: Toward a Handbook of Organizational Processes," CCS WP # 14 1 , Sloan School WP #3562-93 (Cam France (1992). bridge: M assachusetts Institute of Technology, 31 . H . Yoshikawa and ). Goossenaerts, eds. , Infor mation Infrastructure Systems for Manufac tu ring (Amsterdam: North-Hol land, 1993). 32. 42. Database Recovery," ACM ComjJuting Surveys, vol. 15, no. 4 H i lton Head, South Carolina (June 1992). Harder and A. Reuter, " Pr inciples of (December 1983). 43. "Specifying and Enforcing Intertask Depen Proceedings of the Nineteenth International Conference on Very Large Databases (VLDB), Dubl i n , Ireland (1993). Y. Bre i tbart, G. Wei k u m , and A. Deaco n , H. Schek, Singapore ( November 1994) 44. Data-centric Approaches and ings of the First International Conference on En tetprise In tegration Modeling Technology to Support Multi-system (ICEIMT), H ilton Head , South Carol ina Qune Work 1992). flows," S!Gtl'IOD Record, vo l. 22, no. 3 (Sep tember 1993). 35. 45. U. Daya l , M. Hsu, and R. Laclin, "A Transac tional Model for Long-Runn ing Activities," Proceedings of the Seventeenth Interna tional Conference on Very Large Databases H . Garcia-Molina and K . Sale m , ·'Sagas," Pro ceedings of the 1993 ACM SIGL'viOD Interna tional Conference on Management of Data 46. 38. 47. mali zing the Framework for Information Sys 31 , no. 3 (1992). Bulletin of the Technical Committee on Data Engineering, vol. 16, no. 2 (June 1993). 48. F Vernadat, "Business Process and Enterprise Activity Model l i ng: CIMOSA Contribution to a General Enterprise Reference Architecture S. Jablonski, "Transaction Support for Activity ancl Methodology (GERAM) ," Proceedings of the International Conference on A u toma tion, Robotics and Computer Vision (JCARCV on High Perforrnance Transaction Processing Systems (HPTS), Asilomar, California (1993). H . W�ichter and A. Reuter, "The ConTract '94), Singapore (November 1994). 49. Mode l ," in Transaction Models for Advanced T. Williams, "Architectures fo r Integrating Manufacturing Activities Database Applications, A. Elmagarmid, ed. 40. ) . Sowa and ]. Zachm a n , " Extending and For tems Architectu re," IBM Systems journal, vol. Management," Proceedings of the Workshop 39. R. Katz, " Bu s iness/en terprise Model ing," IBM Systemsjournal, vol. 29, no. 4 (1990). (1987). 37. Proceedings of the First International Con ference on Enterprise Integra tion Modeling Technology (ICElt'vlT), Hilton Head, South Car olina ( June 1992). (VLDB), Barce lona, Spain (September 1991 ) . 36. M. Fox , "The TOVE Project: Towards a Com mon-Sense Model of the Enterprise," Proceed " Mergi ng Appl ication-centric Transaction-o riented C. BuGler, " Enterprise Process Modeling and Enactment in GERAM," Proceedings of the International Conference on A u tomation, Robotics and Computer Vision (ICARCV '94), P At tie, M. Singh, A. Shet, and M. Rusinkiewicz, dencies,'' 34. R. Burkhart, " Process-based Defin ition of Enterprise Models," Proceedings of the First International Conference on Enterprise Inte gration 1\llodeling Technology (ICEIMT), T. Tra nsaction-oriented 33. Center for Coordination Science, May 1993). and Enterprises," (San Mateo, Cal ifornia: Morgan Kaufma nn, Information Infrastructure Systems for Man ufacturing, H . Yoshikawa and J. Goossenaerts, 1992). ells. (Amsterdam: North-Holland, 1993). T. Malone and K. Crowston, "The I n terd isci pl inary Study of Coord ination," ACM Comput ing Surveys, vol. 26, no. 1 ( March 1994). Digital Tecb11.ical journal Vol. 6 No. 4 Fall 1994 50. F Flores and T. Winograd , Understanding Computers and Cognition ( Reading, .MA: Addison-Wesley, 1987). 47 Workflow Models 51. R . Medi na-Mores, R . Wi nograd , T. Flores, and F Flores, "The Action Workflow Approach to Workflow Management Tech nology," Proceed 6 3. S. Sari n , K. Abbot, and D. McCarthy, "A Process Model and System for Supporting Col labora t ive Wo rk," Proceedings of the AOH SIGWS Co nfe re n ce on Organ iza tional C01npu ting Systems ( November 1991 ) . 64. M. Shan, " Pegasus Architecture and Design Princip les," Proceedings of the 1993 ACM SJG ings of the AC!l-'1 i992 Conference on Com (C'\CW), Toronto, Ontario, Canada ( November 1992) . p u ter Supported Cooperatil'e Wo rk 52. 53 T. Danielsen and U. Pankoke-Babatz, "T'he Amigo Acti v ity Model," i n Research in to Net' works and Distribu ted Applications, R. Speth, ed. ( M u nich: North-Hol land, E lsevier Science Publ ishers B.V , 1988). MOD interna tional Conference on lVian age 65. R . Fehl ing, K. Joerger, and D. Sagalowicz, Knowledge Systems for Process Mmwgeme n t ( Palo Alto, C A : Teknowledge I n c . , 1 986) . 54. C. BuSier and S. Jablons ki, "An Approach to In tegrate Workflow Model ing and Organ iza t i o n Model ing in an Enterprise," Proceedings ( WLT JCT;), Mor gantown, West Virginia (Apr i l 1 994). Collaborative En teJ1Jrises 66. 67 wijkerhout, Netherlands (September 1994} 57. M. Hsu, A. Ghoneimy, and C. Kleissner, "An Execu tion Model for an Activity M anagement System," Proceedings of the Wo rk�shojJ on High Perfornumce Transaction s:vstems ( 1 9 9 1 ) . 59. 60. Business Opportunity (Ovum The 69. C. Bu gler ami S. Jablonski, " I m ple m entin g Agent Coord i na t ion for Workflow lvianage ment Systems Using Active Database System s," Proceedings of the Fou rth in tenz ationol ·worl<.s/.JojJ on Research Issues in Da ta Engi neering: Actit•e Database S)'stems (RIDE-ADS '94), Housto n , Texas ( February 1994). 70. Reports, December 1991 ) . (Jl . 62. T. W h i te and L. F ischer, " New 7()()/s for New Times: The Workflow Paradigm (Alameda: Future Strategies I nc . , Book Div i s i o n , 1994 ) . 71 . C. EJ J is, S. G ibbs, and G. Rei n , " G roupware Some Issues and Experiences," Com m u n ica tions of the ACM, vo l. :'l4, n o . 1 (January 199 1 ) L. Lawrence, " The Role of Roles,'' Cmnpu ters vol . 12, no. l ( 1993). and Securit_g 72. L. Aiel lo, D. Nard i . and v i i . Panti, "Modeling J Ba i r. " Con trasting Workflow Models: Get the Office Structure: A First Step towards the t i ng to the Roots of Three Vendors," Proceed i ngs of the Group ware '93 Co nfe re nce San _lose, Cal ifornia ( 1993). Cm�terence 0 1 1 , 48 and R. Mars h a k , " Characteristics of a Wor kflow Syste m - M i nd You r P's a n d R 's," Proceedings of the Groupware '93 Conference, San Jose , Ca l i fornia ( 1 99 3) . Leymann and W AJ tenhuber. " Managi ng Busi ness Processes as an Int()rrnation Resource," IBM .�ystetnsjournal, vo l. 33. no. 2 ( 1994 ). Soflwa re: Robotics (ICA RCV '94), Singapore 68. F Mmwgem e n t A u to m ation, on ( November 1 994) M . Hsu and .M . Howard . " Work-Flow and Legacy Systems," B YTE (Ju l y 1994). Wo rkflow D. Sng, "A National Information InJrastructure for the 2 1 st Cen t ur y Col laborative En ter prise." Proceedings of the Intern ational Con Comp u ter Vision . 58 D. Evans, " Pu t t i ng E lves to ·work: Workflow Technology in a Law Firm," Proceedings of the Groupware 93 Conferen ce, San Jose, Cal ifornia ( 199:3) ference Fou rth Wo rking Conference on Dynmnic Noord British ' S. Jablonsk i , " ;\•I OBI LE: A Mod u lar Workflow Model a nd Archi tecture," Proceedings of the Jl!iodelling and Information .�)'stems, Very Lmge Vancouver, Col umbia, Canada ( 1992). 011 Enabling Techn ologies: infrastru cture fo r ( VI.IJR). Databases J Guyot, "A Process Model t()r Data Bases," SJ G of the Third IEEE international Workshop 56. M . Ansa r i . L. Ness, M. Rusinkiewicz, and A. Sheth , " Using Flexible Transactions to Sup p ort M u l t i-System Te lecom m u n i cation Appl i cations," Proceedings of the Eigh tee n th Intern a t ional Conference on MOD Record, val. 17, no. 4 ( December 19R8) . 55. Was hi ngton , D.C. ( May 1993) Jne n t of Data. Office Expert System," Second AC\1 S!GOA Ojjice information .S) •stem s (AC.II S/C,OA). vol . 5, n os. 1 and 2 ( l9R4) ViJ/. (J No. ·I hill !')') 1 Digital Technical journal Policy Resolution in Workflow Management Systems D. 73. Den n i ng, Cryptography and Data Security ( Reading, MA: Add ison-Wesley, 1983). 74. Blue Book, Volume Vl!I, Fascicle VJIJ. 8, Data Communication Networks: Directory, Rec ommendations X. 500-X.521 (Study Group VII), Comite Consu l ta t i f l nterna tiona le de Tell·graphique et Te�lephonique. 7). 7(J. S. Ceri and .J. Wido m , '' Managing Semant ic Heterogeneity with Production Ru les ami Per sistent Queues." Proceedings of the Nine tee 1 l tb Conference on Very Lorge Databases ( VUJN), Dublin, Ireland ( 1993). W Kent, "Solving Domain Mismatch a nd Schem a M ismatch Problems with a n Object- Digital Technical jou rnal Vul. (j No. 4 hill 1')<)4 Oriented Database Program m i ng Language ," Proceedings of the Seventeenth In terna tional Conference on Very Large Databases (VLDB), Barcelo na , Spain (September 1991 ). 77. U. Day a l et a l . , "Third Generation TP Moni tors: A Database Chal lenge," Proceedings of tb e 1993 ACM S/G/'vJOD International Confer ence on Nlanagernen t of Data, Was hington, D.C. ( May 1993). 78. C . BuBier, "Capab i l i t y Based Model i ng," Proceedings of the First International Con ference on En te11Jrise Integration Modeling Technology (JCEIMT), H i lton Head, Sou t h Carol i n a ( J u ne 1992). 49 Stewart V. Hoover Gary L. Kratkiewicz The Design ofDECmodel for Windows The DECmodel for Windou•s softlmre tool represents a significant admnce in the development of business process models. Tbe DECmodel tool allows rapid devel opment of models and graphical representations of business processes by prot•id ing a laborator)' enl 'ironment for testing processes before propaga ting t!Jem into workflows. Such an appmach can significantly reduce tbe risk associated u·itb large inuestments in inform a tion technology The DECIJ lodel dest�f{ll i11corporates knowledge-based, simulation, and graphical user intetjace technology on a PCplat form based on the L'vficrosoft Windml's operating �Tstem. Unique to the design is the manner in whicb it separates the model of the business processesFum tbe uiews or presentations of the model. M a n y approaches have been developed for u n d er base compo n e n t aml t he p rese n t a t i o n componen t stan d i ng, specifying, testing, and val i d a t i ng busi as s e p arate processes. A pri m i t ive m a i l box system ness processes. In t h e l a t e 1980s, D i g i t a l began ro was used fo r i n t e r p rocess com m u n i catio n . To serve reengineer some of its most comp lex and m i ssion the needs of n o n tech n ical b u s i n ess users and to critical b u s i ness processes. I t soon became a p p a r achie ve t he necessary pro d u c t qu a l i t y, Sym mod e n t t h a t mod e l i n g methodologies and too l s were needed to be com pletely redesigned a n d rebu i l t . needed t o docu m e n t , test, ami va I idate t h e reengi I n early 1 9 9 1 . the Model i ng and Visu a l ization n eered processes before they were i m p l e m e n ted , Group decided to bu i l d a pro d u c t versi o n of the as wel l as to prov ide a hi gh-level specifi cation fo r Sym mod applicati o n , w h i c h wo u l d be released as their design and i m p lementa t i o n . Consequently, the DECmoclel too l . The team d rafted requ iremen ts, Digi tal decided to provide the b u s i n es s process specific a t i o n s , a mi an architecture. The DECm odel engi neer w i t h tools similar to those used by archi produ c t was i n i t ia l l y t a rgeted a t two p l a t fo r m s : tects, mechanical designers, and c o m p u te r a n d soft VAXstat ion ware e n g i n eers. DECwindows operating system and perso n a l com The first i m p l e m e n t a t i o n o f D i g i t a l \ d r n a m i c works t a t i o n s r u nn i n g u n der t he p u ters (PCs) r u n ni n g u n der the Windows NT oper b u s i n ess m o d e l i n g techn o l ogy, Sym b o l i c Mode l i n g , ating was developed a t Digita l 's A r t i f i c i a l I n tel l igence req u i r e m e n t s were accu m u l.a ted . i t became clear. sys t e m . As u s e rs were i nt e r v iewed and Tec hno logy Cen ter. The techn ology was emb od ied however. that by far the m o s t i m portan t p l a t form i n an a p p l i c a t i o n cal led Sym m o d . wh ich in 1991 ran for DEC m o u e l users was the PC pl a t form based o n l y on a VA Xstation syste m . 1 Sym m ()(J's k nowledge on the Wi n dows opera t i ng syste m . Consequent ly, base and using the s i m u l a t i o n engine were i m p lemen ted LISP progra m m ing l a nguage and t h e the D ECmodel deve l o p m e n t eftort shifted to this p l a t form . K n owledge Craft prod u c t , a fra me-based k nowl D u r i ng 1 9 9 1 , the team en hance(! the exi s t i ng ver edge represe n t ation package with model i n g a nd s i o n of Sym m o d so t h a t i t wo u l d meet user needs s i m u l a t i o n fe ature s . l Because models were written u n t i l the release of the pro(l uct vers i o n for l'Cs. The in LISP code, users had to be c o m p u t e r program most s ign ifica n t e n h a n c e m e n t was the develop mers as we l l as b u s i ness c o ns u l t a n ts . The appl i ca ment of an X W i nd ow System in terface for building t i o n contai ned a graphical pres e n t a t i o n bui lder a n d and e d i t i ng m o d e l s . A second important en han ce \'iewer im p l e m e n ted i n t h e C progra m m i ng l a n men t was a gra p h i ca l she l l program t h a t tra ns up guage t h a t u s ed a relat ional database fo r p res e n t a parent ly t i o n storage . The user h a d to start the k n o wledge presen t a t i o n components to r the user. ')() started Vol. o No. 1 t he h1ll 1')')4 k n owledge base and Digital Tecbnical journal The Design of DECmodelfor Windows In March 1992, Digital officially announced Phase Designers believed that while simulating the 0 (the strategy and requirements determination business, the user should be able to interact with phase) of the DECmodel for Windows product. the model and thereby select and test more than one scenario. The DECmodel tool was intended to Design and Development Goals The DECmodel product design team had the fol low ing goa ls: • • Provide a model ing tool that maps d irectly to put as a fu nction of resource constraints nor pro vides i nfor mation through statistical reports. The DECmodel product was designed to provide a slow, Allow the model ing of both the static and the del iberate simulation of the business, not to com dynamic characteristics of the business process press weeks or years of activities into a few sec Allow m u l t iple views of the busi ness process model by separating the model from the presen tation of the business process during simulation • work as different choices were made. The tool, by design, neither predicts congestion and through business processes • be a working scale model of the business, giving the user a sense of how the business process wou ld Allow the user to i nteract with the tool and to onds, leaving behind only a statistical sum mary. The team 's development goals for the DECmodel product were to • pl atform used by business consultants make decisions while the business process is being simu lated in order to let the user " test • drive" the business process • Provide a tool that runs on a popular hardware Achieve a short t ime-to-market, i . e . , delivery within one year Provide a tool that is easy to use for business con sultants and that requires no programm ing • Util ize a widely accepted software base technol ogy (for maintainabil ity) Note that the designers intentionally omitted the fol lowing goals from the DECmodel design: • Include resource constraints and queuing • Al low the user to perform a statistical analysis of the behavior of the business process By far the most important goal for the DECmodel The DECmodel World Vlew Every m odel ing and simulation tool is based on a predefined view of the world 5 In the DECmodel world view, a business process is composed of aggregate centers capable of perform ing one or more tasks or work steps. Each aggregation is design was the first one l isted, an obvious mapping referred to as a process, and the tasks that can occur between elements of the model and busi ness p ro in a process are called activities. Processes commu cesses. The antici pated users of the DECmodel tool nicate through the exchange of messages, which were business analysts and consultants, not system are sent by activities and received by another pro designers and software engineers. The designers cess or other processes or by the same process that felt that add ing levels of abstractions to a modeli ng contains the activity.4 tool would make i t less acceptable to the intended This view differs significantly from the one taken users. A notable coro l l ary to providing an obvious by the typical workflow model in which work steps mapping was modeling both the static and the are directly l inked. In the DECmodel model, an dynamic characteristics of the business process. activity that sends a message to a process has no To engage the user in interacting with the model knowledge of what work steps w i l l occur next. For and test-driving the busi ness process required example, when a customer (a process) sencls an a graphical interface that was separate from the order (a message) to a supplier (another process), model. This " p resentation" layer of the DECmodel the customer does not know what work steps tool provides a layout and graphical appearance (activities) that has the look and feel of the actual business pro receives the order. It is invisibl e to the customer the suppl ier will initiate when it cess, hiding the irrelevant technical details of the whether or not the supplier decides to change its model. The presentation enables the user to step work ru les, for instance, by sendi ng the order to a through the business, watching information and second source because material s are not available. material flows occur, and thus see where the Simi larly, when the suppl ier's activities have been dependencies and concurrencies exist. completed and the material that was ordered has Digital Technict,l]ournal Vol. 6 No. 4 Fall 1994 51 Workflow Models been sent to the customer, the suppl ier has neither knowledge of nor dependencies on t he work steps that t he customer u n dertakes next. In cont rast, i n a workflow model each task i s d irectly l in ked to another task. Changes in the sup pi ier's way of clo i ng business force changes i n how the customer's tasks connect to the supp l ier's tasks. More succinctly, the DECmodel tool e ncapsulates the behaviors and work ru les of each i nd iv i d u a l process in t he larger business process. This d i fference between the pro cess a nd workflow models is shown in Figu re 1 . Processes, Activities, and Messages As described above, the DECmodel model repre sents a business p rocess as a col lection of smal ler encapsul a ted processes. The behavior of each pro cess is defined by the activities that it contains. The DECmodel tool provides three general types of activities: generating activi ties, processing activi t ies, and terminating activit ies. Genera t i ng and ter m i na t i ng activit ies represent the boundaries of the model; processi ng activi ties represent the work steps i n t he business process. An activ i t y is characterized by ( 1 ) a receive r u l e , w h i c h defines the messages t h a t t he act ivity neecls for i n i t iation, ( 2) a duration, and (3) a send rule, wh ich d efines the messages that the activity semis out at the end of its duration. Generating activ i t ies have o n l y send ru les, and term i n a t i ng activ i t i es have o n ly receive ru les. PROCESS PROCESS A (a ) ( b) Figure I Process Jl!Jodel Workjlou • ii!Jodel Tbe Process ;Hodel uersus 8 Activities can send messages to processes on l y. The receiving process m akes the message known to every activity that uses t he message in i ts receive rule. Messages are u niversal to the model, and the same message type can be sent by activities in d i t� feren t p rocesses. Processes can have state knowledge (attribu tes) that can be assigned values as a side effect of an activity being completed . 'The activity can use a process attribute value to decide what messages to send o u t ancl where to send them. 'That is, pro cesses have a state that can be a ltered to change the behav i or of the model. Like processes, messages can con t a i n i n for mation, which is stored i n their attribu tes. When a process receives a message and passes i t on to an activit y, i n formation in the message can be used in both the receive r u le a n d the send ru le of the activity. Acl d i t i o n a l ly, t he i n formation i n a received message can be copied i n to the attributes of any message that an activity sends. In this way, the DECmodel tool supports i n formation propagation. The DECmoclel representation of busi ness bor rows heavi l y from both the stochastic-timed Petri net (STPN) model and the object parad igm fou nd in object -oriented design. ' 1' TIJe Stochastic- timed Petri Net Model uersus the An STPN model represents a system as a col lection of pl aces, transitions, arcs. and tokens. Places con t a i n tokens and act as inputs to tran s it io ns. A t ransition results in t he movement of a token to another p lace i f an arc exists between t he t ransition ancl the p lace. Before a t ransition can occur, a token must be present at each place that is connected to t he t ra nsition by an arc. Associated with each transi t ion is an exponenti a l l y d istributed random variable that expresses the d e l ay between the enab l i ng of the t ra nsi t i o n and the firing of the transition. The DECmodel model welds the STPN place, t ra n sition, a n cl arc elements i n to a s i ngle object ca l led a n activity. The analogous elements of the ST'PN and DECmodel models are DECrnodel ;lJodel STPN DECmodel Pl ace Transition Token Arc Activity receive r u le Activity d u ra t i o n Message Activity send rule Process the Workj?ou• Model 52 Vii/. 6 ;\(). cj Fall I 'J' ) 1 Digital 1ecbuical journal The Des(f.!.11 ofDECmodelfor Windows 5. Not restricting durations to being exponentially The DEC:model mode.l goes beyond the STPN disrribllted random variables. model by Like an STPN mode l , a DECmodel model does not l. Adding the process object between the activity send rules (arcs) and the activity receive ru les expl icitly have resources but can represent the (pl aces). Each process can have mu ltiple activ ity avai labi l i ty of a resource by sending a message to send ru les. As the process object receives mes process when the resource is available. Figure 2 s hows the workflow system from sages (tokens), it dispatches them to the appro Figure 1 as both an STPN model and a DECmodel priate activity receive rule (place). model with the process receiving messages from 2. Al lowing more than one type of message (token) the activit ies. to exist. The DECmodel !Vlodel and Object-orie n ted Design :;. Storing information in bo th the processes and The elements of object- o r iented design that the the messages (tokens). DECmodel model fu l l y draws upon are encapsu la tion of information and the message-method para 4. Using AND, OR, and message-m atching receive d igm . Information is encapsu l ated within DECmodel ru les in the activity receive ru les (places). ACTIVITY 1 ACTIVITY 2 ACTIVITY 3 ACTIVITY 4 V-UVl KEY: ' J ARC 0 PLACE TRANSITION • TOKEN (a) Stochastic-timed Petri Net Model of a Four-acti uiz) Workflow ' KEY: JACTIVITY SEND RULE c==::> PROCESS 0 ACTIVITY ACTIVITY RECEIVE RULE • MESSAGE (b) A DECmodel Model of a Four-activiZJ' Workflow w ith a Process Dispatching Messages between A ctivities Fip,ure 2 The Stocbastic-tirned Petri Net Nlode/ versus the DECm ode/ Process-activity J\1/odel Digital Technical journal a Vol. () No. Fa(( J'J94 Workflow Models objects and is not avai lable g loba l l y. However, an i mportant d ifference exists between DECmodel sys tems and object-orien ted systems. Tn DEC:moclel systems, a number of messages may by requ ired to trigger a behavior; whereas, in classical object oriented systems, each m essage triggers a method. The DECmodel tool supports polymorp h is m , in that the same message can be sent to d i fferent pro cesses, which can res u l t in different behaviors. Developers investigated goi ng beyond standard polymorphism by using one message to trigger d i f ferent activ i t ies within the same process. The approach considered was to use process " fi l ters" to examine the information in a message and then decide which activity or activities in the process should receive i t. This feature was not completely developed because of time constra ints a nd a less than-clear mapping between t he concept and the actua l practices i n most business. Further, using activity send ru les that util i ze the i nt<>rmation con tai ned i n messages can provide a similar capabil i ty. The DECmodel tool does not su pport inheri tance, but the u nderlying techno logy of the prod uct does support this feature. As in the case of nonstandard polymorph ism , time-to-m arket pres sures and the lack of clear evidence that the feature woul d be used i n business processes drove the decision not to i nclude i nheritance support. Also, the DECmodel prod uct does not cu rrently support class types beyond the bui l t - i n classes of the rro cess and the three activity types. Process Hierarchies Tb address the goa l of havi ng a strong mapping between the model ami rea l business processes, t he DEC:model model supports processes within pro cesses. Processes can receive messages in two ways: h ierarchical rou ting ami peer-to-reer rout ing. I n a business process, a message sent to a h igh level process should travel through the process h ier archy to the activity that is to act upon the message. For example, an activity in the sales process should be able to send a message to the manufacturing pro cess and not be concerned that m a n u facturing con tains several subprocesses. The knowledge of how to relay a message shou ld be in the receiving pro cess, not the send i ng process. In business, however, much com munication occurs o n a peer-to-peer basis, with information seldom routed up and down the orga n i zation hier arc hy. For exa mple, the results of a m arketing research activity go directly to the manufacturing '5 4 planni ng fu nction without traveling down through the various levels of the manufacturing orga niza tion. In a DECmodel model, as in most businesses, when an activity is completed, a message can be sent directly to any process in the business. The DECmodel design feature that a llows pro cesses to receive messages ami then pass them on to subprocesses and activ ities can resu l t in m u ltiple message receipts h>r a single send operation. That is, one activity can send a single message that is received by every activity in the model that includes the message in its receive ru le. Model ing experts d is agree about bow well this phenomenon maps to rea l business processes. The DECmodel user can avoid this effect, if desired, by using uniquely named messages in the send ru les of activities. The Presentation The first DECmoclel design goa l was supported by the modeling parad igm of processes, activities, and mes sages. The presentation aspect of the DECmode l tool supports the goa ls of a strong separation between the model and the graphical representation of the busi ness process and the need to support user inter action ami decisions during moclel simu lation. The presentation of the model is based on v iews that contain networked nodes. Each node in a view can represent zero or more processes i n the model ; however, no process can be represented by more than one node in a si ngle view. This mapping between the processes i n the model and the nodes i n a v iew a l l ows the user to develop a ncl a n i mate m u l tiple v iews of the model simu l taneously. For example, one view m ay show the model at its low est level of deta i l , with each process in the model m apped to a si ngle node. Another view m ay show a h igher level of ma pping, with m u l tiple processes m apped to the same node. A third view may map processes based on attri bu tes such as geographic location, the organizational chart, or technology. T he construction of the v iews is left to the creativ ity of the analyst b u i ld ing the model. D uring model s i m u l ation, the DECmoclel tool uses a n imation to show the movement of messages from one process to another. The user can also v iew the messages and their attribu tes. To accom modate user interaction, the D ECmodel tool provides a menu send ru le in the defi n ition of an activity. If an activ ity uses the menu sencl rule, just before t he activ ity fires, a menu appears t hat a l lows the user to make a choice that determ ines what messages are to be sent by the activity and Vol. 6 No. 'l Fall I') 'Yi Digital Tecbnical jou rnal The Design ojDECmodelfor Windows which processes are to receive them. The user is builder. The user inte rface is designed as a set of unaware of the actual send rule; the choice m ade classes specialized from the Microsoft Foundation forces one of a set of send ru les to be selected. The Classes. use ach ieved with an internal application progra m m ing of menus, a n i mation of messages moving between processes, and user-control led stepping through the simula tion gives the user the feeling of Interaction between the two layers is interface (API). This arch itecture was chosen for both technical and pragmatic organizational reasons. The parti test-driving the business process. tion ing i n to two layers al lowed the i n ternal engine t o be b u i l t using sta te-of- the-art k n owledge repre Architecture and Development Process The overal l DECmodel architecture, shown in Figure 3, contains two layers. The inner l ayer of the archi tec ture is the internal engine, which provides the means for repres enting, storing, and executing (simulating) models. The internal engine is designed using ROCK, a frame-based , object-oriented knowledge repre sentation system, and AMP, a model ing and sim ula tion frame-class l ibrary implemented in ROCK 7 The outer layer of the architecture is the user inte rface , w h i c h provides t h e means fo r a l l user interaction with the DECmodel model and has two major com ponents: the m odel builder and the presentation sentation tech nology and the user in terface to be built using sta te-of-the- art graph ical user i n terface technology. The d isadvantages in this separa t i o n were t h e necessity of design ing an internal API a n d the n e e d to dupl icate s o m e data (nomina l l y stored in the knowledge base) in the user interface. The partition i ng m apped well to the human resources avail able in the DECmodeJ tea m . The DECmodeJ engineers had strong skills i n developing LISP, knowledge-based, and X Window System appli cations but l i t t le experience in developi ng C++, ROCK, or Microsoft Windows applications. With the arch itectural separati o n , one team was able to focus o n the i nternal engine using C++ a nd ROCK r - - - - - - - - - - - - - - - - - - , a n d , t herefore, did not h ave to learn m u ch about Windows program m ing. The other team was able to MODEL BUILDER I focus on the user i nterface using C++ and Windows PRESENTATION BUILDER progra m m ing tools and did not have to learn any th ing about ROCK. The engineering team fe lt that ��"'' INTERFACE CLASSES G E N E R I C USER I M I C ROSOFT the efficient use of human resources in the develop ment process overcame the technical disadvan FOUNDATION CLASSES tages of the approach . USER INTERFACE DECmodel development proceeded w i t h the two tea ms. Since the bu l k of their devel opment work SCRIPT E N G I N E (A� was completed first, the members of the knowl edge base team also worked on the user in terface team toward the end of the development process. SI MULATION ENG I N E KNOWLEDGE BASE Design and Implementation ANALYSIS I This AMP l ROCK r - - - - - - I l _ the design of the two interface. 1- - - - - - - - - - - - - - - - - - - I REPORT FI LES Internal Engine - - - - - - - - - _ _ _ _ Figure 3 _ _ The internal engine represents models of dynamic business processes in a knowledge base and exe - cutes these models using di screte event simulation. DECMODEL MODELING LANGUAGE FI LES This layer provides a set of services for i n teracting PERSISTENT STORAGE _ describes I NTERNAL E N G I N E D E C M O D E L APPLI CATION - secti o n DECmodel layers: the i nternal engine and the user _ _ _ _ _ _ _ _ _ _ _ l with the knowledge bas e . These services are accessed through the DECm odel t o o l 's i nternal API . The i n ternal engine contains t he DECm o del knowl edge bas e , simu lation engine, and means of persis DECmodel Architecture Digital Tecbnicaljournal Vol. 6 No. 4 Fal/ 1994 tent storage. Using the DECmodel methodology to 55 Workflow Models represent and execute busi ness p rocess models, the i nternal engine • Represents the structure, attributes, and behavior descriptions of the busi ness p rocesses in a knowl edge base. (This representation is the model.) • Represents the structure, attri b u tes, and behav i o r descriptions of the a n i mated visu a l i zation of t he model in a knowledge base . (This repre sentation is the p resentation.) • Represents the connections between the model and the p resentation i n a knowledge base. (This represen tation is the model- presentation mapping.) • Represents the dynamic behav ior of the busi ness p rocesses by al lowing fo r d iscrete event simu la tion of the knowledge base . The DECmodel knowledge base cont a ins the frame-based , object-oriented rep resentation of t he model, the presentation, and the connections between them . It also m a i n t a i ns the model relat ions, attribu tes, and methods. The knowledge base contains both cl asses and instances. The classes specify DECmodel objects; sets of i nstances make up specific models and pre sentations. In addition to con t a i n i ng a l l the i n for mation abou t model and presen tation behavior and structu re, the k nowledge base contains all t he graphical information usecl by t he model bu i l der ami the presentation b u i lder. This i nt r frame classes. Both frame classes and frame i nstances are objects. ancl both can be dynamically created, operated o n . and deleted d u r i n g run time. With respect to the C++ language, al l frames appear to have the same data type. Slots are objects, whose behav ior is defined independent of the frames. Portions of the k n owledge base are b u i l t using AMP, a model i ng and simulation frame-class l ibrary imple mented in HOC K . A!YJ I' contains objects for representing process models that contain ent ity flow, for constructing ami r u n n ing (I iscrete-even t s i m u lations, and for gen e rating, col lect i ng, and red ucing statistical data. The DECmodel frame classes are subclasses of ROCK and AMP classes ami conta i n re lat ions, a t tr i b u tes, and methods that describe the content and behavior of DECmodel objects. Some DECmollel frame classes are abstract classes used o n l y as a basis for m o re specific su bclasses; others are used for instantiation of D ECmodel objects. The DECmodel tool contains three types of h·ame classes: model objects. presentation objects. and project objects. A speci fi c DECmodel project is rep resented within the k nowledge base :1s a set of model. presenta t i o n , and project instances. These i nstances are created in the knowledge base by load i ng a DECmodel modeli ng language (DM L) fi le or through i nte raction with t he model b u i lder or the presentation bu dder. Persistent Storage The D M J . is a subset of the ROCK frame defi n i t i o n l anguage and is used by the knowledge base for p ersistent sto rage . A DEC:model project is stored as A SC I I text i n three files that contain the model, present ation. and map p i ng objects. The language em ploys ROCK syntax but uses o n ly the frame classes and slots defi ned in the DECmodel knowledge base. The DECmodel tool utilizes the ROC K frame defi nition interpreter as the DML i nterpreter. Since the ROCK in terpreter was not intended to he u sed for p e rsistent storage . the D ECmodeJ developers made several m inor modifica t i o ns to obtain the desired I vi. 6 ,\o. 4 Foii i'J'J· I Digital Teclmical journal The Design of DECmodelfor Windows error hand I ing capabi lities. The DECmodel tool A nazysis and Reporting Services The knowledge base contains services that al low the user to ana contains its own DML code generator. lyze models and presenrations in the knowledge Simulation Engine The simu lation engine exe base and to generate reports. cu tes a discrete event simu lation of the model in The consistency advisor checks models, presenta the knowledge base. This simu lation can be per tions, and mappings for inconsistencies and poten formed either in teractively or in a batch mode. The tial problems at any point in the model development simul ation engine was designed to be so robust process. This check is analogous to the syntax check that a model can be simul ated a t any stage of its performed by a compiler. The consistency advisor develop ment, check is the primary model-building debugging aid regard less of inconsistencies or undefined elements. for users. I n consistencies i n the model do not pre The simulation engine interacts with the presen vent a model from being simu lated. tation b u i lder to control simu lation, animation, and The model description report l ists the descrip graphics. The user con trols simu lation through tion, messages sent, and messages received for each the presentation bu i lder. The presentation bu ilder activity and process. The model table report con cal l s simulation engine API fu nctions to perform tains the basic model information in a table format the requested actions, such as starting, for easy access by another application, database, or step ping through, pausing, ending, and reinitial izing spreadsheet. The simulation s u m mary report con the sim u l ation . tains information on simu l ation perfo rmance. Script Engine and CmnjJiler Scripts provide a means of specifying user-defined actions to cus Design and Implementation Decisions The inter nal engine for the first DECmodel product release, tomize model anim ation and to p erform spe DECmodel for Windows version 1 .0, was imple cial presentation actions during simu lation. The men ted as a Windows dynamic l i nk l i brary (DLL) DECmodel tool contains a language for defi n i ng using the Windows version of ROCK version 1 .0, the scripts, a script compi ler, and a script engine for Windows version of AMP version 1 .0, and M icrosoft executi ng the scripts. Although the DECmodel team C!C++ version 70. For DECmodel for Windows wanted to avoid requ iring any progra m m i ng i n the version 1 .1 , developers ported the internal engine tool, developers decided that a script language was to Microsoft Visual C++ version 1 .0. the only way to i m plement these features in the The script la nguage contains fu nctions for • Annotating, h id ing, showing, flashing, moving, highl ighting, and seal ing p resentat ion icons • • Several options existed for implementing the DECmodel knowledge base. The knowledge base of available time frame. the Symmod application, the precursor to the DECmoclel product, was implemented in a LISP envi ronment. The DECmodel engineering team wanted to move to a more standard progra mming environ ment and, therefore, focused on C++ and C++-based Playing sounds and sound loops tools. However, a straight C++ implementation Animating connections between nodes would have required the reimplementation of knowledge represent ation, simu lation, a nd model • Showing, h id ing, and cleari ng certain kinds of windows ing technology available in other tools. Another model ing and simu lation technology, • Starting other applications the Model i ng and S i m u l ation System (MSS), had been developed for Digital's Artificial I ntel l igence • Temporarily stopping execution Techno logy Center by the Carnegie Group, Inc. • Loading a new project (CGf ) H This graphical tool was designed at a lower level than Sym mod . I t used a model ing simu lation • Starting and pausing the simu lation • Displaying files • version of Symmod. However, the MSS model i ng paradigm was not compatible with that of the DECmodel tool. Displaying a list of DECmodel development team members Digital Tee/mica/ ]ou rual la nguage and was developed to im plement t he next IMKA had also been recently developed by CGl, fu nded by a consortium of companies, as a l,bl. o No. 4 Fall I'J'Yi 57 Workflow Models re p l a ceme n t for the K n o w l e d ge C raft p rodu c t . J M KA 's i m p l e me n t a t i o n , ROC K , l acked some of t h e c l a ss l i braries i n c l u ded i n Kn o wl e d ge Craft fo r s i m u l a t i o n a n d process m o d e l i ng b u t ran s i g n i fi c a n t l y fa s te r t h a n Kn ow l e dge Craft. The e n gi nee r i ng tea m decided to use ROC K to i m pl e m e n t t h e k now l e d ge base beca use of i ts k n o w led ge r e p rese n ta t i o n power and its C++ compa t i b i l i t y D i g it a l contracted with CGl t o port the c l ass li brar ies to ROCK . The team , therefore, had a head start in designing ancl i mplementing the imernal engine. The p o rta b i l i t y of ROCK was a l so a n ad va n t a ge ; sw i t c h i n g to t h � Windows p la t fo rm from the DECwimlows p l a t for m caused no d i s ru p t i o n in d e ve l o p m e n t . The o r i g i n a l i n te n t of t h e engineering team was to i m p l e me n t the DECmodel tool as a s i ngle exe c u t a b l e file. The kn ow l e d ge base c o n t a i ns m u ch g lo b a l d a t a , however, and res t r i c ti o n s on t h e n u mber o f data s eg m e n t s re qu i r e d d e velo p e r s t o i mp l em e n t t h e i n t er n a l e n gi n e as a D LL. Th is encap s u l a t i o n o f the i n ternal e ng i n e a l lows i t to b e used in othe r a pp l i c a t i o n s a n d e n a b l es ea sy por t i n g to ot h e r p l a t fo r m s . The DECmodel tea m d e ve l oped a set of i n t e rn a l API f u n c t io n s and structures to al low i nteractions between the DLL-based internal engine and th e executable-based user i n terface. Th e Sy m m o d app l i c a t i o n l a n g u age based on liSP for had a m o d e l i ng p e r s i s t e n t storage of models and used a rel a t i o n a l database f(>r pe r s i s tent storage of p re s e n t a t i o n s . Consideration was g ive n to d e velo p i ng a m o d e l in g l a nguage sp e c i fic to the D ECmodel tool. Instead, the engineering team d ec i d e d to use t he ROCK frame d e fi n it i o n l a n guage, s i nce i t was a l r e ady c o m p l ete l y d e f i n ed a n d d e bu gge d and h a d a n i n t e rp ret er. 'fhe t e a m u s e d t h i s l a n g u a ge for p e r s i s t e n t storage of both m o d e l s a n d p rese n t a t i on s t o a l l o w e a s y s ha r i n g of pro j e ct s betwe e n users a n d to s i m p l i fy debugging b y u s e rs a n d DECmo rced the team to postpone plans fo r q u e n t ly, when d ev e l o p e r s deci ded to fo cus s o l e l y graphical editors i n favor of d i a log boxes, which were faster to i m ple m ent. for example. t h e team had Windows i n te rface Window a n d h a d parri a l .l y developed i t . This window d o n e a s ignifican t a m ou n t of design w o r k toward a l low graph i c a l e d i t i ng of i t s i nforma t i o n . Sched u le u n d e r t he Windows NT opera t i n g syste m . Conse o n t h e l ' C p l a tform r u n n ing under t h e st:mdard operating syste m , t he user development effort was d is r u p ted . Engineers h a d achieving a DEC:wi n clows i m plem e n t a t i o n . The DECmodel engineering team considered initia l lv plan ned to i m plemen t a n Ac t iv i t y Edi t i n g was to provide a c o m p lete v iew of an activ i t y a n d constra i n t s required t h e ream to abandon t h i s p l a n a n d to develop a set of d i a log boxes t h a t were n o r as other cl ass .l i braries and user i nt e rface i m plemen ta easy to use but were faster to i mplement. c i e n t i n W i ndows fea t ur e s o r i n t h e look a n d feel . com m i t ted to storyboards i n a n y detail a t t he begin p l a t form fo r the foreseeable fu ture, t h e e n g i n e e r i ng the disru p t i o n s in the deve l o p m e n t work. t i o n packages (s u ch as A.'VT), but most were d e fi S i nce the W i n dows op e rating system was t h e o n l y The user i n terface design was not specifi ed o r n i ng of the project, p a r t i a l ly to s ave t i me after Th is deci team fel t t h a t u s i n g Microsoft Fo u n d at i o n C l asses sion J e d to more lost t i m e l a ter i n the project, s i o n a fter they had pe rformed a s i g n i fi c a n t amount designed q u i ck l y and someti mes incomp a t i b l y. ami was the best c hoice . However. t hey m ade t h is deci of development work with one of the to o l s. M u c h th o ugh , use r i nt e r face consequ e n t l y req u i red r ewo r k i n g. bec ause f ea t u re s were J n a d d i t i o n , the of rhe work had to be redone. w h i ch c o n t r ibu ted to resu l t i n g u s e r i n t t>rface was nor as easy to use as it the sched u l e d e l av. c o u l d have been i f bett e r p l a n n e d . 60 l'r;/ {> .\'u. i hill I'J'N Digital Technical journal The Design of DECmodelfor Windows External review of the user interface design was goal of requ iring no programming, and some users not performed until late in the project. The review found scripts hard to use. However, many users have yielded some ideas that would have resulted in requested that a future DECmodel version provide a more usable product; however, there was not more script functions and extend the script language enough time left in the schedule to implement them. to be more like the BASIC p rogramming l anguage. Also, to en hance the use of the DECmodel tool i n the design of business processes, a futu re version Delivery A discussion of the released product and the team's success in achieving the design and development should support classes to make generic processes available as b u i ld ing blocks of a business p rocess. goals fol lows. Development Successes and Lessons The Release Digital released version 1 .0 of the DECmodel for Windows product in November 1993 and version 1.1 in April 1994. Version 1 .0 contained the basic capabil ities for building models and p resentations of business processes; version 1 .1 added a set of minor enhancements and bug fixes. Because of its small, focused market and the large cost savings that can result from its use, the DECmodel tool was in troduced as a low-volume, h igh-priced product. The product includes the software, example mod els, documentation, and a week of hands-on train ing. The DECmodel tool is an integral part of Digital Consu lting's reengineering practice. DECmodel engineering team released a software product on successfu lly the M ic rosoft Windows platform, the one most popu l ar with busi ness consu l tants. This achievement was significant because the group of engineers began the project with no PC experience. The team did not meet its one-year del ivery goal , and the goal s lipped to one a n cl one-h a l f years after the Phase 0 annou ncement. However, this time frame was sti l l extremely short for developing a complex PC product from scratch. The product retained the ex isting Symbol ic Mod e l i ng parad igm ( i . e . , a p rocess-activity-message model a nd a strong distinction between model and presentation) and exhibited performance an order of magnitude better than that of the Sym mod prod uct, which it replaced. The product uti lized the Success of Design Choices most widely accepted modern programm ing tech The separation of the model from the presentation nology base (C/C++ ), which simp lified maintain is the single most i mportant element of the prod ability and reduced the need for special train i ng uct's success. This feature, along with animation, of maintainers. d istingu ishes the DECmodel tool from its competi Splitting the development team into two sub tion. Some users have even requested the capability teams worked wel l . It distribu ted the amount of of b u i lding the presen tation first and then gener learning about new technologies requ ired by the ating the corresponding model. Such capabil ity engineers and minimized the overall development would require considerable investigation. time. Key factors in the success of this app roach The paradigm of process-activity encapsu lation were the detailed object and i nternal API specifica is diffic ult for some users to become accustomed tions that were kept up-to-date throughout devel to. Many st i l l p refer to build a model using a work opment and thus provided a rei iable interface flow approach, wh ich the DECmodel tool can sup between the two parts of the project. port, rather than by defi n i ng each process and i ts After the product was released, the DECmodel team identified certain factors that cou ld have behavior i ndependently. The exclusion of resource constraint s has l i m i ted made the team and the product even more success the appl ication of the DECmodel tool to system fu l . The entire engineering team would have bene design, thus preventing its use in mode ling sys fited from Windows training at the onset of the tem performance. AJthough the capability was orig project. The Windmvs design of the user interface inally not a product goa l , many users would l ike shou ld have been specified and committed to story a fu ture version of the D ECmodel prod uct to pro board in mu ch greater detail much earl ier in the vide this feature. To perform special user-defined actions during project. In addition, the team shou ld have arranged for Windows experts to review the design . These the simulation, a script language was i ncluded in changes in the engineering process would have the DECmodel tool . This design feature violated the helped the team produce a cleaner, easier-to-use, D igital Tecbuicnl]ourual 1-b/. 6 No. 4 Fall I'J')4 61 Workflow Models more maintainable user interface and would have Laurel Drummond, Peter Floss, Amal Kassatly, Mike reduced implementation time. The project sched Kiskiel, Kip Landingham, and Janet Rothstein. u le should have been created using a bottom-up rather than a top-down process. The initial one-year References schedule was based on an unrealistic, management 1 . Symmod User's Guide ( Maynard, MA : Digital imposed release date. W11en the engineering team revised the schedule and calculated a release date based on their detailed estimates, the team met the new date. Summary Modeling and simulating business processes is an important part of business process reengineering. Digital developed the DECmodel tool specifica!Jy for this type of simulation. Although it borrows many ideas from other discipl ines of model ing and simulation, as wel l as from object-oriented design, the DECmodel product is unique in the way it mod els business processes, separates the model from the presentation, and represents the model as frames in a knowledge base. Acknowledgments The authors would l ike to acknowledge the follow ing people who also contributed to the design of the DECmodel product: Ty Chaney, David Choi, 62 Equipment Corporation, 1990). 2. Knowledge Craft Reference Manual (Pittsburgh, PA: Carnegie Group, 1988) . 3. S. Hoover and R. Perry, Simulation, A Problem Solving Approach (Reading, MA: Addison Wesley, 1989). 4. DECmodel for Windows: Modeler's Guide (May nard, MA: Digital Equipment Corporation, 1994). 5. ]. Peterson, Petri Net Theory and Modeling of Systems (Englewood Cl iffs, N.J : Prentice-Hall, 1981). 6. G. Booch, Object Oriented Design (Redwood C ity, CA: Benjamin-Cummings, 1991). 7. ROCK Software Functional Specification, Ver sion 2. 0 (Pittsburgh, PA: Carnegie Group, 1991). 8. Modeling and Simulation System User's Guide (Pittsburgh, PA: Carnegie Group, 1991). Vol. 6 No. 4 Fall 1994 D igital Technical journal Dennis G. Giokas john C. Rokicki The Design ofManageWORKS: A User Interface Framework The Manage lf!ORKS Workgro up Administrator for Windows software product is Digital's in tegration platform for system and network management of heteroge neous local area networks. The Manage WORKS product enables multiple, heteroge neous network operating system and network interconnect device management from a single PC running under the Microsoft Windows operating system. The NfanageiVORKS software is a user interface fra mework; that is, the services it pro vides are primarily targeted at the integration of the user interface elements of management applications. It manifests the organ izational, navigational, andJunc tio nal elements of system and network ma nagement in a cohere nt whole. Viewers, such as the hierarchical outline viewer and the topological relationships viewer that are components of the Manage WORKS softwa·re, provide the organ iza tional and navigational elements of the system. Management applications developed by Digital and by third parties through the Manage WORKS Software Developer's Kit provide the functional elements to manage network entities. This paper discusses the user intetface desig n that implements these three elements and the software sys tem design that supports the user intetface framework. The ManageWORKS Workgroup Adm in istrator for This paper focuses on how the ManageWORKS Windows software product is D igital's strategic software presents and integrates its fu nctiona l ity tool for prov iding system and network manage to the end user. Specifical ly, the paper presents ment of heterogeneous local area networks (LANs) . details of the user i n terface paradigm and d iscusses It serves as Digital's p l atform for the integration the design of PC LAN management. From the perspective employed . The paper also d iscusses the design of of the end user, i . e . , the LAN system administrator Man ageWORKS software in support of the user and network manager, the Man ageWORKS p roduct interface framework. comprises a suite of modules that rationale and the design methods integrates a diverse set of ma nagement activi ties into one workspace. From the perspective of tlJe developer of system and network management applications, the Ma nageWORKS prod uct is an extensible and flexible software framework fo r the rapid develop ment of integrated management modules, a l l of which presents a consistent user int erface. The design of the management system was u ser Driving Forces behind the Design The ManageWORKS software was first released as a component of the PATHWORKS version 5.0 for DOS and Windows product. The foc i for that PATHWORKS release set the tone for the ManageWORKS design. The PATH\'VORKS version 5.0 design objectives were to centric, i .e . , usabi l ity was the top priori ty. Thus, we began the design work without any precon l. Enhance the usability of the PATHWORKS prod ceived notions about the management software sys a command line-based u s e r i n terface, t h e goal tem design. The design that emerged and that is was to develop a graphical user interface for the documented in this paper was driven solely by the system that was based on the Microsoft Windows uct. Since the PATHWORKS system was rooted i n user interface paradigm developed and tested with operating system. Such a user inte rface would be our customers. contemporary, easier to learn, and easier to use. D igital Teclmicaljournal Vol. 6 No. 4 Fall 1994 63 I PC LAN and System Management Tools 2. Enhance the m anageabi l i t y of the PATH\VORKS The team employed software usabi l ity testing product. The goal was to reduce the cost of own throughout the development l ife cycle. Two usabil ersh ip by improving the insta ll a t ion, configura ity tests were performed w i th early design proto tion, and administration of the system. types; the fin a l test was p erformed with our first The ManageWORKS design team used two voice ot�the-customer techniques to provide more depth and detail for the two h igh- leve l p roduct design objectives. First, the team used Contextual I nquiry to determine a customer profile and to develop a c l earer statement of the user's work . ' The n , the team tested user interface prototypes with cus tomers by means of formal usab i l i t y testing. From 15 to 20 customers and users pa rticipated i n each of three rou nds of usabil i ty testi ng. Early in the investi ga t i o n , Contextual l nqu iry revealed that the profile of the PATHWORKS system a d min istrator had changed drasti c a l l y d u ring the five years since the PATH\X'ORKS product was first released. A typical system admi n istrator in the era of PATHWORKS version 1 .0 had been a VA X/VMS sys tem m anager who inherited the responsibil i t y of install i ng a nd m anaging a PC file and print -sharing product. The i n terface into the system was a VT-class pass at a d e t a i led concept design. We performed the usabi l i ty testing with customers to test user i nterface and fu nctional element design co ncepts that we developed as a resu l t of the Contextual I nqu iry. The user thus served as a design partici pant. W i th each i teration of the formal testing, we tested specific functional concepts i n three key areas: (1) mechan isms to navigate among the m a n aged e nti ties , (2) mechanisms to o rganize these e n ti ties, and (3) the fllnctional capabi li t y i nherent i n the management d i rectives supported. (Note that, i n this paper, the servers, s ervices, and resources m anaged by means of the ManageWORKS software are c o llectively referred to as m a naged en t i ties.) The m ajor lessons that we learned from t h is testing effort and then appl ied to the user i n ter face and software designs are as fol lows: 1 . The M a nageWORKS software had to p rovide mechanisms to navigate among a d iverse set of term i n a l running command l in e - based u t ilit ies. m anaged entit ies o n the LAN or in some user Tod ay, a system administrator is usu a l ly a PC user defined m anagement d o m a in . Users want to be who is qu ite fam i l iar with graphical user i n terfaces. able to v iew and thus " d iscover" the entities that Such an administrator is more l ikely to be trainee! in are to be m a n aged . The system had to present the installation, configurat i o n , and management of the m anaged entities i n graphical d isplay formats PCs and PC networking software than his/her pre that were fam i li a r ami e n ticing to users. Users clecessors. This change in the profile encour aged welcome the abi l i ty to support d ifferen t styles us to shift the PATHWORKS focus from using host of presentation . Final ly, users need easy mecha basecl command l i ne utilities to m a n age the system nisms to navigate t h rough the h i erarchy of to using client-based graphical u t i l i ties. an entity. We also profi led the customer network configu ration . During the same five years, i t changed from a very s i mp le and homogeneous environment with just a few PATI-fW'ORKS servers to a med ium-to-large heterogeneous PC LA N . At presen t , configurations comprise n etwork operating systems that consist of Nove l l NetWare, Microsoft LAN M anager, and Apple AppleShare file and print serv ices, as wel l as other services that are emerging in the PC LAN environment. The network operating systems are 2. Navigati o n mechanisms, as j ust d escribed , work well for novice users but become ted ious and constra i ning for more experi enced users, as we could attest to after our experience with the pro totypes. The solu tion that we presented to users al lowed them to create custom views of their managed entities, i . e . , to organ ize their manage m e n t domains. This concept was wel l received by users d u ring usabi l i t y testing. deployed on their native platforms and by Digital 3. The M anageWORKS prod uct had to provide tem has its own tools to manage the c l ients and functions that were com mon among a d iverse on the OpenV M S a n d DEC OSF/ 1 platforms. Each sys the servers. Each has a d iffere nt user i nte rfac e that mechanisms that consistently p erformed the set of m anagement applications. The product resll lts i n a long learning curve and thus high tra i n design presents users with an object-oriented ing costs or low productivity for system administra view of the m anaged environment. The b u i lding tors. Customers reported that they desired too l s block of this design is the object, a n abstraction w i t h a cons istent user i n terface t o manage this of a m anageable entity such as a server o r a net diversi ty. work router. Each object is a m ember of a single 64 Vol. (, No. 4 fall 1994 Digital Tecbuical journal The Design ofJIIJcm age WONKS: A User Interface Fra mework object class t h a t descri bes t h e set of object The M a n ageWORKS team adopted the concept of i nstan ces w i t h i n it. The M a n ageWO H KS appl i p l u g- i n modu les, a software design that is supported cation renders objects to the user as icons i n a by the W i ndows D y n a m ic L i n k L i brary ( D LL) archi v iewer. Fo r exa m p l e , fo r a LAN that con t a i n s tectu re . " The design is also i n co m mo n use by m a n y three NerWare servers, t he object class c a l led Windows NerWare Servers wou l d c o n t a i n three objects, Con trol P a n e l , t he u t i l ity that m a n ages the local each of which represents one of t he t h ree i mli cl eskto p 's configura t i o n and user prefere n ces. 1 vidual Ne tWare servers o n the LAN. W h e n users focus on an object, the tool reve a l s w h i c h a c t i o n s a r e val id i n t h e object's cu rre n t contex t . appl ications i ncl u d i ng t l1e W i n d ows The next ch a l le nge was to decide h o w m u c h constra i n t to i m pose on the design of the M a nageWORKS' pl ug- i n modules a n d h o w consis T h i s approach d i ffe rs from the trad i t i o n a l com t e n t t h e modu les m ust he. Digi t a l 's exten s i b l e enter mand l i n e approach the user first p r i s e m a nage m e n t d i rector, the DECmcc product, selects the u t i ! ity (act i o n) and then specifies incorporated some exc e l l e n t concepts. ' I n parti cu in which the objects upon wh ich to act. Interesti ngly, l a r, our design was i n f l uenced by the way in w h i c h whereas novice users fou n d t h is object - focused DECmcc l ayered the m a n age m e n t respons ibi l ity concept easy to grasp, t hose w h o considered i n to prese n t a t i o n modu les. fu n c t i o n a l m o d u les, themselves strong users of the trad i t i o n a l com a n d access modu les. Early i n the design process, we m a n d l i ne m a n agemen t u t i l i t ies ex perie nced d i f decided to separate the nav igat i o n and presen t a ficu l t y i n gras p i ng the n e w concept . t i o n of m a n aged e n t i t ies from t h e access a n d func 4 . T h e typical customer h a s a d iverse a nd la rge (200 to 1 ,000) n u m be r of e n t i ties to m a nage. To add ress t h i s need , the pro totype testing pre sented users wi t h the abi l i ty w m a nage m o re than one e n t i t y at the same t i m e a n d the abi l it y t o m a nage m a n y e n t i t ie s a s o n e . Users l i ked being able to view and m od i fy the properties o f m u l t i p l e e n t i t i e s a t the s a m e t i me as we l l as being able to m o d i fy the same property across a set o f l i ke e n t i ti e s . t i o n a l m a n age ment o f the e n ti ties. Another DECmcc concept, w h i c h is used, for example, in the access m o d u l e layer, was the pre s e n t a t i o n o f a consistent view to the l ayers above . ' This concept, however, was not s u i t abl.e for the Man ageWORKS design because i t wou ld have pl aced constra i nts on the user i n terface design , i n particu l a r, o n the presentation o f t he a t t ri bu tes of m a n aged e n t i t ies. The design team was not w i l l i n g to comprom ise o n t h is aspect of the des i g n . Thus, we decided on a ManageWORKS design that '5 . I n a d d i t i o n to prov i d i ng a c o n s i s t e n t user i n ter can best be described as a user i n terface frame face, the ManageWORKS product should i n tegrate work. The i n i t i a l release, w h ich was a component the m anagement tools i n to one workspace . User o f PATHWORKS ve rsion '5.0 for DOS a n d W i ndows, feedback Jed to the design of the user i n terface offered few serv i ces other t h a n to tie together t h e framework as the del ivery ve h i cle fo r a d iverse user i n terface elements req u i red for system and set of man agement appl ications. network man agemen t . The user inte rface serv ices The Key Software Design Principles At t h i s p o i n t i n the developm ent cyc l e , the design focus s h i fted from deve l o p i ng and tes t i n g user needed were d i ctated by the five user i n t e rface requ i rements previously described. The Ma nage WORKS design incorporates two types of p l u g- i n m o d u les: naviga t i o n mod ules, referred to i n terface a n d fu n c t i o n a l i t y concepts to design i ng in the M a n ageWO R KS product as Object Naviga t i o n t he M a nageWO R KS software i t s e l f. W i t h what we Mod u l es (ONMs), and appl ication modul es, referred cons idered to be a good u ndersta n d i ng of the user's to as Object M a nageme n t Modu les (OMMs) . The needs, we proceeded to design a software archi tec M a nage\VORKS ture to support those req u i rement s. flow a n d messaging between the m o d ules. framework c o n t ro l s the control Prior architectures that were fa m i l iar to t he ONMs a l l ow fo r a ny number of navigation models design tea m served as starting p o i n ts fo r the desig n . to be s u p ported a n d used s i n g l y or s i m u l t aneously The fo l lowing two examples represent sources o f by the user. Al though, by d e s ig n , ONMs possess no design concepts that we e m p loyed and ada pted t o k n owledge of t he m a n aged entities o r entity rela s u i t o u r objectives. E a c h re presents a n o p p o s i n g t i o n s h i p s they d ispl ay, they d o possess the a b i l i t y end of the spectru m w i t h respect to d e s i g n objec to d isplay e n t i t ies w i t h t h e re l a t i o n s h i p s i n h erent t ives and i mpleme n t a t i o n . in them . O N I'< ls a l so prov i d e the mechanisms fo r Digital Tecbuical jou rnal �'Ill. 6 No. · Fall I'J94 6 '5 PC LAN and System Management Tools browsing and navigating through the m anagement can develop new ONMs and OMMs and simply enro l l hierarchy. I n addition to navigation capabi l ities, them into the system . Users have the additional ONMs provide the user i n terface for organ izing enti benefit of being able to customize the p roduct to ties i n to a user-defined m anagement domain. support only the ONMs a n d OMMs that are usefu l i n The OMMs are responsible for m anaging the enti t h e i r environment. t i es. The OMM design has three key components. l . OMMs provide the methods usecl to m a nage the entities. These methods include the fu nctions of discover, create, view, modify, and delete. The OMMs also have the option of presenting to the user add itional methods. That is, since each O M M knows b o w to m a n age t h e entities for which it i s responsible, i t knows which actions c a n b e a p pl ied to an e n t i t y based on t h e entity's current state and the user's context. The User Interface ofONMs and OMMs G iven the key software design elements presented in the previous section, the focus of the paper now returns to the user i nterface. This section describes what was implemented to support the customer requ i rements and the design framework. The user i nterface framework man ifests the orga nizational, navigational, and functional elements of system a n d network management i n a coherent 2. orv!Ms provide access to the m anaged e n t i t ies. whole. For example, the first t h ree menus on the An OMM can use any interprocess com m u n ica ManageWORKS menu bar-Viewer, Edit Viewer, and tion mechanism to access or to manage an entity Actions-are all the tools the user needs to m anage Examples include the task- to- task, remote pro entities. A d iscussion of the Viewer and Edi t Viewer cedure call , and object request broker mecha menus fol lows. n isms. Since a PC LAN environment affords n o By means of the ManageWORKS Viewer menu, common way for a management d irector t o com ONMs present d isplay e l em ents, c a l led viewers, to m u n i cate with al l the types of devices presen t , the user. Each instance of a window that a n ONM the design t e a m decided to leave t h e choice of creates is considered a viewer. A Man ageWORKS access mechanism up to the OMM. viewer is one of the organization a l elements for the 3. OMMs provide the user i n terfaces required for managing the e n t i t ies. This design component a l lows developers to presen t an interface that best suits the needs of the user and best m aps to the entity being manage d . I t also al lows for flex i b i l ity, evol u t i o n , and i n nova t i o n in the user interface of OM.Ms. The ManageWORKS design team did not want to i mpose a user i nterface style or present a user i nterface that was com promised by the d iversity of appl ications that we envisioned running within the context of the framework, e . g . , by being the least common denominator. Even though o n e of the key prod uct design goa l s was a consistent user i n terface, we felt that it was i mportant to a l low the O M M s to control t h e u s e r interfaces. F irst, w e thought the design benefits outweighed the risk of any i nconsistency. Second, we encouraged, b u t d id not enforce, consistency by means of a user i nterface style guide and com m o n l ibraries that i mplemented those guidel i nes.".r' user and is the root-level object fo r navigation. Each viewer is a viewport into a set of m anaged entities that the user may be browsing and n avigating through. A viewer is analogous to a word proces sor's document, i . e . , a v i ewer is a ManageWORKS " document." Just as you can create new documents and open , close, or edit existing documents when you use a word processing appl ication, you can per form the same functions on viewers when using the ManageWORKS software. ManageWORKS ONMs are responsible for the nav igational and organ i zatio n a l d isplay properties. The current M a nageWORKS release comes w i t h two ONMs. One ON;YI supports a h ierarchical d isplay of m a naged entities. This d isplay is rendered i n a s i n gle viewer window p,.raphical ly as a tree or textu a l ly as an outl ine. The other available ONM supports the relational d i sp l ay of m anaged entities, rendered as a map. The map ONM can also support a h i erarchy; each map is rendered in a new viewer instance. Figure 1 shows M a nageWORKS with two hierarchi cal viewer styles and a map viewer. The hierarchical The p l ug-i n modules a lso have a residual benefit. views are the O u t l i ne view (shown i n the Browser Because these modules can easily be added to or viewer) and the Outl ine Tree v i ew (shown in the I P removed from the environment, they provide Hierarchical View viewer). In aclc!ition t o the map an easy way to extend and to customi ze the viewer (shown i n the II' D iscovery viewer), note the M a nageWORKS product. D igital and third parties navigation w indow for the map v iewer (shown in 66 Vol. (i Nu. 4 Fal/ 1994 D igital Technical journal Tbe Design ofManage WORKS: A User Interface Framework LARRYAUG '!li! M OSAIC -!li! MWORKS � 16 1 24 1 4 4 1 3 --· lG 124 . 1 4 4 . 1 67 � 1l(j 16 1 2 4 1 44 1 611 CD RIVE 1liO CLIENTS � DOWNLOAD II!!J EDRIVE 16 124 144 0 � I( 1 6 1 2 4 1 44 250 II> c::> I CI · - · · A c:> - Figure 1 ' C> I( til I( ' ManageWORKS Viewers the IP Discovery (Navigator) viewer). This view user interfaces and in bow the user interfaces inter shows a sca led map; the entire contents of the map relate to the ONMs. viewer appears in a rectangu lar outl ine, which rep The consistency starts with the ManageWORKS resents the user's current viewport into the data. Actions menu. The basic management directives on The user can use the PC point ing device to drag and managed entities originate from this menu. The major chal lenge in designing this menu was to avoid reposition the viewport. Because the ONM maintains context when the using too many menu items, menu items that would user " e d its," i.e . , mod ifies, the contents of a viewer, change constantly (i . e . , by addition or d e letion) , the user can customize or organize the managed menu items t h a t b a d three or fou r levels of h ierar entities as desired . By means of the Edit Viewer, chy, and menu items that were not context sensitive ONMs allow user customization within a v iewer to what the user was doing. The objective was to with the support of user-definable hierarchies. For find a small set of words that conveyed the manage example, each instance of a viewer can represent ment functions the user would most often perform. a different management domain for the user. The We felt that these words should always be present benefit is that the user can find objects and then in the Actions menu, but to el iminate confusion for arrange them into hierarchies that are most useful. the user, they should be rendered inactive when As stated earlier, OMMs control the user inter not val id . On the other hand, we real ized that this faces for d isplaying and m o difying managed entity small set of menu choices could never fu l l y support properties. The ManageWORKS framework p ro the actions on managed entities; therefore, the soft vides for consistency in how the OMMs invoke the ware had to provide an extensibility mechanism. Digital Techt�icaljournal Vol. 6 Nu. 4 Fall 1994 67 PC LAl'l and System Management Tools We began the design process by developi ng a n select m u l t iple objects of the same c l ass from enti ty/action matrix. O n e axis contained a l ist o f a viewer ami to i nvoke an O M M method . The list of the enti ties that w e envisioned being managed selected objects is contained w i t h i n this drop from the M a nageWORKS software. The o ther a x is down l ist box. The user can easily v iew the contai ned a l ist of the actions that cou ld be per a t tributes of d i fferent objects from the same d i alog formed on t he entit ies. We marked the i ntersec box. The d i a log box d isp lays various sets of m a n tions of the axes. I n for m i ng the l ist of actions, we aged entity properties. The user can select the chose words t hat were used i n existing products desired set of properties from the View or Modify that managed the same ent ities , words that we drop-down I ist boxes. thought should be considered in a good user i nter Figure 2 dem onstrates that two d i a l og boxes can face, and final ly, synonyms to those words a l ready be active at the same time. This feature supports the l isted . This approach gave us a clear picture of the ManageWORKS design requirement t hat the user be common action s and also p rovided a thesaurus of able to m anage more than one entity at a time. The words from which to choose . The common actions ManageWORKS product supports, in effect, threads o n managed enti t i es that emerged from this exer of execution to al low mu l t iple OMivls to be active cise were simu ltaneous ly. Support for the design principle of m anaging many e n t i t ies as eas i ly as one is not I . Make a new entity of some typ e . a function of the ManageWORKS software but of the OMMs, since OM.Ms control the methods used to 2 . D isplay a l l t h e managed entities. 3. View and modify the entity's properties. 4. E l imi nate the entity. The M a nageWORKS software supports these common actions through the fol lowi n g Action menu choices: manage entities. The Software System Design ofManageWORKS The focus of the paper now shifts to the M a nageWOHKS i nternals that support the design principles and user i n terface just described. 1. Create. Choose Create to make a new enti ty. 2. Expand. Choose Expand to view a l l the e n t i ties that the lVIanageWORKS software is managing. 3. Properties. Choose Properties to d isplay a d ia log The Application Framework As an app lication , the ManageWORKS product is merely a software framework for i ntegrating i ts top level user in terface with the user interfaces of the box that manifests a l l the entity's properties. The OMMs and ONMs. The ManageWORKS application user can then v iew the properties and make consists of two main components: ( 1 ) the user i nter mod ifications, as appropriate. face shel l and (2) the d ispatcher. Figure 3 depicts 4. Delete. Choose Delete to eliminate the entity. The design of the Properties d i a log box is one the relationship between these ManageWORKS com ponents and the OMMs and O NMs. The user interface shel l is a standard Microsoft of the key user i nterface sty le eleme n ts of the Windows application that supports the top- level M a nageWORKS product: however, ManageWORKS Windows user interface componen ts-the m a i n does not enforce or p rovide for this element. appl ication window a n d i t s m e n u bar, t o o l ribbo n , Rather, the consistency is a function of a user i nt e r a n d status bar. T h e user interface shel l translates a l l face style guide for OMMs and some com mon user i n teraction by means o f t h e menus, tool rib l ibrary routines that support this user i n terface bon, and mouse actions i nto OMM ami ONM appli style . o C• Figure 2 shows the d i alog boxes of t wo cation programming i n terfaces (AP!s) to perform of the three OMMs that come with the current work for the end user. The she l l i s also responsible ManageWOHKS for i n i t ia l iz i ng and terminating the appl ication, prod uct: the Simple Network Management Protocol (SNM P) Manager OMM a n d includ i ng the d ispatcher. the LAN Manager (LM) server m anageme n t OMM. The d ispatcher is responsible for m a i n tammg (The third OMM, for NetWare servers, is not shown.) a l i n k between the user i n terface shell and a l l Note the Selected Objects field in the SNM P <.J i a l og t h e OMMs, a s wel l a s for providing service routi nes. box. The ManageWORKS software al lows the user to The d ispatcher loads and i n i ti a l izes a l l OMMs 68 ViJI. 6 No. 4 Fall 1')5J4 Digital Tecbuicaljourual TIJe Design of Manage WORKS: A u,·er lntetjace Framework j ManageWO RKS Workgroup Adnlinls1rator [16.121.1 11.251 l!J I l!l l 111! Selected Objecls: Properties: llltl System Cont8ct Description; Is�contca.ct not s pecilied :t:es co Pullin� (sees) OK Cancel Apply I OECNIS 600 software version V2.3-4 Group· Poll I nterval: -1 .tiel l!J I SNt.AP Aouler.IP Allow modifice.tion by IP Auto-discovery Time out '!'l'indow IGene ral l nforma•ion Typ e: System ons r ]'io Redirector 2ttil 60 ·W59Zicl 107'i2fiJtJ 10 (sees) Monitor this node via polling: Protocol used to monitor this host Connections ,� ICt.AP 10 SNt.AP Mode: SNt.AP Community Nome• Foiled: ,------·---- Set: Get: B uffers Help Big: t.AIB ... � ---- - SeiVlocal user AUTHORIZE DECnet proxy mappings VMS$MAIL_PROFILE. DAT User's mail profile MAIL QUOTA.SYS (per disk) User's d i s k quota D ISKQ UOTA Login d i rectory User's home d i rectory C R EAT E/D I R ECTORY User's location, phone n u m ber, proxy file (NET$PROA.'Y . DAT). Prior to the OpenVMS deployed to users who need dedicated processing Management Station product, these files were man power or graphics support, and personal compu ters aged by a col lection of low-level u t i l i ties, such as are deployed i n other departments for data access AUTHOIUZE. Although these u t il i ties provide the and storage. F i naUy, the table lists some groups of abil ity to manipu late the individual user attributes, users who need access to m ul tiple systems, some they offer l it t le support for ensuring t hat t he overal.l times with changed attributes. The system m a nager collection of user attributes is consistent. For for th is type of configu ration would repeated l y per instance, none of these u ti l i ties wou ld detect that form many tasks across several targets, such as sys a user's accou n t had been created with the user's tems or users, with smal l variations from target to home d i rectory located on a disk to which the user target. The OpenVMS Management Station prod uct had no access. was designed to operate wel l in configurations A l l of these factors create additional complexity such as this. for a n OpenVlVIS system m a nager. This complexity is A distributed system is clearly necessary to sup compounded when a number of loosely related port effective and efficient systems management for Open VMS systems must be managed at various sites. configurations such as the one shown in Figure 1 . The user account management features of the A d istributee! system shou ld support para l lel execu Open VMS Management Station product are designed tion of requests, leverage the clllsterwide attribu tes to al leviate or remove these additional complexi of some system management operations, and pro ties for the Open VMS system manager. OpenVMS System Configurations vide for wicle area support . These characteristics are expanded in the remainder of this section. rll1e OpenVMS operating system can be used in many Supporting Parallel Execution ways. The features of the VMScluster method a llow Support of parallel execu tion has two d ifferent systems to expand by increment a l l y adding storage impl ications. First, the execution time shou ld rise or processing capacity. In addition, the OpenVMS slowly, or preferabl y remain constant, as systems operat i ng system is frequently used i n networked are added. This i mp l ies that the execution against configurations. Its i n herent richness leads to a large any given target system should be overlapped by and diverse range in the possible Open VMS configu the execu tion against the other target systems. rations. The s ki l l and etfort requ ired to m anage the Second, for parallel execution to be usable in a wider larger configurations is considerable. range of cases, it shou ld be easy and straightforward For instance, Figure 1 shows a possible customer to make a request that wi l l have similar, b u t not iden a number of VMScl uster tica l , behavior on the target systems. For instance, systems extend across a primary and a backup site. consider adding a user for a new member of the configuration, i n which Each cluster has a somewhat different purpose, as developmen t staff i n the configuration shown in given i n Table 2 . Here OpenVMS workstations are F igure 1 . The new user woul d be privileged o n the 76 Vol. 6 No. 4 Fall 1994 Digital Technical Journal The Structure of the Open VMS Management Station ETH E R N ET DISK DISK DISK CLUSTER A DISK DISK CLUSTER C DISK DISK DISK CLUSTER B Figure 1 Distribu ted OpenVMS System Configuration development VMScluster syste m , b u t u nprivileged Jn the first case, the scope of the resource on the production cluster. It shou ld be straightfor extends throughout the VMScluster system. Here, it ward to express this as a single request, rather than is desirable (ancl when the operation is not idempo as two disparate ones. tent, it is necessary) for the operation to execu te Leveraging VMScluster Attributes case, the operation must execute against every sys once within the VMScluster system . In the latter OpenVMS system management tasks operate tem within the cluster that the system m anager against some resources and attributes that are wants to affect. Also, the set of resources that fal l s shared cl usterwide, such as modifications to the into t h e first case or the second is n o t fixed. I n the user au thorization file, and some that are not OpenV1viS operating system releases, the ongoing shared, such as the system parameter settings. trend is to share resources that were node-specific Table 2 Usage a n d User Community for Sample Configuration Name Usage User Commun ity A Main prod uction c l u ster Operations g roup Production g ro u p Development g roup (unprivi leged) B Development c l u ster Operations g ro u p Development g roup (fu l l development privi leges) c Backup production c l uster and Operations g roup mai n accounting c l u ster Development g ro u p (unprivi leged) Prod uction g ro u p Accounting g ro u p Workstations Workstation owner Some of operations g ro u p Digital Teclmicaljourual Vol. 6 No. 4 Fall 19':)4 77 PC LAN and System Management Tools throughout a VMScluster syste m . The OpenVMS components were specified i n the design, but were Management unnecessary for the i n i tial release. Station software must hand le resources that have different scopes on d i fferent The cl ient software on the PC uses the systems that it is m anaging at the same time. ManageWORKS Wide Area Support framework provides hierarchical navigation and Digital's Management of a group of Open VMS systems is n o t necessarily l i mited t o one site or t o one local area network (LAN). Frequently there are remote backup systems, or the development site is remote from the production s ite. Almost certainly, the system m an ager needs to be able to perform some management tasks remotely (from home). Therefore, any solu tion m ust be able to operate outside of t h e LAN environment . It should also be able to function rea sonably in bandwidth- l i mited networks, regardless of whether or not the slower speed l i nes are to a few remote systems, or between the system man ager and all the m a n aged systems. management PATHWORKS framework product. This from extensible presentation support, as wel l as a local configura tion database. 2 The framework d ispatches to Object Management Modules (OMMs) to manage i nd ividua l objects. OpenVMS Management Station has three OMMs that are used to organize the system manager's view of the m anaged systems. These are Management Domains, VJV!Scluster Systems, and OpenVMS Nodes. In add ition , two OMMs manage user accoun ts: OpenVMS Accounts and OpenVMS User. The first OMM is used to retrieve the user accoun t s and to create subord i nate OpenVMS User objects in the ManageWORKS framework h ierarchy. The second contains the c lient portion of the OpenVMS user account m a n agement support. Underlying the last two OMMs i s the client commu OpenVMS Management Station Structure nications layer. This provides authenticated com m unications to a server. The resul ti ng structure for the OpenViviS Man The server software on the OpenVMS systems agement Station software is shown in Figure 2 . The consists of a message-dispatch i ng mechanism and components contained within the dashed box are a collection of server OMMs that enact the various present in the final version 1 .0 product. The other m anagement requests. I NETV I EW SYSTEM \ I I I I I I I PROXY d ispatcher is also � - - - - - - - - - - - - - - - - - - - - - - - - - - - I AGENT The I I I I I I � I API l r- - - �:;; - LOCAL CONFIGURATION DATA USER OMM I I I I H J MANAGEWORKS FRAMEWORK I LOCAL CLIENT - - - - PC C L I E N T C O M M U N ICATION LAYER I S E RV E R I N FRASTRUCTURE UASERVER OMM I FORWA R D I NG C O M M U N ICATION LAYER I v S E RV E R I N FRASTRUCTURE UASERVER OMM FORWA R D I N G COM M U N I CATION LAYER L - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 Figure 2 78 OpenVMS Management Station Structure Vol. 6 No. 4 Fall 1994 D igital Tecbnicaljournal The Structure of the OpenVMS Management Station m anagement the system m anager is remotely located across request to a l l target VMScluster systems and i nde slower speed lines from the managed systems. responsible for forwarding the pendent systems, and for gathering the responses Final ly, they require that the client u nderstand the and returni ng them to the c l ient. The version 1 .0 scope of a m anagement resource for all possible tar server contains two OMMs: UAServer and Spook . get OpenVMS systems that i t may ever manage. The former implements the server support for both These various difficulties led the project team to the OpenVMS Accounts and OpenVMS User OMMs. place the data gathering, reduction, and display The Spook OMM implements the server component logic in the client. The client com m unicates to one of the managed systems, which then forwards the of the authentication protocol. Other c l ients were not b u i l t for version 1 .0 but requests to all affected independent systems or were planned into the design. Specifically, these VMScluster systems. Similarly, repl ies are passed items are (l) a local client to provide a local applica through the forwarding system and sent back to the t ion program mi ng interface (API) to the functions c l ient. The chosen system is one that the system in the server, and (2) a proxy agent to provide manager has determined is a mapping between Simple Network Management a forward ing h u b . a reasonable choice as Note t h a t t h e forwarding system sends a request Protocol (SN\11') requests and server functions. to one system i n a VMSc luster. That system m ust Design Alternatives determine i f the request concerns actions that Before this structure was accepted, the designers occur throughout t he VMScluster or if the request considered a nu mber of alternatives. The two areas needs with many variables to consider were the place VMScluster. In the second case, that node then ment of the com m u nications layer and the use of acts as to be forwarded further within the a n intermediate forwarding system. This structure a llows the cl ient to scale rea a management protocol. sonably with i ncreasing numbers of managed sys first tems. The nu mber of active comm u nication l inks major structural question concerned the place is constant, although the amount of data that is ment of the comm u n ications layer in the overal l transferred on the replies increases with the num appl ication. ber of targeted managed systems. The amount of Communications Layer Placement The At one extreme, tl1e client could have been a dis local state i nformation increases similarly. Although play engine, with al l the application knowledge i n i t is not a general routing system, its responsiveness t h e servers. T h i s design is simi.lar to t h e approach used for the X Window System and i s sufficient for is affected less by either a system manager remote from all t he managed systems, or by the manage the degenerate case of a s i ngle managed system. ment of a few systems at a backup site. Final ly, i t Without appl ication knowledge in the client, how al lows the managed VMScluster system t o deter ever, there was no opportunity for red u ction of m ine wh ich management requests do or do not data, or for the simpl ification of i t s d isplay, when need to be propagated to each i n d ividual node. attempting to perform m anagement requests to several target systems. Use of Standard Protocols The second m ajor At the other extreme, the appl ication knowl.edge structural question concerned the use of de facto or could have been whol l y contai ned within the de j u re standard enterprise management protocols, clien t . The server systems wou ld h ave provided such as SNMP or Common Management Information simple file or disk services, such as Distribu ted Protocol (CMIP).-14 Both protocols are sufficient Comput i ng Environment (DCE) distributed fi le to name the various management objects and to server (DFS) or Sun's Network F i le Service (NFS). encode their attribu tes. Neither can direct a request Since appl ication knowledge would be in the to m u ltiple managed systems. Also, neither can han c l ient, these services would provide m anagement d le the complexities of determining if management requests to either a single managed system or to operations are inherent ly clusterwide or not. The m u ltiple systems. However, they scale poorly. For project team could have worked arou nd the short instance, in the case of user acco u n t management, comi ngs by using additional logic within the man seven active file service connections wou l d be agement objects. required for each m anaged syste m ' Fu rthermore, reduced the management software's use of either these services exhibit very poor responsiveness if D igital Technical Journal Vol. 6 No. 4 Fal/ 1994 This alternative wou ld have protocol to l ittle more than a message encoding 79 PC L'\N and System Management Tools scheme. However, i t was n o t clear that the result Note that these hierarchies do not i mply any wou ld have been useful and m a nageable to clients form of close coupl ing. Their only purpose is to aid of other m anagement systems, such as NetView. On a pu rely pragmatic level, an SNMP engine was the system m a n ager i n organization . Several d iffer e n t hierarch ies m ay be used . For a given set of sys not present on the Open V MS operating system . The tems, a system ma nager m ay have one hierarchy CMIP-basecl extensible agent that was available that reflects physical location and another that exceeded the management software's l im i ts for reflects organization bou ndaries. resource consumption a n d responsiveness. For Figure 3 shows a typical hierarchy. In the figure, i nstance, with responsiveness, a simple operation the system m a n ager has grouped the VMScluster using AUTHORIZE, such as "show account attribu tes," systems, PSWAPM and PCAPT, i nto a domain cal led typical l y takes a second to l ist the first user accoun t !Vly M a n agement Dom a i n . The display also shows a n d is then limited b y display bandwidth. F o r suc the results of a " l ist users" request at the domain cessful adoption by system m anagers, the project level of the hierarchy. A " l ist users" request can a lso team felt that any operation needed to be close to be executed against a single system. For instance, to that level of responsiveness. Early tests using the obtain the l ist of users on the PCAPT VMScluster sys CMIP-based common agent showed response times tem, the system manager need only expand the for equivalent operations varied from 10 to 30 sec ''OpenV MS Accoun t s " i tem directly below it. onds before the first user was displayed. Remaining user accounts were also displayed more slowly, but not as noticeably. In the fin a l analysis, the project engineers could have either ported an SNMP engine or corrected the resource and responsiveness issues with the CMIP-based common agent. However, either choice would have required d iverting considerable project resources for questionable payback. As a resu lt, the prod uct developers chose to use a simple, private request-response protocol, encod i ng the man agement object attributes as type-length-value sequences (TLVs). Client Component With the OpenVMS Management Station, the cl ient is the component that d irectly interacts w i th the system manager. As such , it is primarily responsible for structuring the display of management i n for m ation and for gathering input to update such m an agement i n formation . This specifically i ncludes capabi l i t ies for grouping the various OpenVMS systems according to the needs of the system man ager, for participati ng i n the authentication pro tocol, and for displaying and updating user accou nt information . Participation in the Authentication Protocol It was an essential requ irement from the start for the OpenVMS Management Station software to be at least as secure as the tradi tional OpenVMS system m a n agement tools. Furthermore, due to the rela tively insecure nature of PCs, the product could not safely store sensitive data on the cl ient system. For usab i l i ty, however, the product had to l im i t the amount and frequency of authentication data the system m anager needed to present. As a resu l t , two OMMs, the VMScl uster ami the OpenVMS Node, store the OpenVNIS username that the system m a n ager wishes to use when access ing those systems. For a given session within the lVlanageWORKS software, the first com m u n ication attempt to the m a n aged system resu lts in a request for a password for that username. Once the pass word is entered , the client and the server perform a challenge-response protocol. The protocol estab l i shes that both the client and the server know the same password without exchanging it i n p la i n text across the network. Only after this au thentication exchange has successfully completed , does the server process any management requests. The hashed password is stored in memory at the Grouping OpenVJ.l15 Systemsfor Management Operations the server connection fai ls, the c l ient attempts to The system m anager is able to group i nd ividual sys silently reconnect at the next request (if a request is tems and VMScluster systems i n to loose associa outstanding when the failure occurs, that request tions cal led domains. These dom ains themselves reports a failure). This reconnection at tempt also client a nd used for two further purposes. First, if may be grouped together to produce a h ierarchy. undergoes the same au thentication exchange. If the The system manager uses hierarchies to ind icate hashed password is still valid, however, the recon the targets for a request. nection is made withou t appare n t i nterruption or 80 vh/. 6 No. 4 Fall l'J(J4 Digital Technical journal The Structure of the Open VMS Management Station Ia aa ManageWORKS -@ My m a n a g ement domain -,:.» OpenVMS Accounts ® DANA o n SYSMGT ,:.'1/4 DAVIDSON o n SYSMGT ® DCESSERVER on PCAPT ® D E FAULT on PCAPT ® D E FAULT on SYSMGT tin� DEVARAJAN on SYSMGT ,:i:(� DFSSFS_RESD on SYSMGT ,&;1ft DNSSSERVER on SYSMGT ® DPLSSERVER on SYSMGT ,:n'Vft DQSSSERVER on PCAPT ,lfJt DOSSSERVER on SYSMGT � DUTKO o n PCAPT � DUTKO on SYSMGT ,:n"¥¥ DZIEDZIC on SYSMGT tin� DZIEDZIC_N on SYSMGT · � SYSMGT -� PCAPT • A living legend [at l east in his mind) [DANA) Stu Davidson [DAVIDSON] D C E Services [DCESSERVER) O p e nVMS provided a ccount template (USER) OpenVMS provided account template (DE FAULT) R. Devarajan [DEVARAJANJ DFS server access [DECNET) DNSSSERVER [DNSSS E RVER) DECplan Server [DPLSSERVERJ DOSSSERVER default a ccount [DOSSSERVER) DQSSSERVER d efault a ccount [DOS SSE RVER) Nestor Dutko [CLIENT meister) [DUTKO) Nestor Dutko (CLIENT meister) [DUTKO) Tony Dziedzic [DZIEDZIC) Tony Dziedzic [DZIEDZIC_N] ,:.!} OpenVMS Accounts Figure 3 Management Domain View requests for inpu t from the system manager. For instance, a l l the mail profile information is i n Secon d , the hashed password is used as a key to o n e window. encrypt particu larly sensitive data, such as new The first window to be d isplayed is the character passwords for user accounts, prior to their trans istics d isplay, which is shown in Figure 4. This w i n m ission to the server. dow contains general i nformation about the user The resu lting level of security is quite high. It cer that was found duri ng usability testing to be needed tainly exceeds the common practice of remotely frequently by the system manager. Occasional ly, logging in to Open VMS systems to manage them. i nformation was needed i n places that did not Display and Update of User Account Information mail count" was fou nd to have two w indows: the The OpenVMS Management Station version 1 .0 attributes, and the mail profile display. match its internal structure . For instance, the "new user flags d isplay, wh ich l1ad the logi n d isplay cl ient software primari ly supports user accoun t The OpenVMS User O M M and the zoom display m anagement. This support is largel y contained i n organize the attribu tes i n to logical groupings, the OpenV MS User O M M . T h i s m o d u l e presents the si mpl ify the d isplay and modification of those attri OpenVMS user account attribu tes i n a consistent, bu tes, and provide fairly basic attribute consistency u n ified view. enforcement. The project team did encounter one The main view from the OpenVMS User OMM is case in which no standard text display proved suffi ca l led the zoom d isplay. This series of related win ciently usable. This was in the area of access time dows d isplays and a l lows modification to the u ser restrictions. All a ttempts to list the access times accoun t attribu tes. The displ ays are organized so as text proved too confusing du ring usability test that related attributes appear in the same window. ing. As a resul t , the project developers produced Digital Technical jou rnal Vol. 6 No. 4 Fa/1 1991 81 PC LAl'l/ and System Management Tools .!!se.name: A!llibute(s): r jJJOHNSON on PSWAPhl liJ Jr:haracteristics I OK !;ancel liJ I APPIJ I l!elp I IA!UIIll to AnJ I · contact I nformation 0)!rler: Location: jJim Johnson r----- II!; Phone: i �-------�����--�--�:- 1 r s tate-- 1_ @ f.nabled 0 Oisa_b_led Account Expiration E xpife_ On: ro lo I io [ . · j200 . j4ii0 - fHome $USERS: I Login disk lARGUSJ P!iority. I.....J I Advanced._ . IX: No el!Jiiration Accounting §.roup: Di� I I Direclorv; [ f4 � I jJJOHNSON I d b s_ Jo _ __ o_ nt _ ._ �_ uo _� ta_ :_ _o _ o_ o_ o______�� S_ P_ � __ u� l_ m _c _ k_ l :_ 9_ � l_I_ _1�----� l __ __ Jl _% _ � j Fl�r;;;ure 4 � User Characteristics Display a specialized screen control that d isplayed the time m anager cbanges these setti ngs is to accommodate range directly, as shown i n the Time Restrictions a new version of an application that needs increased section of Figure 5. Later, system m a nagers who values to fu nction correctly. Prior to the develop participated in the usability testing fou nd this to be ment of t he OpenViVIS Management Station tool, the very usable. system manager had to locate all the users of this The display and presentation work for the appl ication, examine each account, and i ncrease Open VMS User OMM was necessary for usabi l it y. the resource quotas if they were below the appli· However, this does not d i rectly address the need cation's needs. Conversely, w i t h the Open VMS to support requests against m u l tiple s i m u l t aneous Management Station product, the system manager targets. For the OpenVMS User O M tvl , these targets selects the users of the application in the domain may be either m u ltiple VMScJuster systems or inde· display (Figure 3), and requests the zoom d isplay pendent systems, m u l t i ple users, or a combination for the entire set. of either configuration with m u ltiple users. proceeds to the user quota display and selects the At its simplest, this support consisted of simply triggering a request to have mul tiple targets. This is The system m anager then quotas to change . The selection takes the form of a cond i t ional request-in t h is case an At Least done through the Apply to Al l button on any of the condition-and the value to set. The system man zoom windows. By pressing this button, the system ager then presses the Apply to All b u t ton, and manager d i rects the updates to be sent to a l l user the changes are carried out for all selected u sers. accounts Figure 6 shows the user quota display. on all target systems I isted in the user name field. This action is sufficient if the sys tem manager is performing a straightforward tas k , Communications Component such a s " set t hese users' accounts t o disabled." It i s The communications component is responsible for not sufficient in a number o f cases. managing com munications between the client and For example, one i n teresting case i nvolve:; user servers. It provides support for transport-indepen account resource quotas. One reason a system dent, request-response com munications, automated 82 Vol. 6 No. 4 Fall 1994 Digital Technical journal The Structure of the OpenVMS JV/anagement Station IJJOHNSON on PS\IIAPM l!J ITi'!'e Restrictions liJ ll.serna-: Altribute(s): Cancel I AllJ)Iy to Alii I I 11� S-econdary Days PriiRart. Days Saturday Sunday Monday Tuesday Wednesday Thursday Friday r- R estricrrona-- ---------·-·----..·---·- ..----·--- -Primary Day Acces:s Processing Mode - . �) .... 0 Jl.atch 0 I ;f"''"'!�:l -=..;.=!!"i'' � �-+ �! ��� .!..ocal fletwork S.a.condary Day Accen: Djalup I 3AM 0 Remote I Figure 5 I $AM I 9AM I I Noon I 3PM I I 6PIVI 9PM . I User Time Restrictions Display jJJOHNSON on PS\IIAPM L!J jQuotas Albilute{s): I IA I y li wl to A i l!elp I Quota Calegoor. Virtual Memory lEqual to liJ ( l.uffered 10: 1���ual t() liJ J lEqual to Bt.tta l!J J 1 12_irect 10: IEqu�l to liJ I �Equal to EM.Q. Lillit: liJ J Open file Lilllil: JEqual to l!J I I lob Logicals: 1 Equal to t!J I qu_a_ l_ to--..;:l!J Jr-E::::; j TQE Limit: A£T Linlit: i' Figure 6 D igital Teclmicaljourual Vol. 6 No. 4 Fal/ 1')94 11 1 00 : 11 955 36 11 1 00 11 2ooo 11 200 11 4096 · 11 1 2a 11 325 · Use1· Quota Display 83 PC LAN and System Management Tools reconnection on failure, and support routines for updates the collection of systems that are to receive formatting and decoding attribu tes in messages. any fu ture management requests. Assuming this Because of the request-response nature of the was successful, the OMM then begins the request com m u n ications, the project tea m 's first approach processing by retrieving the version number for the was to use remote proced u re cal l s for comm u n ica current forwarding server. Based on that, the OMM tions, using DCE's remote procedure cal l (RPC) then formats and issues the request. Once the mechanism . 5 This matches the message traffic for request has been issued , the OMM perioclically the degenerate case of a single managed syste m . checks to see if either the response has arrived or Management o f mul tiple systems can easily be mod the system manager has cance led the request. Upon eled by adding a continuation routine for any given arrival of the response, it is retrieved and the mes management service. This routine returns the next sage data decoded. response, or a "no more" indication . The RPC mechanism a lso hand les m u ch of the To perform this messaging sequence, the OMM uses a pair of interfaces. The first i s used to estab basic data type encoding and clecocl ing. A form of l ish and maintain the collecti o n of systems that are version support a l lows the services to evolve over to receive any management requests. The second time and sti l l i n teroperate with previous versions. i nterface, which is compatible with X/Open 's XTI The project team's eventual decision not to use standard, is used to issue the request, determine if DCE's RPC was not due to techn ical concerns. The the response is available, and to retrieve it when technology was, and is, a good match for the needs it is 6 A third interface that supports the encodi ng of the OpenVMS Management Station software. and decodi ng of message data is described i n a fol Instead, the decision was prompted by concerns lowing section. for system cost and project risk. A t the time, both the Open VMS Management Station product and the OpenVMS DCE port were u nder development . The DCE on Open VMS product has since been del ivered, and many of the system cost concerns, such as the l icense fees for the RPC run time a nd the need for non-OpenVMS name and security server sys tems, have been corrected. In the end, the OpenVMS Management Station software contained a com m u n ications l ayer that h i d many of the details of the underlying implemen tation, offering a simpJe request-response para digm. The only d ifference with an RPC-style model is that the data encodi ng and decoding operat ions were moved into support routines called directly by the sender or receiver, rather than by the com mun ications layer itsel f. In future versions, the goal for this l ayer is to support add itional transports, such as simple Transmission Control Protocol/ I nternet Protocol (TCP/ l P) messages o r DCE's RPC. An i nvestigation i n to providing additional trans ports is currently u n der war The remainder of this section describes the com munications layer in more deta i l , includ ing the mechanisms provided to the cl ient OMMs, how reconnection on fail u re operates, and the message encoding and decoding support routines. Reconnection on Failure The OpenVMS Management Station product a t tempts to recover from com m unications fai l ures with l i t t le d isruption to the system m a nager through the use of an au tomated reconnection mechanism . This mechanism pl aces constraints on the behavior of the request and response messages. Each request must be able to be issued after a recon nection. Therefore, each request is marked as either an initial request, which does not depend on server state from previous requests, or as a continuation request, which is used to retrieve t he second or later responses from a m u ltiple target request and does depend on existing server state. If an existing com mun ications link fai ls, that l i n k is marked as u nconnected. If a response were outstan ding, an error would be returned instead of a response message. \Vhen the com munications l ayer is next called to send a request across the u nconnected l in k, an automated reconnection is attempted. This i nvolves establishing a network connection to a target system in the request. Once the connection has been established, the au thenti cation protocol is execu ted, using the previously supplied au thenticat i o n data. If au thentication succeeds, the request is sent. If i t is a continu at ion request, and the target server has no existing state Client Request-response Mechanisms for that request, an error response is returned . The OMMs in the c l ient system c a l l the com m u n ica At most, the resu lting behavior for the system tions layer directly. To make a request, an OMM first manager is to return an error on a management 84 Vol. G No. 4 Fall 1994 D igital Tecbnicaljournal The Structure of the OpenVMS Management Station request, i nd icating that com m u nication was lost a status code indicating if the attribute was present d uring that request's execution . I f n o request was in the message buffer. The client uses t h is routine in progress, then there is no apparent disruption of to locate data i n a response. The third routine takes a message buffer, a table l isting the attribute codes service. that are of i nterest to the cal ler, and an action rou Message Encoding and Decoding Messages from the OpenVMS Management Station tool are d ivided i n to three sections. The first sec tion contains a message header that describes the tine that is called for each message item that has an attribute code fou n d i n the table. The server OMMs use this rout i ne to process incoming requests. length of the message, the protocol version number Handling of Complex Data Types i n use, and the name of the target OMM. The second I n general, the i nterpretation of data between the section contains the col lection of target systems for client and server systems did not pose a s ignificant the request. The third secti o n contains the data concern. There was no floating-point data, and the for the OMM. This last section forms the request and integer and string data types were sufficiently simi is the only section of the message that is visible to lar not to require special treatment. However, the the OMMs. OpenVMS Management Station software did need The OMM data for a request is typicall y con a few data types to process that were not simple structed as a command, fol lowed by some numbe r atomic values. These required special processing to o f attributes a n d com mand qualifiers. For instance, a request to l ist all known users on a system, return hand le. This processing typically consisted of for m a t ting the data type into some i ntermediate for m i ng their usernames and last login t i me , could be t h a t b o t h client a n d server systems could d e a l with described as this: equ a l l y wel l . COMMAND MO D I F I E R ATT R I BU T E S stamp. In the OpenVMS operating system, times are stored as 6 4-bit quadword values that are L I ST USERS USERNAME = USERNAME, LAST LOG I N For instance, one such d a t a t yp e is t h e time "*" TIME 100 -nanosecond offsets from m id n ight, November The OMM data for a response is typically a status code, the l ist of attributes from the request, and the attri butes' associated values. There may be many responses for a single request. Using the LIST_USERS example from above, the responses wou l d each look l ike a sequence of: STATUS ATTRI BUTES SUCCESS U S E R N A M E ( ) L A S T LOG I N T I M E ( ) There are many possible attributes for an OpenVMS 18, 1858. This is not a natural format for a Microsoft Windows client. Date and time display formats vary greatly dependi ng on local ization options, so the data needed to be formatted on the local c l ient. The developers used an approach that decomposed the native OpenVMS time into a set of components, sim i lar to the output from the $ !\TlJMTIM system or the UNIX tm structure . This decomposed time struc ture was the format used to transmit t imestamp i nform a tion between the client and server. user. To m ake later extensions easier and to limit Server Component the number of at tributes that must be retrieved With the OpenYMS Management Station product, or updated by a request, the OMM data fields are the server component is responsible for enacting self-describing. They consist of a sequence of mes management requests that target its local system. sage i tems that are stored as attribute code/item The server also must forward requests to a l l other length/item value. The base data type of each VMScluster systems or independent systems that any attribute is known and fixed. incoming request may target. The server is a m u lti Message encod ing is supported by a set of rou threaded, privileged application running on the tines. The first accepts an attribute code and its managed OpenVMS systems. I t consists of an i nfra associated data i tem. I t appends the appropriate structure layer that receives incoming requests and message item at the end of the currem message. dispatches them, the server OMMs that enact the This is used to encode both requests and responses. management requests for the local system, and a for The second rou tine takes a message b u ffer and an warding layer that routes management requests to attribute code, returning the attribute's value and other target systems and returns their responses. Digital Teclmicaljournal Vol. 6 No. 4 Fall 1994 85 PC LAN and System Management Tools Server Infrastructure development and testing p h ases of the project, a n d The server i nfra s t r u c tu re, shown in Figure 7, is t h e n u m ber o f wo rker t h reads w a s kept at five. responsible for d i s p a t c h i n g i ncom i ng requests to In a d d i t i o n to the basi c t h read s t r u c ture , t h e the server O M M s and the fo rward i ng layer. I t has a i n fras tructu re is respo nsible fo r participating i n the set of t h reads, one fo r each i n bo u n d connec t i o n , a a u t h e n t ic a t i o n exchange fo r i n b o u n d c o n n e c t i o n s . p a i r of wo r k qu eues t h a t b u ffe r i n d i v i d u a l re quests T h i s is acco m p l i shed t h rough t h e use of a speci al and resp o nses, and a l i mited set of wo rker t h reads i zed server OMM, cal led S p o o k . The Spook OMM that e i t h e r call the a p p ropriate Oi\'I M or fo rward the uses t h e basic s erver i n frast r u c t u re to e ns u re t h a t request. a u t h e nt i c a t i o n requests a r e fo rwarded t o t h e appro The i n b o u n d connection t h reads are responsible p ri a te target system . This m e c h a n i s m reduced t h e fo r ensuring t hat t h e request i d e n tifies a known a m o u n t of s p e c i a l ized logic n e e d e d fo r t h e a ut h e n OMM and meets i t s message requ i rem e n t s . The tica t i o n p rotocol : fo r t h i s reason, t h e server O M M s connec t i o n t h reads m u st a l so e ns u re t h a t t h e OM M m ust declare i f they requ ire an a u t h e n t icated l i n k before accept i ng a n i n c o m i n g request. version n u m be r is w i t h i n a n acceptable range and t hat t h e l i n k is s u ffi c i e n t l y a u t h e n t i cated . i n b o u nd threads are then The Server OMM Structure resp o nsible fo r re pli cating the request and placing requests t h a t have The s e rver o:vi:VJs a re at the heart of the server. o n ly one target system in the requ est wo r k q u e u e . These Oi'vl. 'vls are loaded d y n a m i c a l ly w h e n t h e O n c e a response appears i n t h e response wo rk server i n i t i a l izes. Figure H shows the structure of the liAServer 0;\1 i'vl queue, these t h reads ret u rn the response to the i n Openv:vJS Management Station version 1 .0. 'fhe c l i e n t syste m . A fixed n u mber o f worker t h reads are res p o n s i server OMM consists of the m a i n a p p l ication m od ble fo r t a k ing messages from t h e r e q u e s t work u l e, t he preprocessing rou t i ne, and the postprocess q u e u e and either fo rwarding them o r cal l ing the i ng routi n e . The i nte rfaces are synchronous, passing a p p ropriate local O M M . Each resu l t i s pl aced i n t h e OMi'vl (la ta sections from t he request and response response q u e u e a s a response m essage. A fixed message bu ffers. I n a d d i t i o n , the m a i n appl ica t i o n n u m be r o f five worker t h reads was chosen to m o d u l e executes i n t he s e c u r i t y context, c a l led a ensur e t h a t messages wi t h m a n y t a rgets co u ld n o t persona, of the authent icated c a l l er. Th i s a l lows n o r exh a u s t the server's resources. Responsiveness and m a l access chec k i ng a n d a u d i t i ng i n the O p e nVMS re so urce u s age were acce ptable throu g h o u t the operating system to work transpare n t ly. OUTGOING REO� =�T- I I _ _ _ I I I FORWARD __R_EQ ES_T _ U_ _ IS TARGET _ LOCAL? '\ REQUEST WORK QUEUE / YES WAIT FOR RESPONSE _ _ _ _ INCOMING RESPONSE I T _.. OMM REQUEST _ _ _ _ _ _ _ _ _ _ Figure 7 R J 1 I I I WAIT FOR NEXT R /I llll llll l � REQUEST MATCH RES>O NSE TO FIVE WORKER THREADS [ I ---""'11[ - - STALL THREAD _______.., / RESPONSE WORK QUEUE I L / 1 111111111 I l r---,/ "' SERVER GET NEXT I [ INCOMING REQUEST LOOK UP OMM NAME ATIACH AUTHENTICATION CONTEXT TO REQUEST E L T ��� ��� iA���� iJi�M _ �:::: O,NG - - rI RESPONSE - - - .I SEND RESPONSE I ONE THREAD PER CONNECTION _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ _ _ j Seruer Infrastructure and il1essage Flou• H>i. (j No. 4 Fall /')';)4 Digital Tecbuical jo urnal The Structure of the Open VMS Management Station YES NO RESOURCE MANAGERS APPLICATION LL (/) w ...J u:: >X 0 rr: a.. w u z .Vo. 4 F(ll/ 199 1 97 PC LAN and System Management Tools Ta ble 2 Na ming Conventions Used by ISL Resou rces Name RSM$1SL_INSTALL-opera. EXE Description Shareable image conta i n i n g the ISL D i rector routines, w h i ch runs on the POLYC ENTER Software Distribution server (running OpenVMS). RS M$1SL_LAA-opera. EXE Shareable image conta i n i n g t h e load assist agent, which runs on the POLYC ENTER Software Distri bution server (ru n n i n g OpenVMS). RS M$FETC H-opera . DSK Container f i le conta i n i n g t h e fetch toolkit, which resides on the POLYCENTER Software Distri bution server syste m (ru n n i ng OpenVMS) but is read o n l y by the c l i e nt system. RSM$F ETCH_server-opera LAD service name for the fetch toolkit, which i s served by the POLYC ENTER Software Distribution server (ru n n i n g OpenVMS) to the client. RSM$1SL_BO OT-opera. COM Command proce d u re responsi ble for actua l l y perfo r m i n g the save of t h e operating system software from the client's system d isk to the virtual d i sk, which runs on the c l i e n t system. RSM$SDS_OS_LIBRARY: [opsys.OPERSYS]SYSO. DS K Container file for the fetched operating system, which resides on t h e PO LYC ENTER Software Distribution server system (ru n n i ng Open VMS). (T his d i rectory may also be used to store the bytes of the processor specific bootstrap i mage so t h e load assist agent has easy access.) RSM$1SL_server-opsys LAD service name of the te mporary system disk conta i n i ng the fetched operating system i mage, which is served from t h e POLYC ENTER Software D i stribution server syste m (ru n n i n g OpenVMS) t o t h e cl ient syste m. RSM$1SL_STARTUP-opera.COM Command proc edure responsi ble for actually del ivering the operat ing system software from the temporary system d i s k to t h e target system d isk. It runs on the c l ient system but is booted from t h e tem porary system d i sk. RSM$1SL_CLEANU P-opera .COM Command proce d u re for removing custom i zations specific to t h e i n i tial system load from a tem porary system d i sk. I t runs on the c l i ent system but is booted from the temporary syste m d isk. RSM$1SL_server LAD service name of the VAX "boot container'' for operati ng systems fetched prior to version 3.0, which is served from the POLYCENTER Software Distribution server system (ru n n i ng OpenVMS) to the client system (which i n this case must be ru nning OpenVMS VAX or VAX VMS). RSM$1SL_server_EVMS LAD service name of the AXP "boot container" for operating systems fetch e d pri o r to version 3.0, wh ich i s served from the POLYCENTER Software Distribution server system (ru n n i ng OpenVMS) to the c l ient system (wh ich in t h i s case must be ru n n i n g OpenVMS AXP). system , and the term opsys identifies the user defi ned pseudonym for the fetched operating sys The pertinent fields of the QENTRY data structu re passed to RSM$ISL_FETCH are tem i mage. T h e ISL Director char p s e udonym [ 6 4 J ; c h a r c l i e n t_n o d e [ 1 2 8 J ; char L i b r a r y _n o d e [ 1 2 8 J ; char o p e r a_h o u s e [ 8 J ; The ISL D irector is a shareable i m age activated by LIB$FIND_IMAGE_SYJVIBOL; therefore i t need not have transfer vectors, as long as the two requ i red entry poi nts are declared UNIVERSAl. These two routines are c a l led in user mode. They are passed a s ingle parameter, the address of a data structure called the QENTRY. 98 Vol. 6 No. 4 Fall 1994 D igital Tec!Jnical journal Automa tic, Network-directed Operating System Software Upgrades and the pertinent fields of the QENTRY data struc store the bytes of the operati ng system 's primary ture passed to RSMSISL_INSTALL are bootstrap i m age for fu ture access by the LA A. cha r e t herne t [ 1 9J ; T he Load Assist A gent char c l i e n t _n o d e [ 1 2 8 J ; The LA A delivers the bytes of the processor- specific primary bootstrap image to the c l ient system. The MOM process activates this shareable image dynam c h a r L i b r a r y_no d e [ 1 2 8 J ; ically, but not using LIB$FIND_IMAGE_SYMBOL. Therefore, the one requ ired entry point to this char o p e r a_ h o u s e [ 8 J ; image must occur a t offset 0000 in the image. (The name of the entry point is unimportant.) This is In both rout ines, the field cal led opera_house con tains the symbolic name of the operating system (e.g. , AVMS). RSM$ISL_F ETCI-I is responsible fo r copying a bootable snapshot of the client's system disk i nto the LAD container fi le SYSO. DSK. The LAD virtual d isk should be organized into the n a t ive format of the operating system being fetched. The server sys tem w i l l never attempt to read these files. To the server system, tbis container is simply a large series of bytes, whose meaning (to the c l ient system) is unimportant. This routine is responsi ble for obtain ing the size of the con tainer file to be created, creating that container file, and then serving it, writeable, to the LAD. Once the fetch operation has concluded, the container shou ld be served again i n read-only fo rmat. RSMSISL_INSTALL is responsible for enabling the LAA for the new c l ient system . Si nce the LA A ru ns under the MOM process, which is a non-POLYCENTER Software Distribution environ ment, this routine should a lso col lect any and all i n.formation (such as the DECnet node name and address of the server system) needed by the LAA, and store that infor m ation in the file RSJ'-•1$SDS_WORK:ISL_cl ient. DAT. The conten.t of this file is shared only between RSM $!SL_INSTALL and the LAA; therefore, the format best accompl ished using a single transfer vector. This rou ti ne is caJJed in user mode with three parameters, the addresses of three data structures: the MOMIDB, the MOMARB, and the MOMODB. The offset MOMI D B$A_PARAM_DSC contains any text from the NCP load assist parameter field . T h is field contains arbitrary text that RSM$JSL_!NSTALL placed there. Normal ly, this field contains a handle used to retrieve the file RSM$SDS_WORK: ISL_ client.DAT. A good handle is the DECnet node name of the client system. The offset MOMARB$A_SEND_DATA is the address of a routine to deliver data to the cl ient. The LAA need only col lec t and/or generate the data to be del ivered to the c l ient; t h is cal l back routine del iv ers i t to the client. Its two parameters are a string descriptor identifying which and how many bytes are to be del ivered, and the relative address in the client's memory to place these bytes. T h is ca l l back routine may be ca.l led repetitively. The offset MOMODB$ L_TRANSFER_ADORESS must be fil led with the relative transfer address of the pro cessor-specific bootstrap image that was loaded into the c lient's memory by MOMARB$A_SEND_DATA. For OpenVMS VAX , this offset is trad itionally zero, because certain older VAX processors are not capa ble of using any other value. That is one reason why of the file is implementation-dependent. the transfer address for ISL_SVAX.SYS is always zero. T h e Fetch Toolkit Summary The fetch toolkit is a lso a LAD virtual disk organized The in a format that is native to the cl ient's operating upgrades operating system software. These simple system. Again, the server system wi l l never read descriptions provide the framework for expaneling ISL mechanism i nstal ls, maintains, and this virtual volume. This virtual vol u me contains the ISL process i mplemented i n the POLYCENTER the native operating system pieces necessary to Software D istribution version 3.0 product to plat save a snapshot of the model system disk, make i t forms other than Open VMS VAX and OpenVMS AXP bootable as the temporary system disk, and restore operating systems. This expansion can m ake work it to its original state These are usually three sepa easier for system m anagers of m u l t iple plat forms rate com mand procedures. The com mand proce and may even start a de facto standard for perform dure that saves the system d isk image must also ing operating system upgrades. D igital Tee/mica/journal Vol. 6 No. 4 Fall 1994 99 PC LAN and System Management Tools Acknowledgments product. The installed software continues to use I wou ld l i ke to t hank Richard Bishop and CharJ ie its traditional acronym RSM . Hammond in the OpenVMS AXP Development Group for al lowing me to un ify the POLYCENTER Software Distribution version 3.0 ISL and the PCST based Open VMS AXP version 6.1 upgrade. Note and References I . POLYCENTER Software Distribution is the new name for Digital 's Remote System 1 00 Manager 2. POLYCENTER Software Distribution Manage ment Guide (Maynard , MA: D igital Equipment Corporation, Order No. AA-JG05E-TE, May 1994). 3. POl.YCENTER Software Distribution Command Reference (Maynard, MA D igital Equipment Corporation, O rder No. AA-JG03E-TE, May 1994). Vol. 6 No. 4 Fall 1994 Digital Tecbnical jourual I Further Readings The fol lowing technical p a pers were written by A. john, " Dynamic Vnodes: Design and Imple Digital au thors: mentation," USENIX 1995 Technical Conference R. Abugov and K. Zin ke, "Wafer Level Tracking (January 1995). on UNIX and Advanced Comp uting Systems Enhances Particle Source Isolation i n a Manu facturing Environment,'' Fifth A nnual IEEE!SEMI D. jones and V Murthy, "Ad vancing Re liabi l i ty Advanced Semiconductor klanujacturing Conference and Workshop (November 1994). with State of the Art Software Tools," University .J. Card, A. McGowan , and C. Reed, " Neural Network (December 1994) . of Manchester School of Engineering Third Reliability Software Seminar and Workshop Approach to Automated Wirebond Defect Classifi cation," ASJlt!E Proceedings of the Artificial Neural N. Khalil, ). Faricel li, and D. Bell, "The Extraction Networks in Engineering (ANNIE '94) Conference of Two-Di mensional MOS Transistor Doping via (November 1994). Inverse Modeli ng,'' IEEE Electron Device Letters (January 1995). S. Cheung, D. jensen , and G. Mooney, "Ul tra-High Purity Gas D istribution Systems fo r Sub O.Su m ULSI Manufacturing," Fifth A n nual iEEE/SEMI Advanced Semico nductor Manufacturing Conference and Wo rkshop (November 1994). R. Col lica, B. Cante l l , and J Ramirez, "Statistical Analysis of Particle/Defect Data Experiment Using Poisson and Logistic Regression," IEEE Interna tional Wo rkshop on Deject and Fault Tolerance in VLSI Systems (October 1994). B. Doyle, K. Mistry, and C-L. Huang, ·'Analysis of Gate Oxide Th ickness Hot Carrier Effects in Surface Chan nel P-MOSF ETs;· iEEE Transactions on Electron Devices (January 1995). A. Labun, " Profile Simu lation of Electron Cyclotron Resonance Planarization of an Interlevel Dielectric," journal of Vacuum Science and Technology B (JVST B) (November/December 1994). K. M istry and B . Doyle, " How Do Hot Carriers Degrade N-Channel MOSFETs? ," IEEE Circuits and Devices (January 1995). C. Ozveren , R. Simcoe , and G. Varghese, " Rel iable and Efficient Hop-by-Hop Flow Contro l ," AC111 SIG COJHM 94 (October 1994). R . Razdan and M. Smith, "A H igh-Performance Microarchitecture with Hardware-Progra mm able ). Edmondson, "Internal Organization of the Alpha 2 1 164," iEEE First International Symposium on High-jJelt'ormcmce Computer Architecture (HPCA) (January 1995). Functional Units," Proceedings of the Twenty seventh Annual International Symposium on Microarchitecture (MIG"R0-27) (December 1994). R. Rios and N. Arora, "Determ i nation of Ultra-Thin L. Ell iott, D. Paine, and ). Rose, "The Microstructure and Electromigration Behaviour of AJ-0. 35%Pd Interconnects,'' Materials Research Society SymjJosium Proceedings: Materials Reliability in Microelectronics IV Symposium (April 1994). Gate Oxide Thickness for CMOS Structures Using Quantum Effects," IEEE International Electmn Devices Meeting/IEDM Technical Digest (December 1994). N. Sul livan, "Semiconductor Pattern Overlay," C. Gordon and K. Roselle, "An E fficient and Accu rate Method for Estimating Crosst a l k in M u l ticon ductor Coupled Transmission Lines," IEEE Third Topical Meeting on the Electrical Performance of Electronic Packaging (November 1994). Proceedings of the International Society of Photo-Optical Instrumen tation Engineers (SPIE) Microelectronic Processing: Integrated Circuit Metrology and Process Control (Critical Review) (September 1994). D. Heimann , " Using Complexity-Tracking in the B. Thomas, "OpenV M S I/O Concepts: CSR Access;' Software Development Process,'' Thirty-second Digital Systemsjournal (November/December Annual Spring Reliability Symposium (April 1994) 1994). Digital Techllical]ow-nal VrJI. 6 No. 4 Fal/ 1994 101 I Recent Digital US. Patents Thefollowing patents were recent�v issued to Digital Equipment Corporation. Titles and names supplied to us by the US. Paten t and Trademark Office are reproduced exactly as they appear on the originalpub lishedpatent. 5,208,692 D. McMahon H igh Bandwidth Network Based on Wavelength Division M u ltiplexing 5,208,768 E. Simoudis Expert System Including Arrangement for Acquiring Redesign Knowledge 5,210,854 A. Beaverson and T. H u n t System for Updating Program Stored i n EEPROM by Storing New Version i n to New Location and Updating Second Transfer Vector to Contain Star t i ng Address of New Version 5,210,865 S. Davis, W Goleman, and D. Thiel Transferring Data between Storage Media While Main taining Host Processor Access for 1/0 Operations 5,217, 198 V Samarov, W Paupl is, and Uniform Spatial Action Shock Mou n t G. Doumani 5,218,678 B. Kelleher and S-S. Chow System a n d Method for Atomic Access t o an I npu t/Ou tpu t Device with Direct Memory Access 5,220,661 ]. Wray, A. Mason, P Karger, P Robinson, W-M . H u , and C. Kahn System and Method for Reducing Tim i ng Channels in D igital Data Processing Systems 5, 224, 206 E. Simoudis System and Method for Retrieving .Justifiably Relevant Cases from a Case L ibrary 5,224,884 M . Singer, R . Noffke, and D. G i lmour High Current, Low Vol tage Drop Separable Connector 5, 233,684 R. Ulichney Method and Apparatus for Mapping a Digital Color I m age from a First Color Space to a Second Color Space 5,235,697 S. Steely and ]. Zurawski Set Prediction Cache Memory System Using Bits of the Main Memory Address 5,239,634 B. Buch and C. MacGregor Memoqr Control ler for Engineering/Dequeu ing Process 5, 239,637 S. Davis, W Goleman, and D. Thiel D igital Data Management System for Maintaining Consistency of Data in a Shadow Set 5,241 , 564 J. Tang and J.L. Yang Low Noise, High Performance Data Bus System and Method 5,242, 761 Y Uchiyama Magnetic Recording Medi u m and Method of Manufacture Thereof 5,243, 241 C-H. Wang Tota lly Magnetic F i ne Tracking Min iature Galvanometer Actuator 5, 247,464 R. Curtis Node Location by D i fferential Time Measurements 5,247,618 S. Davis, W Goleman , D. Thiel, R . Bean , and ]. Zahrobsky Transferring Data i n a D igital Data Processing System 5,251 , 147 ]. F i nnerty Minimizing the Interconnection Cost of E lectronically Linked Objects 5,251 , 2 27 T. Bissett, W Bruckert, ]. Munzer, D. Kovalci n , and M. Norcross Resets for a Fau l t Tolerant, D u a l Zone Compu ter System 5,253, 249 ]. F itzgerald and D. Shuda Bid irectional Transceiver for H igh Speed Data System 5,253,353 ].C. Mogul System and Method for Efficiently Supporting Access to 1/0 Devices through Large Direct-mapped Data Caches 5,257,264 H . Yang and K . K. Ramakrishnan Automatically Deactivated No-owner Frame Removal Mechanism for Token Ring Networks 5, 261 ,077 J . R . D uval, K . R . Peterson, and T. E. H u n t Configurable Data Path Arrangement for Resolving Data Type Incompatibility (This case is related to PD89-0300.) 1 02 Vol. 6 No 4 Fall 1994 D igital Technical journal I ') , 26 1 ,OH'5 LB. Lamport Fau lt- tolerant System and Method fo r Implementing a Distributed State Machine '5, 26'5,092 S. R. Soloway, A . G. Lauck, and G. Ve rghese Synchronization Mechanism for Link State Packet Routing '5,26'5, 2'57 R .J. Simcoe aml R. E. Thomas Fast Arbiter Having Easy Sca l i ng for Large Numbers of Requesters, Large Numbers of Resource Typ es with Mu ltipl.e Instances of Each Type and Selectable Queueing Discipl ines '),274 ,H l l A. Borg and D.W Wal l Method for Quickly Acquiring and Using Very Long Traces of M ixed System and User Memory References '5, 276, 7 1 2 ] . D. Pearson Method and Apparatus for Clock Recovery in D igital Com mu nication Systems '5, 276,809 .f. K . Grooms, R . L. Sites, L.A. Chisvin , and OW Smelser Method and Apparatus for Capturi ng Real-t ime Data Bus Cycles in a Data Processing System 5, 276,828 J Dion Methods of Maintaining Cache Coherence and Processor Synchronization in a M u lt iprocessor System Using Send ami Receive Instructions '5, 276, 8 5 1 C. Thacker and D. Conroy Automatic Writeback and Storage Limit in a High-performance Frame Bu ffer and Cache Memory System '5, 276,874 R.G. Thomson Method for Creating a Directory Tree in Main Memory Using an Index F i le in Secondary Memory 5, 278,974 R. Ramanujan, PJ Lemmon , and .J.C. Stickney Method and Apparatus for the Dynamic Adjustment of Data Transfer Timing to Equa l i ze the Bandwidths of Two Buses i n a Computer System Having Different Bandwidths 5,2H0.47H H . Yang, PW C iarfella, K.K Ramakrishnan No-owner Frame and Mul tiple Token Removal Mechanism for Token Ring Networks '), 280, ')75 C . A . Young and N.F jacobson Arraratus for Cel l Format Control i n a Spreadsheet 5, 280,'582 H. Yang, K . K . Ramakrishnan. and A. Lauck No-owner Frame and Multiple Token Removal fo r Token Ring Networks '5,280,627 j. E. Flaherty and A . Abrahams Remote Bootstrapping a Node over Com munication Link by Initially Requesting Remote Storage Access Program Which Emu lates Local Disk to Load Other Programs '),28:1,857 E. Simou d is Expert System Including Arrangement for Acquiring Redesign Knowledge S.C. Steely and D.J Sager Next Line Prediction Apparatus for a Pipeli ned Computer System '),287, 1:)8 B .iVI. Kel leher System and Method for Drawing Anrial iased Polygons 5, 287,48') L. Umina and R. Anse lmo Digital Processing System I ncl.uding Plural Memory Devices and Data Transfer C i rcuitry 5, 287, 5:)4 T Reuther Correcting Crossover D istortion Produced When Analog Signal Thresholds Are Used to Remove Noise from Signal T. Bissett, W Rruckert, and Method of Hand l ing Errors in Software W Barabash and Method and Apparatus for Sched u ling Tas ks in Repeated Iterations in a D igital Data Processing System Having Multiple Processors '),291 ,494 '5, 293,620 .J. Melvin WS. Yerazunis '5, 296,:)92 '5, 297. 269 G.J. Gnl l a ancl W.C. Metz D. Donaldson , M. Howard , D. Orbi ts, ). Parchem, D. Robinson, and D. WiLliams Digital Technical journal Vol. 6 No. 4 Fall 1994 Method for Forming Trench Isolated Regions with Sidewa l l Doping Cache Coherency Protocol fo r M u l t i Processor Computer System 1 03 Recent Digital US. Patents 5,298,464 RW Doe, R . D. Gates, D.P. Goddard, S.C. Hsu, and R.L. Schlesinger Method of Manufacturing Tap e Automated Bonding Semiconductor Package 5,301 , 327 W McKeeman and S. Aki Virtual Memory Management for Source-code Development System 5,303,382 B. Buch and C. MacGregor Arbi ter with Program mable Dynamic Request Prioritization 5,303,391 R . .J. Simcoe and R.E. Thomas Fast Arbiter Having Easy Scal i ng for Large Numbers of Requesters, Large Numbers of Resource Types with M u ltiple Instances of Each Typ e and Selectable Queueing Disciplines 5,313,387 WM. McKeeman ami S. Aki Re-execution of Edit -compile-run Cycles for Changed Li nes of Source Code, with Storage of Associated Data in Buffers 5,313,464 F.H . Reiff Fau lt To lerant Memory Using Bus Bit AJ igned Reed-Solomon Error Correction Code Symbols 5,313,641 R.]. Simcoe and R . E. Thomas Fast Arbiter Having E asy Scaling for Large Numbers of Requesters, Large N u mbers of Resource Types with M u l tiple I nstances of Each Type and Selectable Queueing Disciplines 5,315,480 V Samarov, G. Doumani, and Conformal Heat Sink for Electronic Module R. Larson 5,317,708 R . Edgar Content Addressable Memory 5,319,651 R . Hel liwel l, R. Lary, B. Edem, and J.Johnston Data Integrity Features for a Sort Accelerator 5,32 1 , 724 B. Long and M .]. Hynes I nterference Suppression System 5,321 ,841 M.C. Ozur, S.M. Jenness, ).W Kel ly, J). Wal ker, and ).A. East Server Impersonation of C l ient Processes in an Object-based Compu ter Operating System 5,325,531 WM. McKeeman and S. Aki Incremental Compiler for Source Code Development System 5,327, 368 R . A . Eustace and ].S. Leonard Chunky Binary M u l t iplier and Method of Operation 5,327,557 J.P. E m m ond Single-keyed Indexed File for TP Queue Repository 5,330,881 A. Sidman and S. Fung Microl ithographic Method for Producing Thick Vertically Wal led Photoresist Patterns 5,337,404 P. Beaudelaire, M. Gangnet, J Herve, T. Puder, and J.V Thong Process for Making Computer-aided Drawings 5,339.449 P.A. Karger, A. H. Mason, JC . R . Wray, P.T. Robinson , A.L. Priborsky, C . E. Kahn, and T. E. Leonard System and JVIethod for Reducing Storage Channels in Disk Systems 5,345,587 L . G. Fehskens, C. Stru tt, S. Wong, J. F. Callander, P. H . Burgess, K.J Nelso n , M .]. Guerti n , D.L. Smith, M W Sylor, K W Chapman, R.C. Schuchard , S. I . Goldfarb, R . R. N. Ross, LB. O 'Brien, P.). Trasatti, D.O. Rogers, B . M . England, ].L. Lemm o n , R.L. Rosenbau m , and additional i nventors Extensible Entity Management System Includ ing a Dispatch ing Kernel and Modu les Which Independently I n terpret and Execute Commands 5,345,588 R . Peterson, B . Schreiber, and S. Greenwood Thread Private Memory Storage for M u ltithread Digital Data Processing 1 04 Vol. G No. 4 Fall 1994 D igital Technical journal Call for Authors from Digital Press Digital Press has become an imprint of Butterworth-Heinemann, a major inter national publisher of professional books and a member of the Reed E lsevier group . Digital Press remains the authorized publisher for Digital Equipment Corporation: the two companies are working in partnership to identify and pub lish new books under the Digital Press imprint and create opportunities for authors to publish their work. Digital Press remains committed to publishing high-quality books on a wide variety of subjects. We would like to hear from you if you are writing or thinking about writing a book. Contact: Frank Satlow Publisher Digital Press 313 Washington Street Newton, MA 02158 Tel : (617) 928-2649 Fax: (617) 928-2640 fps@world.std.com ISSN 08 98-9 0 l X Prin ted in U.S. A. 1 4. 5 EY-T l l 8E-Tj/95 0 4 1 4 rved. ion. A l l Righ ts Rese Equ ipm ent Corporat Copyright © Dig ital
Source Exif Data:File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.6 Linearized : Yes XMP Toolkit : Adobe XMP Core 5.2-c001 63.139439, 2010/09/27-13:37:26 Create Date : 2006:04:13 12:16:23+01:00 Creator Tool : Adobe Acrobat 7.05 Modify Date : 2013:01:11 04:07:40Z Metadata Date : 2013:01:11 04:07:40Z Producer : Adobe Acrobat 10.1.4 Paper Capture Plug-in with ClearScan Format : application/pdf Title : Digital Technical Journal, Volume 6, Number 4: RAID Array Controllers; Workflow Models; PC LAN and System Management Tools Creator : Document ID : uuid:c5a6b83e-3e6b-4fd6-8fbd-1cc9c545359b Instance ID : uuid:2c68dd26-4733-4054-b6d6-bd7b83745968 Page Layout : SinglePage Page Mode : UseOutlines Page Count : 108EXIF Metadata provided by EXIF.tools