Using HyTime for Modeling Publishing Work ows - CiteSeerX

3 downloads 2667 Views 200KB Size Report
to a parameterized instantiation of a prede ned job template of type journal. A job can have di erent .... The main application area of HyTime is seen in electronic publications, like multimedia ..... In: TAG SGML Newsletter. September 1994. 15.
Using HyTime for Modeling Publishing Work ows Franz Burger1 , Gerald Quirchmayr2, Siegfried Reich1, A Min Tjoa3 1

FAW - Research Institute for Applied Knowledge Processing A-4232 HAGENBERG, Austria E-Mail: ffranz j [email protected] 2 University of Vienna A-1010 VIENNA, Austria E-Mail: [email protected] 3 Technical University of Vienna A-1010 VIENNA, Austria E-Mail: [email protected]

y

Abstract. Work ow Management is seen as the key for improving overall business e ectiveness. However, today's solutions are very speci c and isolated. Recently emerged international standards in the publishing sector provide the means for enabling standardized descriptions and thus allow the interchange and reuse of work ow information. This paper describes how HyTime can be used as a modeling language to describe publishing work ows. We present relevant parts of the HyTime model and re ect on pros and cons of the chosen approach.

1 Introduction New evolving technologies in the publishing sector like advanced communication services, development of international standards for the representation of publishing information, new delivery platforms, and others provide new opportunities for the design and development of new information products [6]. According to the idea of concurrent engineering and the prospects of these new technologies not only new products, but also new development processes have to be designed complementarily in order to exploit the bene ts of recent research. However, even though desktop publishing (DTP) software products have emerged rapidly, there is still a lack of integrated publication management systems. Work ow Management is seen as a key element for supporting the process development of publishing needs by integrating existing desktop software solutions. Nevertheless, one of the lessons learned from recent developments is that standardization will ease information exchange. Thus we propose the international ISO-standard Hypermedia/Time-based Structuring Language (HyTime, ISO/IEC 10744) [12] to be used for modeling publishing work ows. y

This work was supported by the Austrian Federal Research Foundation (FFF) under grant no. 2/310.

The remainder of the paper is structured as follows: section 2 brie y describes our underlying work ow model in OMT notation and gives an overview of the modeling requirements posed to a work ow system for publishing applications. Section 3 then introduces HyTime and gives examples of the HyTime code used for describing the work ow of publishing applications. The following section 4 re ects on the usability of the chosen approach by discussing pros and cons and describing parts of a prototypical implementation developed at our institute. Section 5 concludes with a summary.

2 Requirements for Work ow Modeling 2.1 General Issues A general, abstract view of a work ow system for electronic publishing applications is given in gure 1. The main components are the users , existing (standard) applications , an administration tool for specifying and editing work ow descriptions, the document management part which provides consistent management of di erent types of documents and the work ow engine which processes work ow descriptions.

Standard Applications

Administration

Workflow Engine

Document Management

Workflow Database

Document Base

Structured Document Storage

Fig. 1.

Image Storage

Other

General Architecture of a Work ow Management System

The focus for this investigation is on the work ow engine. This part of the system has to parse work ow descriptions and to process them. Each work ow

system has to provide such a modeling mechanism for describing the di erent work ows, e.g. augmented Petri-Nets like in [22], or any system-speci c internal description. The abstract work ow model underlying our investigation is shown in gure 2. The basic elements are job, task, condition, actor, role and document. A job consists of a series of tasks (at least one). Examples of jobs are the documentation of a new model of a car, the production of a journal, etc. The idea is that a job is independent of other jobs, i.e. the production of journal A does not directly a ect the creation of journal B. Jobs can be instantiated from prede ned templates. Therefore, the production of a new issue of a journal 'simply' can be compared to a parameterized instantiation of a prede ned job template of type journal. A job can have di erent status, i.e. it can be 'created', 'started', 'late' or ' nished'.

InputDocument

Job

Role

#linkend:IDREF

#id:ID #status:Names #creationDate:DATE #dueDate:DATE

#id:ID

consists-of

#id:ID #status:NAME #creationDate:DATE #dueDate:DATE

#linkend:IDREF

assignment

Actor #id:ID #name:STRING fulfillment

1+

Task OutputDocument

1+ player-of

Condition #type:(PRE|POST)

precedence

Fig. 2.

Work ow Model in OMT Notation

