Abstraction and specification in program development
Abstraction and specification in program development
Report on the Larch shared language
Science of Computer Programming
A Larch shared language handbook
Science of Computer Programming
Firefly: a multiprocessor workstation
ASPLOS II Proceedings of the second international conference on Architectual support for programming languages and operating systems
Experience Using Multiprocessor Systems—A Status Report
ACM Computing Surveys (CSUR)
Specifying Concurrent Program Modules
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experience with processes and monitors in Mesa
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
The structure of the “THE”-multiprogramming system
Communications of the ACM
Synchronization with eventcounts and sequencers (Extended Abstract)
SOSP '77 Proceedings of the sixth ACM symposium on Operating systems principles
Hints for Computer System Design
IEEE Software
The Larch Family of Specification Languages
IEEE Software
Extending Modula-2 to Build Large, Integrated Systems
IEEE Software
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Using Larch to Specify Avalon/C++ Objects
IEEE Transactions on Software Engineering
Problems with Pthreads and Ada
IRTAW '90 Proceedings of the fourth international workshop on Real-time Ada issues
Scheduler activations: effective kernel support for the user-level management of parallelism
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Debuggable concurrency extensions for standard ML
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
Scheduler activations: effective kernel support for the user-level management of parallelism
ACM Transactions on Computer Systems (TOCS)
Thread scheduling for cache locality
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
Lisp and Symbolic Computation
Implementing Linda for distributed and parallel processing
ICS '89 Proceedings of the 3rd international conference on Supercomputing
A Modular Checker for Multithreaded Programs
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
AC: composable asynchronous IO for native languages
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
Formal specifications of operating system interfaces can be a useful part of their documentation. We illustrate this by documenting the Threads synchronization primitives of the Taos operating system. We start with an informal description, present a way to formally specify interfaces in concurrent systems, give a formal specification of the synchronization primitives, briefly discuss the implementation, and conclude with a discussion of what we have learned from using the specification for more than a year.