Skip to main content

Subjective-C

Bringing Context to Mobile Platform Programming

  • Conference paper
Software Language Engineering (SLE 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6563))

Included in the following conference series:

Abstract

Thanks to steady advances in hardware, mobile computing platforms are nowadays much more connected to their physical and logical environment than ever before. To ease the construction of adaptable applications that are smarter with respect to their execution environment, the context-oriented programming paradigm has emerged. However, up until now there has been no proof that this emerging paradigm can be implemented and used effectively on mobile devices, probably the kind of platform which is most subject to dynamically changing contexts. In this paper we study how to effectively realise core context-oriented abstractions on top of Objective-C, a mainstream language for mobile device programming. The result is Subjective-C, a language which goes beyond existing context-oriented languages by providing a rich encoding of context interdependencies. Our initial validation cases and efficiency benchmarks make us confident that context-oriented programming can become mainstream in mobile application development.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Appeltauer, M., Hirschfeld, R., Haupt, M., Masuhara, H.: ContextJ: Context-oriented programming for Java. Computer Software of The Japan Society for Software Science and Technology (June 2010)

    Google Scholar 

  2. Bobrow, D., DeMichiel, L., Gabriel, R., Keene, S., Kiczales, G., Moon, D.: Common Lisp Object System specification. Lisp and Symbolic Computation 1(3/4), 245–394 (1989)

    Google Scholar 

  3. Cetina, C., Haugen, O., Zhang, X., Fleurey, F., Pelechano, V.: Strategies for variability transformation at run time. In: Proceedings of the International Software Product Line Conference, pp. 61–70. Carnegie Mellon University, Pittsburgh (2009)

    Google Scholar 

  4. Costanza, P., Hirschfeld, R.: Language constructs for context-oriented programming: an overview of ContextL. In: Proceedings of the Dynamic Languages Symposium, pp. 1–10. ACM Press, New York (2005); co-located with OOPSLA 2005

    Google Scholar 

  5. Desmet, B., Vallejos, J., Costanza, P., Kantarcioglu, M., D’Hondt, T.: Context-oriented domain analysis. In: Kokinov, B., Richardson, D.C., Roth-Berghofer, T.R., Vieu, L. (eds.) CONTEXT 2007. LNCS (LNAI), vol. 4635, pp. 178–191. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  6. Garlan, D., Cheng, S.W., Huang, A.C., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37(10), 46–54 (2004)

    Article  Google Scholar 

  7. González, S., Denker, M., Mens, K.: Transactional contexts: Harnessing the power of context-oriented reflection. In: International Workshop on Context-Oriented Programming, July 7, pp. 1–6. ACM Press, New York (2009)

    Google Scholar 

  8. González, S., Mens, K., Cádiz, A.: Context-Oriented Programming with the Ambient Object System. Journal of Universal Computer Science 14(20), 3307–3332 (2008)

    Google Scholar 

  9. González, S., Mens, K., Heymans, P.: Highly dynamic behaviour adaptability through prototypes with subjective multimethods. In: Proceedings of the Dynamic Languages Symposium, pp. 77–88. ACM Press, New York (2007)

    Google Scholar 

  10. Hirschfeld, R., Costanza, P., Haupt, M.: An introduction to context-oriented programming with contextS. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol. 5235, pp. 396–407. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  11. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (foda) feasibility study. Tech. Rep. CMU/SEI-90-TR-21, Carnegie-Mellon University Software Engineering Institute (November 1990)

    Google Scholar 

  12. Lee, J., Kang, K.C.: A feature-oriented approach to developing dynamically reconfigurable products in product line engineering. In: Proceedings of the International Software Product Line Conference, pp. 131–140. IEEE Computer Society Press, Los Alamitos (2006)

    Google Scholar 

  13. Libbrecht, J.C., Goffaux, J.: Subjective-C: Enabling Context-Aware Programming on iPhones. Master’s thesis, Ecole Polytechnique de Louvain, UCLouvain (June 2010)

    Google Scholar 

  14. von Löwis, M., Denker, M., Nierstrasz, O.: Context-oriented programming: Beyond layers. In: Proceedings of the 2007 International Conference on Dynamic languages, pp. 143–156. ACM Press, New York (2007)

    Google Scholar 

  15. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  16. Popovici, A., Gross, T., Alonso, G.: Dynamic weaving for aspect-oriented programming. In: Proceedings of the International Conference on Aspect-Oriented Software Development, pp. 141–147. ACM Press, New York (2002)

    Chapter  Google Scholar 

  17. Smith, R.B., Ungar, D.: A simple and unifying approach to subjective objects. Theory and Practice of Object Systems 2(3), 161–178 (1996)

    Article  Google Scholar 

  18. Vallejos, J., González, S., Costanza, P., De Meuter, W., D’Hondt, T., Mens, K.: Predicated generic functions. In: Baudry, B., Wohlstadter, E. (eds.) SC 2010. LNCS, vol. 6144, pp. 66–81. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

González, S., Cardozo, N., Mens, K., Cádiz, A., Libbrecht, JC., Goffaux, J. (2011). Subjective-C. In: Malloy, B., Staab, S., van den Brand, M. (eds) Software Language Engineering. SLE 2010. Lecture Notes in Computer Science, vol 6563. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19440-5_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-19440-5_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-19439-9

  • Online ISBN: 978-3-642-19440-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics