{"title":"Back to the future: SIMULA style concurrent objects","authors":"O. Madsen","doi":"10.1145/2541329.2541347","DOIUrl":null,"url":null,"abstract":"In this talk, we will describe the approach to concurrency in SIMULA 67, the very first object-oriented language and the further development of this in the Beta language. Active objects in the form of coroutines are an integral part of the design of SIMULA and Beta and provide a strong basis for defining high-level concurrency abstractions including schedulers for concurrent objects. In this sense, SIMULA was ahead of most concurrent object-oriented languages.\n Like Java, SIMULA and Beta have a serious weakness with respect to concurrency since it is not possible to check that concurrent processes access disjoint sets of variables only and do not interfere with each other in time-dependent ways.\n We present work on development of language mechanisms that make it possible to retain the flexibility of defining a wide class of safe high-level concurrency abstractions from low-level primitives.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"152 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Workshop on Programming based on Actors, Agents, and Decentralized Control","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2541329.2541347","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
In this talk, we will describe the approach to concurrency in SIMULA 67, the very first object-oriented language and the further development of this in the Beta language. Active objects in the form of coroutines are an integral part of the design of SIMULA and Beta and provide a strong basis for defining high-level concurrency abstractions including schedulers for concurrent objects. In this sense, SIMULA was ahead of most concurrent object-oriented languages.
Like Java, SIMULA and Beta have a serious weakness with respect to concurrency since it is not possible to check that concurrent processes access disjoint sets of variables only and do not interfere with each other in time-dependent ways.
We present work on development of language mechanisms that make it possible to retain the flexibility of defining a wide class of safe high-level concurrency abstractions from low-level primitives.