Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5930))

Abstract

Services are autonomous, self-describing, technology-neutral software units that can be described, published, discovered, and composed into software applications at run-time. Designing software services and composing services in order to form applications or composite services requires abstractions beyond those found in typical object-oriented programming languages. In this paper, we explore a number of the abstractions used in service-oriented computing and related Internet- and web-based programming models in the context of Creol, an executable concurrent object-oriented modeling language with active objects and futures; i.e., features capable of expressing and dealing with asynchronous actions. By adding various abstractions to the modeling language, we demonstrate how a concurrent object language may naturally address many of the requirements of service-oriented computing. The study of language extensions in the restricted setting of a small, high-level modeling language, such as Creol, suggests a cheap way of developing new abstractions for emerging application domains. In this paper, we explore abstractions in the context of service-oriented computing, particularly with regard to dynamic aspects such as service discovery and structuring mechanisms such as groups.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 16.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ábrahám-Mumm, E., de Boer, F.S., de Roever, W.-P., Steffen, M.: Verification for java’s reentrant multithreading concept. In: Nielsen, M., Engberg, U. (eds.) FOSSACS 2002. LNCS, vol. 2303, pp. 5–20. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  2. Agha, G.A.: ACTORS: A Model of Concurrent Computations in Distributed Systems. The MIT Press, Cambridge (1986)

    Google Scholar 

  3. Armstrong, J.: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf (2007)

    Google Scholar 

  4. Baker, H.G., Hewitt, C.E.: The incremental garbage collection of processes. ACM SIGPLAN Notices 12(8), 55–59 (1977)

    Article  Google Scholar 

  5. Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for C\(^{\sharp}\). ACM Transactions on Programming Languages and Systems 26(5), 769–804 (2004)

    Article  MATH  Google Scholar 

  6. Bierman, G.M., Meijer, E., Schulte, W.: The essence of data access in Cω. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 287–311. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  7. Birman, K.P.: The process group approach to reliable distributed computing. Communications of the ACM (December 1993)

    Google Scholar 

  8. Boreale, M., Bruni, R., Caires, L., De Nicola, R., Lanese, I., Loreti, M., Martins, F., Montanari, U., Ravara, A., Sangiorgi, D., Vasconcelos, V., Zavattaro, G.: SCC: A service centered calculus. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 38–57. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Bravetti, M., Zavattaro, G.: Service oriented computing from a process algebraic perspective. Journal of Logic and Algebraic Programming 70(1), 3–14 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  10. Caromel, D., Henrio, L.: A Theory of Distributed Object. Springer, Heidelberg (2005)

    MATH  Google Scholar 

  11. Castagna, G., Nicola, R.D., Varacca, D.: Semantic subtyping for the pi-calculus. In: Proc. 20th IEEE Symp. on Logic in Computer Science (LICS 2005), pp. 92–101. IEEE Computer Society Press, Los Alamitos (2005)

    Google Scholar 

  12. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.F.: Maude: Specification and programming in rewriting logic. Theoretical Computer Science 285, 187–243 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  13. de Boer, F.S., Clarke, D., Johnsen, E.B.: A complete guide to the future. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 316–330. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  14. Dezani-Ciancaglini, M., Mostrous, D., Yoshida, N., Drossopoulou, S.: Session types for object-oriented languages. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 328–352. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  15. Felleisen, M., Hieb, R.: The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science 103(2), 235–271 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  16. Flatt, M., Krishnamurthi, S., Felleisen, M.: A programmer’s reduction semantics for classes and mixins. In: Alves-Foss, J. (ed.) Formal Syntax and Semantics of Java. LNCS, vol. 1523, pp. 241–269. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  17. Hooman, J., Verhoef, M.: Formal semantics of a VDM extension for distributed embedded systems. In: Dams, D., Hannemann, U., Steffen, M. (eds.) Correctness, Concurrency, and Components. Festschrift for Willem-Paul de Roever. LNCS, vol. 5930, pp. 142–161. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  18. Johnsen, E.B., Owe, O.: An asynchronous communication model for distributed concurrent objects. Software and Systems Modeling 6(1), 35–58 (2007)

    Article  Google Scholar 

  19. Johnsen, E.B., Owe, O., Yu, I.C.: Creol: A type-safe object-oriented model for distributed concurrent systems. Theoretical Computer Science 365(1-2), 23–66 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  20. JXTA Project, http://jxta.org

  21. Lea, D.: Objects in groups (December 1993), http://www.gee.cs.oswego.edu/dl/groups/groups.html

  22. Liskov, B.H., Shrira, L.: Promises: Linguistic support for efficient asynchronous procedure calls in distributed systems. In: Wise, D.S. (ed.) Proc. SIGPLAN Conf. on Programming Language Design and Implementation (PLDI 1988), pp. 260–267. ACM Press, New York (1988)

    Chapter  Google Scholar 

  23. Maffeis, S.: Electra: Making distributed programs object-oriented. In: Proc. USENIX Symp. on Experiences with Distributed and Multiprocessor Systems (September 1993)

    Google Scholar 

  24. Misra, J., Cook, W.R.: Computation orchestration: A basis for wide-area computing. Software and Systems Modeling 6(1), 83–110 (2007)

    Article  Google Scholar 

  25. Niehren, J., Schwinghammer, J., Smolka, G.: A concurrent lambda calculus with futures. Theoretical Computer Science 364, 338–356 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  26. Ölveczky, P.C., Meseguer, J.: Semantics and pragmatics of Real-Time Maude. Higher-Order and Symbolic Computation 20(1-2), 161–196 (2007)

    Article  MATH  Google Scholar 

  27. Papadopoulos, G.A., Arbab, F.: Coordination models and languages. In: Zelkowitz, M. (ed.) The Engineering of Large Systems. Advances in Computers, vol. 46, pp. 329–400. Academic Press, London (1998)

    Google Scholar 

  28. Torjusen, A., Owe, O., Schneider, G.: Towards integration of XML in the Creol object-oriented language. In: Sandnes, F.E. (ed.) Proc. Norsk Informatikkonferase (NIK 2007), pp. 107–111. Tapir Akademisk Forlag (2007)

    Google Scholar 

  29. Welc, A., Jagannathan, S., Hosking, A.: Safe futures for Java. In: Proc. 20th Conf. on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2005), pp. 439–453. ACM Press, New York (2005)

    Google Scholar 

  30. Yu, I.C., Johnsen, E.B., Owe, O.: Type-safe runtime class upgrades in Creol. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 202–217. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Clarke, D., Johnsen, E.B., Owe, O. (2010). Concurrent Objects à la Carte. In: Dams, D., Hannemann, U., Steffen, M. (eds) Concurrency, Compositionality, and Correctness. Lecture Notes in Computer Science, vol 5930. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11512-7_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11512-7_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-11511-0

  • Online ISBN: 978-3-642-11512-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics