Filters








11,224 Hits in 6.3 sec

Goal-oriented programming, or composition using events, or threads considered harmful

Robbert van Renesse
1998 Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications - EW 8  
I will illustrate this by means of an example that I will work out first using threads, then using goal-oriented programming.  ...  Below, I will propose a new programming technique that I call goal-oriented programming, which goes back to the roots of step-wise refinement of programs.  ...  Goals can include reading a directory or writing a file. The completion of a goal constitutes an event.  ... 
doi:10.1145/319195.319208 dblp:conf/sigopsE/Renesse98 fatcat:ebnxdyswlzd2lctrv77mqp3uva

Using graphics to support the teaching of fundamental object-oriented principles in CS1

Carl Alphonce, Phil Ventura
2003 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications - OOPSLA '03  
NGP allows students to create event-driven graphical programs using only inheritance and method overriding.  ...  The latter can be done by having students create graphical event-driven programs.  ...  This is what NGP does for us. It allows us to focus on using graphical event-driven programs to deepen our students' understanding of object-oriented concepts.  ... 
doi:10.1145/949344.949391 dblp:conf/oopsla/AlphonceV03a fatcat:jxld6w77kvchdkrhognrrwk5om

Beernet

Boris Mejías, Alfredo Cádiz, Peter Van Roy
2009 Proceedings of the 1st International Workshop on Distributed Objects for the 21st Century - DO21 '09  
In this paper we describe the most convenient object-oriented mechanism we have found to develop peer-to-peer applications effectively, namely by using active objects that communicate via asynchronous  ...  We give many code examples to show the simplicity and naturalness of our approach. thread of execution in a processor.  ...  Instead of using actors for composition, it uses event-driven components which communicate through channels, analogous to events in [7] .  ... 
doi:10.1145/1557876.1557878 fatcat:kvmcmpnkqbd75c3bybtluvy2ua

Safe Commits for Transactional Featherweight Java [chapter]

Thi Mai Thuong Tran, Martin Steffen
2010 Lecture Notes in Computer Science  
In the lock-based setting, using explicit locks in a non-lexical scope to protect critical regions might be the source of aliasing problems or misuse of locks.  ...  So it is useful to investigate different analysis methods to achieve safe concurrent programs.  ...  An analysis or a verification method is compositional for a programming language if the analysis or verification of a composite program is built on the analyses or verification of its constituent programs  ... 
doi:10.1007/978-3-642-16265-7_21 fatcat:juc6xoj4pbdqrokxzcr2zqr7ei

Synergies among Testing, Verification, and Repair for Concurrent Programs (Dagstuhl Seminar 16201)

Julian Dolby, Orna Grumberg, Peter Müller, Omer Tripp, Marc Herbstritt
2016 Dagstuhl Reports  
This report documents the program and the outcomes of Dagstuhl Seminar 16201 "Synergies among Testing, Verification, and Repair for Concurrent Programs".  ...  This seminar builds upon, and is inspired by, several past seminars on program testing, verification, repair and combinations thereof.  ...  We provide inference rules for guaranteeing these properties about future execution states without introducing explicit traces or temporal logics.  ... 
doi:10.4230/dagrep.6.5.56 dblp:journals/dagstuhl-reports/DolbyGMT16 fatcat:3ou6mdvytrfnfhjf542sbpn6lm

Efficient program execution indexing

Bin Xin, William N. Sumner, Xiangyu Zhang
2008 Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation - PLDI '08  
Therefore, execution indexing is essential for a wide variety of dynamic program analyses, for example, it can be used to organize program profiles; it can precisely identify the point in a re-execution  ...  that corresponds to a given point in an original execution and thus facilitate debugging or dynamic instrumentation.  ...  In the context of aspect-oriented programming [18, 3] and security [13] , event patterns are described by regular languages or automata to locate execution points where certain interesting states have  ... 
doi:10.1145/1375581.1375611 dblp:conf/pldi/XinSZ08 fatcat:733epfx6yvhj5jkp6glqo4m3i4

Efficient program execution indexing

Bin Xin, William N. Sumner, Xiangyu Zhang
2008 SIGPLAN notices  
Therefore, execution indexing is essential for a wide variety of dynamic program analyses, for example, it can be used to organize program profiles; it can precisely identify the point in a re-execution  ...  that corresponds to a given point in an original execution and thus facilitate debugging or dynamic instrumentation.  ...  In the context of aspect-oriented programming [18, 3] and security [13] , event patterns are described by regular languages or automata to locate execution points where certain interesting states have  ... 
doi:10.1145/1379022.1375611 fatcat:usivkicd4rdi5fllxh3bunqa4y

On coordination tools in the PicOS tuples system

Benny Shimony, Ioanis Nikolaidis, Pawel Gburzynski, Eleni Stroulia
2011 Proceeding of the 2nd workshop on Software engineering for sensor network applications - SESENA '11  
We demonstrate how our new idioms can be propitious for separating concerns in WSN programming using tuples.  ...  In this paper, we discuss the most recent coordination extension to the PicOS-tuples environment, inspired, to a degree, by B-Threads and FACTS.  ...  such a limitation would be harmful.  ... 
doi:10.1145/1988051.1988056 dblp:conf/icse/ShimonyNGS11 fatcat:odxbjytg4fgdtbs5mzoozuve4u

