34 research outputs found
Open predicate path expressions for distributed environments: notation, implementation, and extensions
This dissertation introduces open predicate path expressions --a non-procedural, very-high-level language notation for the synchronization of concurrent accesses to shared data in distributed computer systems. The target environment is one in which resource modules (totally encapsulated instances of abstract data types) are the basic building blocks in a network of conventional, von Neumann computers or of functional, highly parallel machines. Each resource module will contain two independent submodules: a synchronization submodule which coordinates requests for access to the resource\u27s data and an access-mechanism submodule which localizes the code for operations on that data;Open predicate path expressions are proposed as a specification language for the synchronization submodule and represent a blend of two existing path notations: open path expressions and predicate path expressions. Motivations for the adoption of this new notation are presented, and an implementation semantics for the notation is presented in the form of dataflow graphs;An algorithm is presented which will automatically synthesize an open predicate path expression into a dataflow graph, which is then implemented by a network of communicating submodules written in either a sequential or an applicative language. Finally, an extended notation for the synchronization submodule is proposed, the purpose of which is to provide greater expressive power for certain synchronization problems which are difficult to specify using path expressions alone
Realtime system control by means of path expressions
A high-level, algebraic programming method for the online control of actions in a real-time, parallel processing environment is described. The method is based on the interaction of path expressions. On the basis of a set of path expressions, evocation of actions can be controlled in real-time in a fully automated way. It is shown how intelligent system behavior can be obtained by a combination of rules given as path expressions. Each of these rules specifies some partial behavior to which the system must comply. The control system operates as a rule-based action planning system that works online in an asynchronous environment. The development of the prototype system PBOS (Path Based Operating System) has demonstrated that path expression specification naturally integrates with a real-time, multitasking control syste
A Case Study in Coordination Programming: Performance Evaluation of S-Net vs Intel's Concurrent Collections
We present a programming methodology and runtime performance case study
comparing the declarative data flow coordination language S-Net with Intel's
Concurrent Collections (CnC). As a coordination language S-Net achieves a
near-complete separation of concerns between sequential software components
implemented in a separate algorithmic language and their parallel orchestration
in an asynchronous data flow streaming network. We investigate the merits of
S-Net and CnC with the help of a relevant and non-trivial linear algebra
problem: tiled Cholesky decomposition. We describe two alternative S-Net
implementations of tiled Cholesky factorization and compare them with two CnC
implementations, one with explicit performance tuning and one without, that
have previously been used to illustrate Intel CnC. Our experiments on a 48-core
machine demonstrate that S-Net manages to outperform CnC on this problem.Comment: 9 pages, 8 figures, 1 table, accepted for PLC 2014 worksho
A methodology for programming with concurrency: An informal presentation
AbstractIn this methodology, programming problems which can be specified by an input/output assertion pair are solved in two steps: 1.(1) Refinement of a correct program that can be implemented sequentially.2.(2) Declaration of program properties, so-called semantic relations, that allow relaxations in the sequencing of the refinement's operations (e.g., concurrency).Formal properties of refinements comprise semantics (input/output characteristics) and (sequential) execution time. Declarations of semantic relations preserve the semantics but may improve the execution time of a refinement. The consequences are: 1.(a) The concurrency in a program is deduced from its formal semantics. Semantic correctness is not based on concurrency but precedes it.2.(b) Concurrency is a property not of programs but of executions. Programs do not contain concurrent commands, only suggestions (declarations) of concurrency.3.(c) The declaration of too much concurrency is impossible. Programs do not contain primitives for synchronization or mutual exclusion.4.(d) Proofs of parallel correctness are stepwise without auxiliary variables.5.(e) Freedom from deadlock and starvation is implicit without recourse to an authority outside the program, e.g., a fair scheduler
Recommended from our members
Ensuring critical event sequences in high consequence computer based systems as inspired by path expressions
The goal of our work is to provide a high level of confidence that critical software driven event sequences are maintained in the face of hardware failures, malevolent attacks and harsh or unstable operating environments. This will be accomplished by providing dynamic fault management measures directly to the software developer and to their varied development environments. The methodology employed here is inspired by previous work in path expressions. This paper discusses the perceived problems, a brief overview of path expressions, the proposed methods, and a discussion of the differences between the proposed methods and traditional path expression usage and implementation
Workflow patterns as web service compositions: the case of PEWS
In the past years, Web Services (WS) have become the standard for exposing services as application programming interfaces to be consumed from anywhere in the world. Since many operations require the collaboration between two or more WS, the need to have languages to express Web Service Compositions has emerged. Web Service Composition presents a problem very similar to Business Process Management (BPM), both disciplines aim to express complex combinations of operations to achieve broader goals. In BPM these combinations are generally known as Workflows. The current industry standard for representing Web Service Workflows is BPEL, a language developed by Microsoft, IBM and others. PEWS is another language proposed to describe Web Service Compositions. Simplicity and neatness of descriptions are two relevant features of this language. This work proposes some extensions to PEWS in order to support the most common workflow patterns. The extended version of PEWS is able to fully support 36 out of the 43 Workflow Control Patterns as defined in the literature. This new version creates the foundation for further studies on the language, especially future extensions to capture other patterns and features (such as data manipulation, error handling, etc.) as well as the addition of semantic information to compositions.Eje: Workshop Ingeniería de software (WIS)Red de Universidades con Carreras en Informática (RedUNCI
Specification and control of routing and synchronization requirements of office forms using Petri nets
Call number: LD2668 .R4 CMSC 1987 M54Master of ScienceComputing and Information Science
Um sistema de tempo de execução para a linguagem PEWS /
Orientador : Martin Alejandro MusicanteInclui apêndicesDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciencias Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 2006Inclui bibliografi
Reusability Challenges of Scientific Workflows: A Case Study for Galaxy
Scientific workflow has become essential in software engineering because it
provides a structured approach to designing, executing, and analyzing
scientific experiments. Software developers and researchers have developed
hundreds of scientific workflow management systems so scientists in various
domains can benefit from them by automating repetitive tasks, enhancing
collaboration, and ensuring the reproducibility of their results. However, even
for expert users, workflow creation is a complex task due to the dramatic
growth of tools and data heterogeneity. Thus, scientists attempt to reuse
existing workflows shared in workflow repositories. Unfortunately, several
challenges prevent scientists from reusing those workflows. In this study, we
thus first attempted to identify those reusability challenges. We also offered
an action list and evidence-based guidelines to promote the reusability of
scientific workflows. Our intensive manual investigation examined the
reusability of existing workflows and exposed several challenges. The
challenges preventing reusability include tool upgrading, tool support
unavailability, design flaws, incomplete workflows, failure to load a workflow,
etc. Such challenges and our action list offered guidelines to future workflow
composers to create better workflows with enhanced reusability. In the future,
we plan to develop a recommender system using reusable workflows that can
assist scientists in creating effective and error-free workflows.Comment: Accepted in APSEC 202