TL;DR: A real-time reference architecture is introduced in which components implementing functions of realtime system elements or blocks such as transducers, controllers, and actuators are designed.
Abstract: Autonomic computing aims to embed automation in IT management software such that it can adapt to changes in the configuration, provisioning, protection, and resource utilization variations of the IT infrastructure at run time. It is, therefore, almost natural to consider this control software framework as being designed with control principles in mind. One of the research trends considers autonomic computing as a control system that resolves constraints related to the optimal usage of resources based on external requests made by users or processes in a reactive way. In this paper, a real-time reference architecture is introduced in which components implementing functions of real-time system elements or blocks such as transducers, controllers, and actuators are designed. The architecture of the autonomic computing software also contains components that implement functionalities specific to real-time systems. The transducers, controllers, and actuators are thus connected via real-time pattern components such as concurrency, priority, and reliability patterns.
TL;DR: This paper presents a deterministic STM system in which (1) every invocation of a transaction is executed exactly once and (2) the notion of commit/abort of aTransaction remains unknown to the programmer.
TL;DR: This paper presents a programming language for parallel computing based on code annotations that has similar goals and philosophy as OpenMP but it is more tightly coupled to the object oriented paradigm.
Abstract: This paper presents a programming language for parallel computing based on code annotations. It has similar goals and philosophy as OpenMP but it is more tightly coupled to the object oriented paradigm. We include annotations for most common concurrency patterns and mechanisms, namely, one-way, futures, barriers, reads/writers and thread-local. Our current prototype is implemented using Java 5 annotations and AspectJ and provides a feasible and efficient alternative to the Java thread model
TL;DR: This paper defines the concept of implicitly synchronized abstract data types and shows how the implicitly parallel language Jade supports their development and use.
Abstract: Programmers use abstract data types to control the complexity of developing serial programs. Abstract data types promote modular programming by encapsulating state and operations on that state. In parallel environments abstract data types must also encapsulate the concurrency generation and synchronization code required for their correct use and present interfaces that require no information about the global concurrency pattern. An abstract data type is said to be implicitly synchronized if it meets these requirements. Implicitly synchronized abstract data types promote modular parallel software and help programmers manage the complexity of developing parallel programs. This paper defines the concept of implicitly synchronized abstract data types and shows how the implicitly parallel language Jade supports their development and use.
TL;DR: The tool Quasar analyses automatically the concurrent part of programs and produces data reporting its analysis process, and considers two possible uses of the collected data for indeterminism estimation and for concurrent software quality.
Abstract: Aiming at developing reliable concurrent software, the engineering practice uses appropriate metrics. Our tool Quasar analyses automatically the concurrent part of programs and produces data reporting its analysis process. We attempt to use the data as metrics for concurrent programming. The first aim of Quasar is the validation of concurrent code; in addition, the reported data may be relevant to mark the quality of code, to evaluate different concurrency semantics, to compare the execution indeterminism of different implementations of a concurrency pattern and to estimate the scalability of a solution. As a case study we analyse with Quasar several implementations of a distributed symmetric non-deterministic rendezvous algorithm. We consider two possible uses of the collected data for indeterminism estimation and for concurrent software quality.