A task is a certain step in a job to be performed. A task can itself consist of subtasks, i.e. the de nition is recursive. A task can have any number of socalled input or output documents. Output documents of one task can be input documents to other tasks. A task has exactly one person as the actor (or ful ller) of the task. This does not mean that tasks can only be performed by a single person, there is simply one person who is responsible for the task. A task has a status attribute. Values of this attribute are 'notYetAssigned', 'started', 'sentBack', 'onHold', 'late' and ' nished'. An actor is a certain person ful lling a speci ed task in a role. For example,

user 'Miller' might ful ll in his role as 'Image-Editor' the task 'Image-Rendering'. An actor can be involved in any number of tasks. He has to have at least one role (otherwise he is not relevant to the system). Roles are used in order to assign types of users rather than actual users themselves to tasks. Examples of roles are editor, proofreader, typesetter, etc. If a task is assigned to a role, which should be the normal case, this task has to be claimed by a certain user5 . Publications are made of documents. That is why we treat documents separately. Documents can have any type, i.e. at les with text, images, sound, etc. as well as structured documents, i.e. SGML encoded les. Documents are directly assigned to tasks, i.e. if a certain actor claims a certain task he can simultaneously check out the corresponding document. After editing the document he checks it in again and thus sets the status of the task to nished. Additionally, parts of documents can be assigned to tasks. For example, an image within a certain paragraph can be ascribed to an image-editor for rendering. Conditions are required in many everyday work ow situations. Any number of conditions can be assigned to a task. We require all conditions of a certain task to be true in order that the task can start (pre-condition) or that its status can be set to nished (post-condition).

2.2 Modeling Requirements Regarding the model de ned above, the requirements a description mechanism has to cope with are the following [4, 20, 22]:

{ { { { { { { { { {

asynchronous, concurrent tasks coordination among concurrent tasks temporal relationships (e.g. precedence) among tasks dependencies: task tj can change state only if task ti is in state si de nitions of hierarchical structures such as job, task, subtask de nition of roles such as editor, chief editor, type-setter, in order to assign tasks rather to roles of users than to users themselves de nitions of pre-, as well as postconditions of tasks involvement of typed hypermedia documents, i.e. (parts of) structured documents may be assiged to tasks. This is a very important issue in electronic publishing because it has to ensure a consistent state of a publication during the whole publishing process. exception handling: the system process must be changeable in order to accommodate exceptions monitoring of tasks and jobs: the status of tasks and jobs may be queried at any time. A more general view of the temporal modeling needs is given in gure 3.

5

In case a task is not claimed by any user an appropriate scheduling mechanism or additional negotiations have to guarantee that a ful ller is found.

X

Y

X

(1) x before y

(2) x equal y

Y X

Y

X Y X

(3) x meets y (4) x overlaps y

(5) x during y

Y X

(6) x starts y

Y X Y

(7) x finishes y time

Fig. 3.

Possible Temporal Relationships

The gure shows possible temporal relationships of two events X and Y with regard to time [2]. Including the inverse relationships there is a total of thirteen di erent types of modeling temporal relationships a description mechanism has to cope with.

3 Work ow Modelling 3.1 Introducing HyTime HyTime (Hypermedia/Time-based Structuring Language) [12, 19] is an international standard for the handling of typed hypermedia documents. HyTime is an application of SGML [3, 9, 10, 11] mainly addressing the problems of:

{ locating data of any type by using a standard notation that is independent of the processing system and the data itself

{ describing links within and between documents { structuring of contents { describing relations between temporal and spatial events occurring in documents

HyTime is characterized by its 'meta' de nition capabilities. It consists of a document type de nition (DTD) which de nes a set of SGML element types each having a semantic meaning. These element types are called architectural forms ; they may be re-used for speci c applications. Architectural forms can be compared to abstract classes in object-oriented programming. HyTime is built up of the following modules:

{ Base module: as it represents HyTime's kernel which all other modules re-

quire, it is a prerequisite for all further development. Features to be named are lookup tables of commonly used elements and general support of hypermedia document management and activity tracking.

{ Measurement module: this module allows the de nition of position and ex-

tent of events in an event schedule, a functionality, which the HyTime's scheduling mechanism heavily relies on. Scheduling module: advanced concepts, such as alignment or synchronization { require the more basic concept of scheduling as provided by this module. FCS ( nite coordinate spaces) are the basis for locating objects. Scheduling and grouping of events form the basis of control mechanisms. On top of that, object types for multimedia applications can be embedded. { Location address module: as objects in external documents have to be identi ed, accessed, retrieved, and queried, this module becomes indispensable. Navigation on objects also being supported facilitates the development of interactive applications. { Hyperlink module: this module is used for administering links within a document and between documents. The main application area of HyTime is seen in electronic publications, like multimedia slide-shows, hypermedia dictionaries, and the like. However, also modeling of enterprises [14] is a corporate application of HyTime6. Thus, with regard to the modeling requirements (see section 2), we propose to use HyTime for modeling publishing work ows. We consider work ow management to have many similarities to hypermedia applications in terms of scheduling, alignment, referencing data, etc. However, in contrast to hypermedia presentations, which in a way are xed or prede ned7 , it is typical of work ows to change at runtime, e.g. a task can be 'late' and therefore shift back the completion date. As a consequence, a mechanism has to guarantee the consistency of changes being made to document instances.

3.2 Work ow Modeling with HyTime This section describes parts of a HyTime conforming document type de nition for the description of work ows, called work ow.dtd . We particularly consider three modeling features of HyTime: nite coordinate spaces, coordinate addressing, and activity tracking.

Finite Coordinate Spaces The concept of alignment and synchronization requires a coordinate space for scheduling. HyTime's Scheduling Module provides a mechanism called Finite Coordinate Space (FCS) which is a means for supporting basic scheduling mechanisms. Figure 4 shows three possible modeling alternatives. 6

7

Enterprises have structures that contain structures as well as structures referring to other structures. In addition to that these structures are scheduled in time, over a given space and require resources.HyTime is suitable for handling such modeling issues. At least the instances do not change at runtime.

jobs

jobs time

time

tasks

tasks

a)

b) Fig. 4.

c)

Finite Coordinate Spaces (FCS)

a) is the simplest case, an FCS with just one axis whose measurement unit is time; b) is a two-axes FCS with jobs on one axis and tasks on the other; c) can be seen as a combination of a) and b), with jobs, tasks, and time as measurement units on its axes. We decided on a three-dimensional solution8, an example of which can be seen in gure 5. actor

resources a3

j3

task1 a2

r2

task2 r1 a1

time t1

Fig. 5.

t2

t3

t4

t5

Three-dimensional Space for Work ow Management

The measurement unit on the x-axis is time. This means that events are positioned according to their de ned time schedule. The y-axis has the abstract measurement unit actor9 . The last axis' unit is resources. From gure 5 we can see that actor a3 is involved in task1 which uses resource r1 . Task1 lasts one time unit. Actor a1 is involved in task2 which lasts two time units (from t1 to t3 ) and uses resource r2 . The usage of a nite coordinate space provides advanced modeling features such as rendering, projecting of objects, etc. In addition we can easily query [13] for instance the capacity of a resource by checking the corresponding axis. In HyTime a nite coordinate space consists of a schedule. A schedule simply 8 9

HyTime allows the speci cation of an arbitrary number of axes. Note that HyTime allows the free de nition of measurement units for axes on a fcs. Thus, also abstract measurement units can be used.

is a sequence of elements, each having a dimension on the axis of the work ow schedule. The following HyTime code de nes our schedule. !ELEMENT (workflowSchedule) - - (wflowEvent+)> !ATTLIST (workflowSchedule) HyTime NAME #FIXED evsched id ID #IMPLIED -- scheduling attributes -axisord CDATA #FIXED "" -- equal to axisdefs in fcs -sorted CDATA #FIXED "unsorted" overrun (errorjignore) error --> <
Activity Tracking Activity tracking in HyTime is done by referencing activity elements which de ne actions to be taken and the conditions under which they will be taken. The standard de nes the activity types 'create', 'modify', 'link', 'access', 'unlink' and 'delete'. The accessing of a task by a user for instance is an activity of type access, the triggering conditions could be e.g. a speci c user name, the frequency of access, etc., and the action taken could be the logging of the access action in a log le. For work ow management and electronic publishing this sort of triggering mechanism seems to be especially useful for the following situations: { Integrity: the owner of an accessed document might be noti ed of the use of his document.

{ Intellectual property rights: the information that a document is accessed

may be used for presenting a copyright notice as well as for billing the user.

{ Triggering: di erent actions might be triggered by so-called encapsulated

data handlers according to the type of access to an object. The modi cation of an object could for instance invoke a noti cation message for all objects referencing this modi ed object.

{ Monitoring: information like 'who worked at a certain time on which document' can easily be recorded in a log.

3.3 The Production of a CDROM-Prototype as Example This section gives an example of the way we think HyTime can be used as a standard for interchanging time-dependent structured information as is required for work ow management. The example we consider deals with the production of a CD-ROM prototype of a publication on Jugendstil. According to our terminology the whole production process 'Production of a CD-ROM Prototype' is called job ; this job consists of several tasks such as 'Data Preparation', 'Tagging of Articles', etc. Figure 8 gives an impression of how such a job could be modeled with a project management tool. Obviously a large number of documents can be assigned to documents already at de nition time. For example the task 'Create DTD' will have a documenttype-de nition as an output document. Thus the work ow system can be used for keeping control of the publication. The status of task 'Create DTD' for instance can be set to ' nished' when the user responsible for editing the document checks in the document into the document management system. In that way the work ow engine can trigger the processing of the following tasks. The role of HyTime is to allow the exchangeability of this time-dependent structured information. Certain tasks of the exemplary publication could e.g. be done by a subcontractor using a di erent work ow system.

4 Usability of the Approach In the previous sections we elaborated on the usage of HyTime for work ow modeling. We derived requirements for modeling and showed how HyTime can be used for such purposes. In order to prove that the model can also serve as a basis for implementation we developed a prototype on a client/server basis in VisualWorksnSmalltalk (see gure 9). Clients connect via TCP/IP with a work ow engine running as a server process on a remote machine. The work ow engine processes work ow descriptions encoded according to the documenttype-de nition work ow.dtd . The work ow engine is also responsible for importing new instances of the work ow.dtd into the system. We have integrated the MarkMinder C++ SGML library [16] into Smalltalk in order to have basic SGML-parsing functionality [5]. Since there is currently no general purpose HyTime-Engine 10 available, we use Smalltalk for the HyTime-speci c parsing and processing of the work ow instances. For transaction management and for making instantiated work ow objects persistent we use the ArtBase [1] database management system. 10

A 'HyTime Engine' is 'a program (or portion of a program or a combination of programs) that recognizes HyTime constructs in documents and performs applicationindependent processing of them.' [12, page 5]

Fig. 8.

Production of a CD-ROM Prototype 12.10.94 8:00 13.10.94 8:00

1t 17t

Validate against DTD

8

3t 2t 2t 2t 3t 4t 1t

Decide upon Markup Create DTD Select and create subset Automatic Markup Control, Correction Manual markup Validate against DTD

10 11 12 13 14 15 16

Enhance Markup

2t

Control, Correction, Tidying Data

7

9

1t

Tagging Articles

6

3.10.94 8:00

2t

Select and create Subset

5

4.11.94 8:00

31.10.94 8:00

26.10.94 8:00

24.10.94 8:00

20.10.94 8:00

18.10.94 8:00

13.10.94 8:00

10.10.94 8:00

7.10.94 8:00

5.10.94 8:00

2t

3.10.94 8:00

3.10.94 8:00

DTD

8t

25t

Dauer Berechneter Anfang 3.10.94 8:00 40t

Replace DoA Codes with SGML Markup

Data preparation

Name Project Management

4

3

2

Nr. 1

Sa

So

Mo Di

Do Fr

3. Oktober Mi

Sa

So

Mo Di

Do Fr

10. Oktober Mi

Sa

So

Mo Di

Do

Fr

17. Oktober Mi

Sa

So

Mo Di

Do

24. Okt Mi

Workflow Client

Workflow Engine Hypermedia Document Management

Workflow Processing

Workflow Database

HyTime Engine SGML Parser

DTD: workflow.dtd

Fig. 9.

Instance: CD-ROM publication

Work ow System Architecture

With the modeling in HyTime and the experiences of the implementation of the prototype in mind we are now able to re ect on the usability of the taken approach. 1. Modeling: Though designed for hypermedia publications, HyTime o ers a number of modeling features (structuring, linking, addressing, coordinate spaces, activity tracking) which make HyTime valuable for work ow modeling. 2. User-Friendliness: As might be obvious from the portions of HyTime code shown in this paper, the syntax and high degree of abstraction make HyTime code quite complicated. 3. Tool-Support: Up to now there is but a limited number of prototypical tools which support HyTime. However, a HyTime-Engine capable of generally dealing with HyTime document type de nitions has already been announced. More speci c HyTime-Engines, e.g. for hypermedia presentations [15], are not common enough to be used for our model. On the other hand, it has to be stated that there exist a number of SGML-tools which in some way can be re-used { at least for prototype development. 4. Standardization: HyTime is an international standard. Though there are a number of pros and cons for international standards, we consider the standardization and exchangeability of work ow information an advantage.

5 Summary Work ow Management is seen as the key for improving business e ectiveness. International standards for the representation of information, such as HyTime,

o er new opportunities of interoperability. In this paper we showed how HyTime can be used for modeling work ow information. We presented modeling requirements, introduced a work ow model and showed relevant parts of HyTime code. We further elaborated on the usability of the taken approach.

Acknowledgement The work presented in this paper was carried out within the framework of the RACE11 project EUROPUBLISHING (R2042) of the European Commission. The authors want to thank the partners of application pilot 1 'The Dictionary of Art' for their valuable contributions.

References 1. ArtBASE User's Guide: ArtInAppleS. Bratislava, Slovakia. 1994. 2. ALLEN, J. F.: Maintaining Knowledge about Temporal Intervals. In: Communications of the ACM, Volume 26, No. 11, pages 832{843. 1983. 3. BROWN H.: Standards for Structured Documents; In: The Computer Journal, Vol. 32, No. 6, 1989. 4. BURGER F., REICH, S.: Usability of Groupware Products for Supporting Publishing Work ows. In: Work ow Management. Challenges, Paradigms and Products. Proceedings of Connectivity 1994. Ninth Austrian-Hungarian Informatics Conference. R. Oldenbourg, Wien/Munchen 1994. 5. BURGER F., REICH S.: Design and Implementation of an Abstract SGML Interface in Smalltalk. To appear in: Computer Standards & Interfaces. Special Issue on SGML. 1995. 6. Commission of the European Communities: New Opportunities for Publishers in the Information Services Market. Executive Summary. Directorate General XIII, Information Technologies and Industrie, and Telecommunications. Report EUR 14925 EN. Brussels, January 1993. 7. DYSON E.: Anatomy of Groupware. In: RELEASE 1.0: A Monthly Report by Esther Dyson. Pages 1{5. EDventure Holdings, New York. August 1992. 8. DYSON E.: Work ow. In: RELEASE 1.0: A Monthly Report by Esther Dyson. Pages 1{7. EDventure Holdings, New York. September 1992. 9. GOLDFARB C. F.: The SGML Handbook. Clarendon Press Oxford. New York 1990. 10. HERWIJNEN E. van: Practical SGML. Kluwer Academic Publishers. Dordrecht/Boston/London. 1990. 11. Information Processing - Text and Oce Systems - Standard Generalized Markup Language (SGML), ISO 8879, International Organisation for Standardisation 1986. 12. Information Technology - Hypermedia/Time-based Structuring Language (HyTime), ISO/IEC 10744, International Organisation for Standardisation 1992. 13. KIMBER W. E.: HyTime and SGML. Understanding the HyTime Query Language. Version 1.1. Tech. Report. IBM Corporation. Research Triangle Park, NC 27709. 1993. 11

RACE = Research and technology development in advanced communications technologies in Europe

14. KIPP N.: First International HyTime Conference. Vancouver, B.C., Canada, 26-27 July 1994. In: SGML Newsletter. September 1994. 15. KOEGEL J.F., RUTLEDGE L.W., RUTLEDGE J.L, KESKIN C.: HyOctane: A HyTime Engine for an MMIS. In: ACM Multimedia 93. 1-6 August, Anaheim, California. 1993. 16. MarkMinder 0.9.4 System User Guide. TechnoTeacher Inc. Tallahasse, Florida. 1993. 17. MEDINA-MORA R., WINOGRAD T., FLORES R., FLORES F.: The Action Work ow Approach to Work ow Management Technology. In: CSCW 92 Proceedings, Toronto, Canada. ACM 1992. 18. NASTANSKY L.: Workgroup Computing: computergestutzte Teamarbeit (CSCW) in der Praxis; neue Entwicklungen und Trends / hrsg. von Ludwig Nastansky. S + W Steuer- und Wirtschaftsverlag. Hamburg 1993. 19. NEWCOMB S. R., KIPP N. A., NEWCOMB V. T.: The "HyTime" Hypermedia/Time-based Document Structuring Language. In: Communications of the ACM, Vol. 34, No. 11/92. New York November 1991. 20. SARIN S. K., ABBOTT K. R., McCARHTY D. R.: A Process Model and System for Supporting Collaborative Work. ACM Proceedings on Organizational Computing Systems, Nov. 5 - 8 Atlanta. SIGOIS Bulletin Vol. 12, Number 2,3. ACM, Baltimore 1991. 21. SEYBOLD Publications Division: Quark's QPS. Seybold Report on Publishing Systems. Vol. 23, Number 2, September 1993. 22. ZISMAN M. D.: Representation, Speci cation and Automation of Oce Procedures. Dissertation in Decision Sciences. University of Pennnsylvania, 1977.

A X macro package with LLNCS style This article was processed using the LT E

Suggest Documents