In this paper, we propose the use of Versioned Boxes, which keep a history of values, as the basis for language-level memory transactions. Using Versioned Boxes to hold all the shared mutable state of a concurrent program, we can have lock-free concurrent programs which are much easier to develop and understand. Unlike previous work on software transactional memory, in our proposal read-only transactions never conflict with any other concurrent transaction. This may improve significantly the concurrency on applications which have longer transactions and a high read/write ratio. We discuss the use of speculative read-only transactions in such cases as a means to improve performance. Furthermore, we discuss how we can reduce transaction conflicts by developing concurrency-friendly objects-objects that are aware of and that cooperate with transactions. We propose two abstractions for this purpose: the per-transaction boxes and the restartable transactions. Finally, we discuss an extension to the versioned boxes model that generalizes the previous two abstractions.
International audienceBusiness Process Management is called agile when it is able to react quickly and adequately to internal and external events. Agile Business Process Management requires putting the life cycle of business processes on a new paradigm. It is advocated in this paper that social software allows us to satisfy the key requirements for enabling agile BPM by applying the four features of social software: weak ties, social production, egalitarianism and mutual service provision. Organizational and semantic integration and responsiveness (of the business processes engineering, execution and management activities) have been identified as the main requirements for implementing an agile BPM life cycle. Social software may be used in the BPM life cycle in several manners and using numerous approaches. This paper presents seven among them and then analyzes the 'support' effects between those approaches and the underlying social software features, and the three requirements for Agile BPM
Today, most developers work in parallel inside private workspaces to ensure stability during programming, but this provokes isolation from what co-workers are doing. Isolation may result in conflicts, which must be detected as early as possible to avoid bugs and expensive rework. Currently, frequent integration and awareness are used for early conflict detection. Frequent integration detects actual conflicts using automated builds, although only when merging checked in changes. Awareness informs about ongoing changes in private workspaces, however developers must find actual conflicts by themselves.This paper proposes the novel concept of real-time integration. This automates the detection of actual conflicts emerging during programming, involving checked in and ongoing changes, and affecting two or more developers. Cooperative resolution of conflicts is explicitly supported by sharing fine-grained changes among private workspaces. Software versions will also improve quality as integration builds are run before checking in.
The FénixEDU system uses a novel infrastructure for web applications based on the Versioned Software Transactional Memory (VSTM) abstraction. The FénixEDU system has been deployed and is currently in operation in different facilities, including the Instituto Superior Técnico where it serves the entire academic community, processing between 1,000,000 and 4,500,000 transactions per day. This paper describes the ongoing work on the infrastructure support, in order to increase its scalability and fault-tolerance. For that purpose we are developing a distributed version of the VSTM, such that multiple application servers can concurrently serve different request and still coordinate in an efficient manner to provide strong consistency guarantees to the applications.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.