Threaded behavior protocols

Tomáš Poch, Ondřej Šerý, František Plášil, Jan Kofroň
2011 Formal Aspects of Computing  
The main asset of TBP formalism is that it links together the notion of threads as used in imperative object oriented languages and the notion of refinement.  ...  As a result, many concepts of the implementation languages are either very different or completely missing in the behavior modeling languages.  ...  Specifically, both the syntax and semantics are inspired by the imperative object-oriented programming languages the industrial developers are used to (Goal 1.a) .  ... 
doi:10.1007/s00165-011-0194-3 fatcat:4jybexj3jnb4zordj46nhwpiau

Runtime prevention of concurrency related type-state violations in multithreaded applications

Lu Zhang, Chao Wang
2014 Proceedings of the 2014 International Symposium on Software Testing and Analysis - ISSTA 2014  
We propose a new method for runtime prevention of type state violations in multithreaded applications due to erroneous thread interleavings.  ...  Furthermore, whenever the static program analysis is precise enough, our method guarantees to steer the program to a failurefree interleaving as long as such interleaving exists.  ...  Since our focus is on enforcing API usage rules, we consider a finite state abstraction of M , denoted M . In this abstraction, we do not consider the thread-local events.  ... 
doi:10.1145/2610384.2610405 dblp:conf/issta/ZhangW14 fatcat:iubq6655jvczxm2x5w3rcyz64e

Parallel Task for Parallelising Object-Oriented Desktop Applications

Nasser Giacaman, Oliver Sinnen
2013 International journal of parallel programming  
. • The original program code has become largely tangled with parallelisation code.  ...  The performance is compared to traditional Java parallelisation approaches using a variety of different workloads. • Notice the explicit use of invokeLater().  ...  This impact is especially harmful when it is an event handling thread blocking (such as the EDT).  ... 
doi:10.1007/s10766-013-0238-9 fatcat:xuo2vhwz6zhbnjb2dwy3azny5i

The Design of Application-Tailorable Operating System Product Lines [chapter]

Daniel Lohmann, Wolfgang Schröder-Preikschat, Olaf Spinczyk
2006 Lecture Notes in Computer Science  
The presented approach is based on feature modeling, C++ class composition and overcomes the above mentioned problems by means of aspect-oriented programming (AOP).  ...  Examples for family-based, configurable operating systems in the domain are e.g. eCos by RedHat Inc. [1], the OSEK standard which is widely used in automotive industry [2], or our PURE operating system  ...  However, if function binding is selected, the code to be executed by a thread may be subject to (1) implicit binding using a default function, (2) composite binding using a template function, or (3) late  ... 
doi:10.1007/11741060_6 fatcat:gpwh6uh56rajjia24ic73lm3zi

A Semantics for Disciplined Concurrency in COP

Matteo Busi, Pierpaolo Degano, Letterio Galletta
2016 Italian Conference on Theoretical Computer Science  
We formalise its operational semantics and we propose a run time verification mechanism that enforces a notion of non-interference among concurrent threads.  ...  More precisely, this mechanism prevents an application from modifying the context so as to dispose some resources or to contradict assumptions upon which other applications rely.  ...  Recently the last two authors proposed ML CoDa a two-component Context-oriented Programming (COP) language [10] .  ... 
dblp:conf/ictcs/BusiDG16 fatcat:73aq2wxr6zblpps7hc5soq7dgi

Non-intrusive Repair of Reactive Programs

David Harel, Guy Katz, Assaf Marron, Gera Weiss
2012 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems  
We show how, under certain conditions, programs written in the behavioral programming approach can be modified (e.g., as result of new requirements or discovered bugs) using automatically-generated code  ...  At the core of our approach is the ability of a thread of behavior to prevent the triggering of events from other threads.  ...  Each b-thread repeatedly requests and blocks events representing possible increases or decreases of rotor RPM, which could contribute to its own goal.  ... 
doi:10.1109/iceccs20050.2012.6299199 fatcat:5ykq62bs4fhenbsbtocttcrpnm

Finding incorrect compositions of atomicity

Peng Liu, Julian Dolby, Charles Zhang
2013 Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2013  
We define a new inference technique which identifies intended atomic compositions using two key symptoms based on program dependence.  ...  In object-oriented code, atomicity is ideally isolated in a library which encapsulates shared program state and provides atomic APIs for access.  ...  Given an atomic composition, our goal is to derive a buggy run (or trace, we may use the terms interchangeably.) from the observed normal run.  ... 
doi:10.1145/2491411.2491435 dblp:conf/sigsoft/0010DZ13 fatcat:smod3ymbybhcda3ocni2v4almq
« Previous Showing results 1 — 15 out of 11,224 results