Skip to main content

Object Metamorphism

Type-Safe Modeling of Protean Objects in Scala

  • Conference paper
  • First Online:
Proceedings of the 2015 Federated Conference on Software Development and Object Technologies (SDOT 2015)

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 511))

Included in the following conference series:

  • 480 Accesses

Abstract

Modeling protean objects, i.e. objects adapting their structure and behavior dynamically with respect to changeable environment, may be challenging in traditional object oriented languages. While some dynamic languages make the implementation of changeable behavior of objects possible by injecting code into the objects at run-time, their lack of an in-depth compile-time code analysis makes the resulting code fragile. The concept of object metamorphism (OM) targets the gap between the two language types by introducing a declarative modeling of protean objects. Such a model, which is validated at compile-time, defines all possible compositions of a given object from smaller parts represented by traits. The actual composition used to instantiate the object is chosen dynamically with respect to the current environment. The result of this research will provide the theoretical concept of OM along with a proof-of-concept adoption of OM to Scala.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.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

References

  1. Harrison, W., Ossher, H.: Subject-oriented programming (a critique of pure objects). In: Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1993), Washington, D.C. ACM, September 1993

    Google Scholar 

  2. Harrison, W., Budinsky, F., Simmonds, I.: Subject-oriented programming: supporting decentralized development of objects, IBM TJ Watson Research Center (1995)

    Google Scholar 

  3. Coplien, J.O., Reenskaug, T.M.H.: The data, context and interaction paradigm. In: Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity (SPLASH 2012), pp. 227–228. ACM, New York (2012)

    Google Scholar 

  4. Alam, O., Kienzle, J.: designing with inheritance and composition. In: Proceedings of the 3rd International Workshop on Variability & Composition (VariComp 2012), pp. 19–24. ACM, New York (2012)

    Google Scholar 

  5. Herrmann, S.: Demystifying object schizophrenia. In: Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance (MASPEGHI 2010). ACM, New York (2010)

    Google Scholar 

  6. Malayeri, D., Aldrich, J.: CZ: multiple inheritance without diamonds. In: Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA 2009). ACM, New York (2009)

    Google Scholar 

  7. Odersky, M., Spoon, L., Venners, B.: Programming in Scala, Artima, 0981531644 (2008)

    Google Scholar 

  8. Šlajchrt, Z.: Morpheus: a scala extension introducing metamorphism of objects (2015). https://github.com/zslajchrt/morpheus

  9. Wright, K.: A Taste of Scala: The Autoproxy Plugin (2009). http://www.artima.com/weblogs/viewpost.jsp?thread=275135

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zbyněk Šlajchrt .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Šlajchrt, Z. (2017). Object Metamorphism. In: Janech, J., Kostolny, J., Gratkowski, T. (eds) Proceedings of the 2015 Federated Conference on Software Development and Object Technologies. SDOT 2015. Advances in Intelligent Systems and Computing, vol 511. Springer, Cham. https://doi.org/10.1007/978-3-319-46535-7_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-46535-7_24

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-46534-0

  • Online ISBN: 978-3-319-46535-7

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics