Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
In these lecture notes we present the iTask system: a set of combinators to specify workflows in a pure functional language at a very high level of abstraction. Workflow systems are automated systems in which tasks are coordinated that have to be executed by either hu-mans or computers. The combinators that we propose support workflow patterns commonly found in commercial workflow systems. In addition, we introduce novel workflow patterns that capture real world require-ments, but that can not be dealt with by current systems. Compared with most of these commercial systems, the iTask system offers several further advantages: tasks are statically typed, tasks can be higher order, the combinators are fully compositional, dynamic and recursive work-flows can be specified, and last but not least, the specification is used to generate an executable web-based multi-user workflow application. With the iTask system, useful workflows can be defined which cannot be ex-pressed in other systems...
Lecture Notes in Computer Science, 2008
In these lecture notes we present the iTask system: a set of combinators to specify work flows in a pure functional language at a very high level of abstraction. Work flow systems are automated systems in which tasks are coordinated that have to be executed by either humans or computers. The combinators that we propose support work flow patterns commonly found in commercial work flow systems. In addition, we introduce novel work flow patterns that capture real world requirements, but that can not be dealt with by current systems. Compared with most of these commercial systems, the iTask system offers several further advantages: tasks are statically typed, tasks can be higher order, the combinators are fully compositional, dynamic and recursive work flows can be specified, and last but not least, the specification is used to generate an executable web-based multi-user work flow application. With the iTask system, useful work flows can be defined which cannot be expressed in other systems: a work can be interrupted and subsequently directed to other workers for further processing. The iTask system has been constructed in the programming language Clean, making use of its generic programming facilities, and its iData toolkit with which interactive, thin-client, form-based web applications can be created. In all, iTasks are an excellent case of the expressive power of functional and generic programming.
Nederlands Tijdschrift Voor Geneeskunde, 2007
In this paper we introduce the iTask system: a set of combinators to specify work flows in a pure functional language at a very high level of abstraction. Work flow systems are automated systems in which tasks are coordinated that have to be executed by humans and computers. The combinators that we propose support work flow patterns commonly found in commercial work flow systems. Compared with most of these commercial systems, the iTask system offers several advantages: tasks are statically typed, tasks can be higher order, the combinators are fully compositional, dynamic and recursive work flows can be specified, and last but not least, the specification is used to generate an executable web-based multi-user work flow application. With the iTask system, useful work flows can be defined which cannot be expressed in other systems: work can be interrupted and subsequently directed to other workers for further processing.
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications - LDTA '10, 2010
Workflow management systems guide and monitor tasks performed by humans and computers. The workflow specifications are usually expressed in special purpose (graphical) formalisms. These formalisms impose severe restrictions on what can be expressed. Modern workflow management systems should handle intricate data dependencies, offer a web-based interface, and should adapt to dynamically changing situations, all based on a sound formalism. To address these challenges, we have developed the iTask system, which is a novel workflow management system. We entirely embed the iTask specification language in a modern general purpose functional language, and generate a complete workflow application. In this paper we report our experiences in developing the iTask system. It not only inherits state-of-the-art programming language concepts such as generic programming and a hybrid static/dynamic type system from the host language Clean, but also offers a number of novel concepts to generate complex, real-world, multi-user, web based workflow applications.
2009
Workflow management systems guide and monitor tasks performed by humans and computers. Workflow specifications are usually expressed in special purpose (graphical) formalisms. These models are concise and made rapidly. These formalisms commonly have as disadvantage that they have limited expressive power, handle only rather static workflows, do not handle intricate data dependencies, and cannot easily adapt to the current situation. Furthermore, workflow specification tools mostly generate a software infrastructure that needs to be extended with custom crafted code. To overcome these problems, we entirely embed a workflow modeling language in a modern general purpose functional language, and generate a complete workflow application. We have developed the iTask prototype system in the pure and lazy language Clean. An iTask workflow specification can use the expressive power and strong type facilities of Clean. Workflows can be higher-order and adapt their behavior based on the available data. The generated application is web-based and runs on both server and clients.
2011
Workflow languages are a form of high-level programming language designed for coordinating tasks implemented by different pieces of software, often executed across multiple computers using technologies such as web services. Advantages of workflow languages include automatic parallelisation, built-in support for accessing services, and simple programming models that abstract away many of the complexities associated with distributed and parallel programming. In this thesis, we focus on data-oriented workflow languages, in which all computation is free of side effects. Despite their advantages, existing workflow languages sacrifice support for internal computation and data manipulation, in an attempt to provide programming models that are simple to understand and contain implicit parallelism. These limitations inconvenience users, who are forced to define additional components in separate scripting languages whenever they need to implement programming logic that cannot be expressed in the workflow language itself. In this thesis, we propose the use of functional programming as a model for data-oriented workflow languages. Functional programming languages are both highly expressive and amenable to automatic parallelisation. Our approach combines the coordination facilities of workflow languages with the computation facilities of functional programming languages, allowing both aspects of a workflow to be expressed in the one language. We have designed and implemented a small functional language called ELC, which extends lambda calculus with a minimal set of features necessary for practical implementation of workflows. ELC can either be used directly, or as a compilation target for other workflow languages. Using this approach, we developed a compiler for XQuery, extended with support for web services. XQuery's native support for XML processing makes it well-suited for manipulating the XML data produced and consumed by web services. Both languages make it easy to develop complex workflows involving arbitrary computation and data manipulation. Our workflow engine, NReduce, uses parallel graph reduction to execute workflows. It supports both orchestration, where a central node coordinates all service invocation, and choreography, where coordination, scheduling, and data transfer are carried out in a decentralised manner across multiple nodes. The details of orchestration and choreography are abstracted away from the programmer by the workflow engine. In both cases, parallel invocation of services is managed in a completely automatic manner, without any explicit direction from the programmer. Our study includes an in-depth analysis of performance issues of relevance to our approach. This includes a discussion of performance problems encountered during our implementation work, and an explanation of the solutions we have devised to these. Such issues are likely to be of relevance to others developing workflow engines based on a similar model. We also benchmark our system using a range of workflows, demonstrating high levels of performance and scalability.
Handbook of Research on Business Process Modeling
Due to the absence of commonly accepted conceptual and formal foundations for workflow management, and more generally Business Process Management (BPM), a plethora of approaches to process modelling and execution exists both in academia and in industry. The introduction of workflow patterns provided a deep and language independent understanding of modelling issues and requirements encountered in business process specification. They provide a comparative insight into various approaches to process specification and serve as guidance for language and tool development. YAWL (Yet Another Workflow Language) is a novel and formally defined workflow language based on workflow patterns and Petri nets, thus leveraging off both practical and theoretical insights in the field of BPM. This chapter provides an overview of this language and its corresponding open source support environment.
Lecture Notes in Computer Science, 2011
While in the traditional workflow processes the control flow is determined statically within process definitions, in declarative workflow processes the control flow is dynamic and implicit, determined by conditions that occur in the workflow data and the service environment. The environment consists of so-called active objects, which play a double role. On the one hand, they are persistent data structures that can be queried and managed according to the syntax and semantics of a query language. On the other hand, active objects possess active parts that are executable and represent workflow processes or tasks. The approach is motivated by features that are desirable in complex and less regular business processes: (1) the possibility of dynamic changes of process instances during their run, (2) mass parallelism of process instances and their components and shifting the availability of resources that workflows deal with on the primary plan as a mean for triggering instances of process tasks. The paper presents the prototype of an object-oriented declarative workflows on a comprehensive example with roots in a real business case.
1998
In this position paper, we discuss the suitability of the Web as the primary infrastructure for supporting advanced work ows in heterogeneous, distributed environments in which security, reliability, high performance and transactional capabilities are important. At present, CORBA provides many advantages to Web technology as well as some disadvantages. However, as Web technology evolves to include CORBA-like capabilities some of these advantages will likely diminish in the future. In addition, with capabilities like IIOP and Java to CORBA interfaces the two technologies can be combined where needed. The METEOR project at the University of Georgia is exploring all of these angles with WebWork, a purely Web-based Work ow Management System WfMS, with OrbWork, a primarily CORBA-based WfMS with Web interfaces, and by the the fact that WebWork and OrbWork will conveniently interoperate. In this paper, we will highlight several issues in which current W eb technology is lacking, but future developments hold promise. In some cases weaknesses in the infrastructure can be compensated by implementing capabilities at a higher level in the WfMS. Generally, h o w ever, these approaches are less desirable than having the capability at the infrastructure level.
ACM Sigsoft Software Engineering Notes, 1999
2008
Workflow systems coordinate tasks of humans and computers. The iTask system is a recently developed toolkit with which workflows can be defined declaratively on a very high level of abstraction. It offers functionality which cannot be found in commercial workflow systems: workflows are constructed dynamically depending on the outcome of earlier work, workflows are strongly typed, and they can be of higher order. From the specification, a web-based multi-user workflow system is generated. Up until now we could only generate thin clients. All information produced by a worker triggers a round trip to the server. For real world workflows this is unsatisfactory. Modern Ajax web technology to update part of a web page is required, as well as the ability to execute tasks on clients. The architecture of any system that supports such features is complex: it manages distributed computing on clients and server which generally involves the collaboration of applications written in different programming languages. The contribution of this paper is that we integrate partial updates of web pages and client side task evaluation within the iTask system, while retaining its approach of a single language and declarative nature. The workflow designer uses light-weight annotations to control the run-time behavior of work. The iTask implementation takes care of all the hard work under the hood. Arbitrary tasks (functional programs) can be evaluated at web clients. When such a task cannot be evaluated on the client for some reason, the system switches to server side evaluation. All communication and synchronization issues are handled by the extended iTask system.
Lecture Notes in Computer Science, 2007
Service composition is core to service oriented architectures. In the Web, mainstream composition is practiced in client-side or serverside mashups, such as providing visual widgets on top of Google Maps results. This paper presents an explicit, workflow based composition model for Web applications called Bite. In contrast with prior attempts to bring workflow capabilities to the Web environment, Bite can deal with data integration as well as interactive, asynchronous workflows with multiparty interactions, and is architected to support protocols currently in use by Web applications. The Bite development model is designed for simplicity and short development cycle by taking a scripting approach to workflow development.
Lecture Notes in Computer Science, 2010
Workflow management systems (WFMSs) are systems that generate, coordinate and monitor tasks performed by human workers in collaboration with automated (information) systems. The iTask system (iTasks) is a WFMS that uses a combinator language embedded in the pure and lazy functional language Clean for the specification of highly dynamic workflows. iTask workflow specifications are declarative in the sense that they only specify (business) processes and the types of data involved. They abstract from user interface and storage issues, which are handled generically by the workflow engine. Earlier work has focused on the development of the iTask combinator language. The workflow language was implemented as an engine that evaluated task combinator expressions and generated interactive web pages. Although suitable for its original purpose, this architecture has proven to be less so for generating practically usable workflow support systems. In this paper we present a new implementation of the iTask system that implements the combinator library using a service based architecture that exposes the workflow and a user friendly Ajax client. Because user interface issues are outside the scope of workflow specifications, and cannot be specified explicitly, it is crucial that the generic operationalization of the declarative interaction primitives is of adequate quality. We explain the novel generic libraries we have developed for this purpose.
Proceedings of the Thirty-First Hawaii International Conference on System Sciences, 1998
The workflow paradigm is advancing the scope of process modelling by supporting complex control flows, rich process structures, and the integration of heterogeneous and legacy systems. However, studies of the paradigm have been seriously hindered by the lack of a concrete framework. In order to improve understanding of the paradigm, enable studying of interaction between different features, and facilitate the development of more advanced features, this paper presents a framework in the form of a workflow language called Valmont. Unlike many other proposals, Valmont captures all the fundamental elements of the workflow paradigm at an abstraction level that is suitable for workflow application designers. More specifically, it provides a rich organisation model that can capture distribution using domains, an information model that also records presentation details, as well as a sophisticated process model that supports active rules and workflow transactions. This paper presents an overview of Valmont by providing a solution to the ISPW-6 Software Process Example. It also serves to provide an insight into the needs of novel application domains some of which remain to be addressed by the next generation of workflow management systems.
Workflows can be specified using different languages. Mainstream workflow management systems predominantly use procedural languages having a graphical representation involving AND/XOR splits and joins (e.g., using BPMN). However, there are interesting alternative approaches. For example, case handling approaches are data-driven and allow users to deviate within limits, and declarative languages based on temporal logic (where everything is allowed unless explicitly forbidden). Recently, Rinus Plasmeijer proposed the iTask system (iTasks) based on the viewpoint that workflow modeling is in essence a particular kind of functional programming. This provides advantages in terms of expressiveness, extendibility, and implementation efficiency. On the occasion of his 61st birthday, we compare four workflow paradigms: procedural, case handling, declarative, and functional. For each paradigm we selected a characteristic workflow management system: YAWL (procedural), BPM|one (case handling), Declare (declarative), and iTasks (functional). Each of these systems aims to describe and support business processes in an elegant manner. However, there are significant differences. In this paper, we aim to identify and discuss these differences.
This paper proposes a workflow specification formalism, based upon reactive objects. This formalism is valid for several paradigms such as message passing or agent oriented programming, and consequently may describe distinct workftows, that is flows of electronic documents and/or human activities. A contribution is the introduction of generic modules for determining specific architectures, e.g. specific multicast protocols, or agent instance creation. A basic workflow, for object collecting, is introduced as illustrative example. Several architecture definitions are then proposed for this example: static, hierarchical and dynamic architectures.
2008
A collection of user interface design patterns for workflow information systems is presented. Each Workflow User Interface Pattern (WUIP) is characterized by properties expressed in the PLML markup language for expressing patterns and augmented by additional attributes and models attached to the pattern: the abstract user interface and the corresponding task model. These models are specified in a User Interface Description Language. All WUIPs are stored in a library and can be retrieved within a workflow editor that links each workflow pattern to its corresponding WUIP, thus giving rise to a user interface for each workflow pattern. The software then gathers these UIs and the ones corresponding to workflow tasks into a user interface flow, a new concept introduced for specifying the intertwining of interfaces used by workers and the workflow manager in a single workflow.
Lecture Notes in Computer Science, 1998
Work ow management systems provide functions for process modeling, implementation and automation. Many systems do not allow modeling organizational goals and relating these goals with the processes which enable them. The method OSSAD provides models and project management guidelines to this e ort. But this method is not su cient to fully support work ow management. In order to do so, we de ne Workey as an extension of OSSAD, to enable work ow speci cation, implementation and automation for the web.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.