Distributed aspects and parallel architectures are increasingly gaining importance today, but developing high-quality concurrent software is still more of an art than an engineering process and requires a lot of experience. The reasons for this are presented within the first part of this paper along with common strategies for addressing them. In the second part, we propose using actor models in conjunction with well-established and well-known object-oriented concepts. Putting together these two concepts – object-orientation and actors – remedies several shortcomings of classical mutual-exclusion techniques and supports the development of concurrent and distributed software in a comfortable and scalable way. In the third part of the paper, we give an overview of our current research activities, where we are developing tools to express and orchestrate concurrent test cases, in particular for testing actors and their behavior. Overall, the combination of consistent constructive and analytical actions, as proposed in this paper, relieves developers of the burden of dealing with concurrency explicitly and provides them with a basis for building high-quality concurrent software.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Sutter H (2005) The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software. In: Dr. Dobb’s Journal 30(3), March 2005.
Savage S, Burrows M, Nelson G, Sobalvarro P, Anderson T (1997) Eraser: A Dynamic Data race Detector for Multithreaded Programs. In: ACM Transactions on Computer Systems (TOCS) 15(4), 391-411.
Edelstein O, Farchi E, Nir Y, Ratsaby G, Ur S (2002) Multithreaded Java Program Test Generation. In: IBM Systems Journal 41(1), 111-125.
Agha GA (1985) Actors: A Model of Concurrent Computation in Distributed Systems. Technical Report 844, MIT Artificial Intelligence Laboratory.
Hewitt C, Bishop P, Steiger R (1973) A Universal Modular ACTOR Formalism for Artificial Intelligence. In: Proceedings of the International Joint Conferences on Artificial Intelligence 1973,235-245.
Yonezawa A 1990. ABCL: An Object-Oriented Concurrent System - Theory, Language, Programming, Implementation and Application. Computer System Series. MIT Press.
Armstrong J (2007) Programming Erlang - Software for a Concurrent World. Raleigh, North Carolina.
Haller P, Odersky M (2006) Event-Based Programming without Inversion of Control. LNCS, doi: 10.1007/11860990 2
Pugh W, Ayewah W (2007) Unit Testing Concurrent Software. In: Proceedings of the twentysecond IEEE/ACM International Conference on Automated Software Engineering, 513-516.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer Science + Business Media B.V
About this paper
Cite this paper
Burmeister, R. (2008). Quality Assurance for Concurrent Software – An Actor-Based Approach. In: Mahr, B., Huanye, S. (eds) Autonomous Systems – Self-Organization, Management, and Control. Springer, Dordrecht. https://doi.org/10.1007/978-1-4020-8889-6_13
Download citation
DOI: https://doi.org/10.1007/978-1-4020-8889-6_13
Publisher Name: Springer, Dordrecht
Print ISBN: 978-1-4020-8888-9
Online ISBN: 978-1-4020-8889-6
eBook Packages: EngineeringEngineering (R0)