The dramatically increasing population of disabled people and adults who are 65 years old and over will increase financial burdens for assisted living care in the United States and more generally on a global basis. To mitigate these costs, increasing numbers of disabled and elderly people (our clientele) will live alone at home. This paper suggests that the safety of such disabled and elderly people might be increased by using precise process definitions of Activities of Daily Living (ADLs) as the basis for guiding and monitoring their activities. We propose to model ADLs using Little-JIL, a language that supports ADL definitions that are distinguished from other ADL definitions in the literature by their use of such features as concurrency, exception handling, reaction control, and channel communication, all of which are important for monitoring ADLs at appropriately low levels of detail. This paper uses making tea, making a sandwich and answering a phone, as example ADLs for process definition. It suggests how a client can be monitored in real-time to detect unsafe ADL performance deviations that may lead to hazards. It also suggests how monitoring histories can be used for automated assessments that can provide care providers/specialists with key information about trends.
A process modeling language that is easy to learn and use while grounded in rigorous semantics to facilitate execution and simulation has always been a big challenge for researchers. In this paper, we describe Little-JIL, a visual process modeling language and its runtime-infrastructure, Juliette, that is capable of driving a process with the help of participating human or computing agents. We then introduce JSim, a discrete-event simulation environment with flexible artifact management and intricate resource management capability built on top of the Little-JIL and Juliette framework. The factored architecture and rich modeling mechanism for both the process description as well as the resource specification has allowed us to simulate some dynamic and complex real-life systems in details.
With the availability of powerful computational and communication systems, scientists now readily access large, complicated derived datasets and build on those results to produce, through further processing, yet other derived datasets of interest. The scientific processes used to create such datasets must be clearly documented so that scientists can evaluate their soundness, reproduce the results, and build upon them in responsible and appropriate ways. Here, we present the concept of an analytic web, which defines the scientific processes employed and details the exact application of those processes in creating derived datasets. The work described here is similar to work often referred to as ¿scientific workflow,¿ but emphasizes the need for a semantically rich, rigorously defined process definition language. We illustrate the information that comprises an analytic web for a scientific process that measures and analyzes the flux of water through a forested watershed. This is a complex and demanding scientific process that illustrates the benefits of using a semantically rich, executable language for defining processes and for supporting automatic creation of process provenance metadata.
This paper demonstrates how a precise definition of a software development process can be used to determine whether the process definition satisfies certain of its requirements. The paper presents a definition of a Scrum process written in the Little-JIL process definition language. The definition's details facilitate understanding of this specific Scrum process (while also suggesting the possibility of many variants of the process). The paper also shows how these process details can support the use of analyzers to draw inferences that can then be compared to requirements specifications. Specifically the paper shows how finite state verification can be used to demonstrate that the process protects the team from requirements changes during a sprint, and how analysis of a fault tree derived from the Little-JIL Scrum definition can demonstrate the presence of a single point of failure in the process, suggesting that this particular Scrum process may fail to meet certain process robustness requirements. A new Scrum process variant is then presented and shown to be more robust in that it lacks the single of point failure.
Process modeling allows for analysis and improvement of processes that coordinate multiple people and tools working together to carry out a task. Process modeling typically focuses on the normative process, that is, how the collaboration transpires when everything goes as desired. Unfortunately, real-world processes rarely proceed that smoothly. A more complete analysis of a process requires that the process model also include details about what to do when exceptional situations arise. We have found that, in many cases, there are abstract patterns that capture the relationship between exception handling tasks and the normative process. Just as object-oriented design patterns facilitate the development, documentation, and maintenance of object-oriented programs, we believe that process patterns can facilitate the development, documentation, and maintenance of process models. In this paper, we focus on the exception handling patterns that we have observed over many years of process modeling. We describe these patterns using three process modeling notations: UML 2.0 Activity Diagrams, BPMN, and Little-JIL. We present both the abstract structure of the pattern as well as examples of the pattern in use. We also provide some preliminary statistical survey data to support the claim that these patterns are found commonly in actual use and discuss the relative merits of the three notations with respect to their ability to represent these patterns.
This paper suggests an architecture for supporting discrete event simulations that is based upon using executable process definitions and separate components for specifying resources. The paper describes the architecture and indicates how it might be used to suggest efficiency improvements for hospital emergency departments (EDs). Preliminary results suggest that the proposed architecture provides considerable ease of use and flexibility for specifying a wider range of simulation problems, thus creating the possibility of carrying out a wide range of comparisons of different approaches to ED improvement. Some early comparisons suggest that the simulations are likely to be of value to the medical community and that the simulation architecture offers useful flexibility.
This paper examines the question of how to structure the representation of a process in order to assure that the representation is effective in supporting such diverse activities as process understanding, communication among process participants, and process execution. The paper uses the example of a negotiation process to demonstrate that one process structure (which we refer to as the narrative form) seems to be quite effective in supporting understanding and communication, but then indicates that this structure seems problematic in supporting process execution. The paper indicates that a different structure (which we refer to as the role-oriented form) seems much more appropriate and effective in supporting execution, but may be lacking at supporting communication. In addition to serving different purposes, the two structures seem to represent different underlying models–a static process model, and a similar, but more complex, execution model. The properties of these two complementary structures are then analyzed and evaluated. The paper then uses these observations to raise questions about the underlying needs for effective process representation, suggesting in particular that a single process representation may not be a suitable basis for supporting the range of needs that process representations are expected to address.
It is usual for work completed at one point in a software development process to be revisited, or reworked, at a later point. Such rework is informally understood, but if we hope to support reasoning about, and partial automation of, software development processes, rework be more formally understood. In our experience in designing formalized processes in software development and other domains, we have noticed a recurring process pattern that can be used to model rework quite successfully. This paper presents that pattern, which models rework as procedure invocation in a context that is carefully constructed and managed. We present some scenarios drawn from software engineering in which rework occurs. The paper presents rigorously defined models of these scenarios, and demonstrates the applicability of the pattern in constructing these models.
This paper describes our experiences in exploring the applicability of software engineering approaches to scientific data management problems. Specifically, this paper describes how process definition languages can be used to expedite production of scientific datasets as well as to generate documentation of their provenance. Our approach uses a process definition language that incorporates powerful semantics to encode scientific processes in the form of a Process Definition Graph (PDG). The paper describes how execution of the PDG-defined process can generate Dataset Derivation Graphs (DDGs), metadata that document how the scientific process developed each of its product datasets. The paper uses an example to show that scientific processes may be complex and to illustrate why some of the more powerful semantic features of the process definition language are useful in supporting clarity and conciseness in representing such processes. This work is similar in goals to work generally referred to as Scientific Workflow. The paper demonstrates the contribution that software engineering can make to this domain.
Using exception handling patterns in process models can raise the abstraction level of the models, facilitating both their writing and understanding. In this paper, we identify several useful, general-purpose exception handling patterns and demonstrate their applicability in business process and software development models.
SoftPM is a toolkit that supports a process-based approach to software project management. It relies upon a software process modeling method based upon the idea of an Organization-Entity to define standard processes and model project processes. The Process-Agent is the core of this modeling method and is a well-defined unit whose role is to encapsulate an Organization-Entity's knowledge, skill etc. The Process-Agent's infrastructure comprises descriptive knowledge, process knowledge and an experience library. The process knowledge is represented by process steps, whose execution determines the behaviors of the Process-Agent. This causes Process-Agent knowledge to be precisely described and well organized. In this paper, Little-JIL, a well-known process modeling language, is used to define a Process-Agent's process knowledge. Benefits for process element knowledge representation arising from Little-JIL's simplicity, semantic richness, expressiveness, formal and precise yet graphical syntax etc., are described. The article also demonstrates how this knowledge can be useful in supporting project planning activities, such as time estimation. Copyright © 2007 John Wiley & Sons, Ltd.
Advances in sensor network technology promise a paradigm shift in environmental research. The ability to conduct simultaneous measurements over broad areas at high sampling rates and to process such measurements in real time will facilitate environmental modeling and forecasting. But significant challenges remain for analyzing, documenting, and managing streaming data. Various strategies can enhance the quality of real-time data and metadata. The sensor network can be designed to minimize missing or questionable data through use of duplicate sensors or complimentary measurements (so that critical values can be both measured and modeled). The data processing system can be designed to support real-time quality control, modeling, and gap filling, as well as critical post-processing tasks such as correction for sensor drift. More sophisticated methods are required to ensure that the resulting datasets are reproducible. We are developing cyberinfrastructure tools that support precise description and execution of the “scientific process” used to create a dataset, based on a formal process definition called an “analytic web.” This approach guarantees dataset reproducibility by providing (1) a complete audit trail of all artifacts used or created in the process, and (2) detailed process metadata that precisely describes all sub-processes. It also supports rigorous testing for logical and statistical errors and propagation of measurement errors. Application of these tools is illustrated in the design of a sensor network to provide real-time integration of meteorological, hydrological, eddy flux, and tree physiological measurements to study the …
At the dawn of the 21st century, environmental scientists are collecting more data more rapidly than at any time in the past. Nowhere is this change more evident than in the advent of sensor networks able to collect and process (in real time) simultaneous measurements over broad areas and at high sampling rates. At the same time there has been great progress in the development of standards, methods, and tools for data analysis and synthesis, including a new standard for descriptive metadata for ecological datasets (Ecological Metadata Language) and new workflow tools that help scientists to assemble datasets and to diagram, record, and execute analyses. However these developments (important as they are) are not yet sufficient to guarantee the reliability of datasets created by a scientific process - the complex activity that scientists carry out in order to create a dataset. We define a dataset to be reliable when the scientific process used to create it is (1) reproducible and (2) analyzable for potential defects. To address this problem we propose the use of an analytic web, a formal representation of a scientific process that consists of three coordinated graphs (a data-flow graph, a dataset-derivation graph, and a process-derivation graph) originally developed for use in software engineering. An analytic web meets the two key requirements for ensuring dataset reliability: (1) a complete audit trail of all artifacts (e.g., datasets, code, models) used or created in the execution of the scientific process that created the dataset, and (2) detailed process metadata that precisely describe all sub-processes of the scientific process. Construction of such metadata requires the semantic features of a high-level process definition language.In this paper we illustrate the use of an analytic web to represent the scientific process of constructing estimates of ecosystem water flux from data gathered by a complex, real-time multi-sensor network. We use Little-JIL, a high-level process definition language, to precisely and accurately capture the analytical processes involved. We believe that incorporation of this approach into existing tools and evolving metadata specifications (such as EML) will yield significant benefits to science. These benefits include: complete and accurate representations of scientific processes; support for rigorous evaluation of such processes for logical and statistical errors and for propagation of measurement error; and assurance of dataset reliability for developing sound models and forecasts of environmental change. (c) 2007 Elsevier B.V. All rights reserved.
This poster is showing that process definitions can be effective in specifying and guiding Online Dispute Resolution (ODR) to facilitate effective interactions and mediation among disputants. Simply specifying these interactions is not sufficient to assure that the mediator and the participants are effectively engaged in performing their roles in such processes. Our project is developing a system to translate process definition specifications into actions that are reflected in the screens that participants and mediators view while participating in these processes. Thus we are demonstrating that, with the help of the system we are building, the process definition can control changes to the user interfaces of the participants involved in the process itself. This should enable the process to keep all users continually informed about the state of the process in which they are participating including the actions that the user needs to perform. This should improve the ability of the process to be an effective aid to ODR mediation.
A wide variety of data sets produced by individual investigators are now synthesized to address ecological questions that span a range of spatial and temporal scales. It is important to facilitate such syntheses so that "consumers" of data sets can be confident that both input data sets and synthetic products are reliable. Necessary documentation to ensure the reliability and validation of data sets includes both familiar descriptive metadata and formal documentation of the scientific processes used (i.e., process metadata) to produce usable data sets from collections of raw data. Such documentation is complex and difficult to construct, so it is important to help "producers" create reliable data sets and to facilitate their creation of required metadata. We describe a formal representation, an "analytic web," that aids both producers and consumers of data sets by providing complete and precise definitions of scientific processes used to process raw and derived data sets. The formalisms used to define analytic webs are adaptations of those used in software engineering, and they provide a novel and effective support system for both the synthesis and the validation of ecological data sets. We illustrate the utility of an analytic web as an aid to producing synthetic data sets through a worked example: the synthesis of long-term measurements of whole-ecosystem carbon exchange. Analytic webs are also useful validation aids for consumers because they support the concurrent construction of a complete, Internet-accessible audit trail of the analytic processes used in the synthesis of the data sets. Finally we describe our early efforts to evaluate these ideas through the use of a prototype software tool, SciWalker. We indicate how this tool has been used to create analytic webs tailored to specific data-set synthesis and validation activities, and suggest extensions to it that will support additional forms of validation. The process metadata created by SciWalker is readily adapted for inclusion in Ecological Metadata Language (EML) files.
This demonstration shows a prototype tool that projects an impression of how execution of a formally defined process will facilitate dispute resolution. Tool flexibility supports projecting the look and feel of a range of different processes, facilitating user evaluation of alternatives.
This paper introduces the concept of an analytic web, a synthesis of three complementary views of a scientific process that is intended to facilitate the conduct of science. These three views support the clear, complete, and precise process documentation needed to enable the effective coordination of the activities of geographically dispersed scientists. An analytic web also supports automation of various scientific activities, education of young scientists, and reproducibility of scientific results. Of particular significance, an analytic web is intended to forestall the generation of scientific data that are erroneous or suspect, by using process definitions to prevent incorrect combinations of scientific results. The paper also describes experiences with a tool, SciWalker, designed to evaluate the efficacy of this approach.
Process programming languages have not been readily adopted by practitioners. We are addressing this problem through the development of Little-JIL, a language that focuses on the coordination aspects of processes and provides a visual representation, yet one that is rigorous enough for execution and formal reasoning. We have used Little-JIL to program several software engineering processes, knowledge discovery processes, and are working on processes to coordinate robot teams. We believe the simplicity gained by focusing on coordination and visualization should make Little-JIL both readily adoptable and widely useful.
Software is increasingly expected to run in a variety of environments. The environments themselves are often dynamically changing when using mobile computers or embedded systems, for example. Network bandwidth, available power, or other physical conditions may change, necessitating the use of alternative algorithms within the software, and changing resource mixes to support the software. We present Containment Units as a software architecture useful for recognizing environmental changes and dynamically reconfiguring software and resource allocations to adapt to those changes. We present examples of Containment Units used within robotics along with the results of actual executions, and the application of static analysis to obtain assurances that those Containment Units can be expected to demonstrate the robustness for which they were designed.
Leon Osterweil合作论文数University of Massachusetts;Department of Computer Science23
Edward M. Riseman合作论文数Manning College of Information & Computer Sciences, University of Massachusetts Amherst1