Skip to main content

Programming with Emergent Gummy Modules

  • Chapter
  • First Online:
Transactions on Modularity and Composition I

Part of the book series: Lecture Notes in Computer Science ((TRMC,volume 9800))

  • 295 Accesses

Abstract

Emergent behavior is generally defined as the appearance of complex behavior out of multiplicity of relatively simple interactions. Although significant amount of research has been dedicated to develop algorithms for detecting emergent behavior, there is no specific attempt to provide suitable linguistic abstractions to modularize emergent behavior and its related concerns. This results in the implementations that are complex and hard to maintain. In this paper, we identify three characteristic features of emergent behavior from the perspective of programming languages, and accordingly outline the shortcomings of current languages to properly program and modularize emergent behavior. We introduce emergent gummy modules, which are dedicated linguistic abstractions to define the appearance and disappearance conditions of emergent behavior as well as its utilization operations as one holistic module. We explain the implementation of emergent gummy modules in the GummyJ language, and illustrate that they improve the modularity of implementations. We represent the event processing semantics of GummyJ in UPPAAL simulation and model checking toolset.

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

Notes

  1. 1.

    https://github.com/malakuti/gummyj.

References

  1. Fromm, J.: Types and forms of emergence. arXiv:nlin/0506028

  2. Holland, O.T.: Taxonomy for the modeling and simulation of emergent behavior systems. In: Proceedings of the 2007 Spring Simulation Multiconference, vol. 2. Society for Computer Simulation International (2007)

    Google Scholar 

  3. Resnick, M.: Turtles, Termites, and Traffic Jams: Explorations in Massively Parallel Microworlds (Complex Adaptive Systems). A Bradford Book, Cambridge (1997)

    Google Scholar 

  4. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–354. Springer, Heidelberg (2001). doi:10.1007/3-540-45337-7_18

    Chapter  Google Scholar 

  5. Aksit, M., Wakita, K., Bosch, J., Bergmans, L., Yonezawa, A.: Abstracting object interactions using composition filters. In: Guerraoui, R., Nierstrasz, O., Riveill, M. (eds.) ECOOP 1993. LNCS, vol. 791, pp. 152–184. Springer, Heidelberg (1994). doi:10.1007/BFb0017540

    Chapter  Google Scholar 

  6. Hirschfeld, R., Costanza, P., Nierstrasz, O.: Context-oriented programming. J. Object Technol. 7(3), 125–151 (2008)

    Article  Google Scholar 

  7. Malakuti, S., Aksit, M.: Emergent gummy modules: modular representation of emergent behavior. In: GPCE 2014. ACM, New York (2014)

    Google Scholar 

  8. Esper. http://esper.codehaus.org/

  9. Fisch, D., Janicke, M., Sick, B., Muller-Schloer, C.: Quantitative emergence - a refined approach based on divergence measures. In: SASO 2010, pp. 94–103, September 2010

    Google Scholar 

  10. Chen, C.C.: Complex event types for agent-based simulation. Ph.D. thesis, University College London (2009)

    Google Scholar 

  11. Kubík, A.: Toward a formalization of emergence. Artif. Life 9(1), 41–65 (2002)

    Article  Google Scholar 

  12. Schutz, W.M.: Getting started with complex event processing nodes. White paper, IBM Software Services for WebSphere

    Google Scholar 

  13. Sen, R., Cross, A., Vashistha, A., Padmanabhan, V.N., Cutrell, E., Thies, W.: Accurate speed and density measurement for road traffic in India. In: ACM DEV 2013. ACM (2013)

    Google Scholar 

  14. Bouarfa, S., Blom, H., Curran, R., Everdij, M.: Agent-based modeling and simulation of emergent behavior in air transportation. Complex Adapt. Syst. Model. 1(1), 1–15 (2013)

    Article  Google Scholar 

  15. Shoham, Y.: Agent-oriented programming. Artif. Intell. 60(1), 51–92 (1993)

    Article  MathSciNet  Google Scholar 

  16. Rajan, H., Leavens, G.T.: Ptolemy: a language with quantified, typed events. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 155–179. Springer, Heidelberg (2008). doi:10.1007/978-3-540-70592-5_8

    Chapter  Google Scholar 

  17. Gasiunas, V., Satabin, L., Mezini, M., Núñez, A., Noyé, J.: EScala: modular event-driven object interactions in scala. In: AOSD 2011. ACM (2011)

    Google Scholar 

  18. Zhuang, Y., Chiba, S.: Method slots: supporting methods, events, and advices by a single language construct. In: AOSD 2013. ACM (2013)

    Google Scholar 

  19. Mezini, M., Ostermann, K.: Conquering aspects with Caesar. In: AOSD 2003. ACM Press (2003)

    Google Scholar 

  20. Sakurai, K., Masuhara, H., Ubayashi, N., Matsuura, S., Komiya, S.: Association aspects. In: AOSD 2004. ACM Press (2004)

    Google Scholar 

  21. Compose\({^*}\). http://composestar.sourceforge.net/

  22. Vanderperren, W., Suvée, D., Cibrán, M.A., Fraine, B.: Stateful aspects in JAsCo. In: Gschwind, T., Aßmann, U., Nierstrasz, O. (eds.) SC 2005. LNCS, vol. 3628, pp. 167–181. Springer, Heidelberg (2005). doi:10.1007/11550679_13

    Chapter  Google Scholar 

  23. Pavel, C.A., Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Moor, O.D., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to AspectJ. In: OOPSLA 2005. ACM (2005)

    Google Scholar 

  24. Malakuti, S., Akşit, M.: Event modules: modularizing domain-specific crosscutting RV concerns. In: Chiba, S., Tanter, É., Bodden, E., Maoz, S., Kienzle, J. (eds.) Transactions on Aspect-Oriented Software Development XI. LNCS, vol. 8400, pp. 27–69. Springer, Heidelberg (2014). doi:10.1007/978-3-642-55099-7_2

    Chapter  Google Scholar 

  25. Appeltauer, M., Hirschfeld, R., Masuhara, H., Haupt, M., Kawauchi, K.: Event-specific software composition in context-oriented programming. In: Baudry, B., Wohlstadter, E. (eds.) SC 2010. LNCS, vol. 6144, pp. 50–65. Springer, Heidelberg (2010). doi:10.1007/978-3-642-14046-4_4

    Chapter  Google Scholar 

  26. Núñez, A., Noyé, J., Gasiūnas, V.: Declarative definition of contexts with polymorphic events. In: COP 2009. ACM (2009)

    Google Scholar 

  27. Kamina, T., Aotani, T., Masuhara, H.: EventCJ: a context-oriented programming language with declarative event-based context transition. In: AOSD 2011. ACM (2011)

    Google Scholar 

  28. Kamina, T., Aotani, T., Masuhara, H.: Generalized layer activation mechanism through contexts and subscribers. In: MODULARITY 2015. ACM, New York (2015)

    Google Scholar 

  29. Malakuti, S.: Event composition model: achieving naturalness in runtime enforcement. Ph.D. thesis, University of Twente (2011)

    Google Scholar 

  30. Malakuti, S., Aksit, M.: Event-based modularization: how emergent behavioral patterns must be modularized? In: FOAL 2014. ACM (2014)

    Google Scholar 

  31. Java-JNI. http://download.oracle.com/javase/1.5.0/docs/guide/jni/spec/jnitoc.html

  32. UPPAAL. http://www.uppaal.org/

  33. Gonzlez, S., Mens, K., Cdiz, A.: Designing reusable classes. J. Object Oriented Program. 1(5), 22–35 (1988)

    Google Scholar 

  34. Fayad, M., Schmidt, D.C.: Object-oriented application frameworks. Commun. ACM 40(10), 32 (1997). Special Issue on Object-Oriented Application Frameworks

    Article  Google Scholar 

  35. Johansen, M.F.: Domain specific languages versus frameworks. Master thesis, Department of Informatics, University of Oslo (2009)

    Google Scholar 

  36. Malakuti, S., Aksit, M.: Event-based modularization of reactive systems. In: Agha, G., Igarashi, A., Kobayashi, N., Masuhara, H., Matsuoka, S., Shibayama, E., Taura, K. (eds.) Concurrent Objects and Beyond: Papers dedicated to Akinori Yonezawa on the Occasion of His 65th Birthday. LNCS, vol. 8665, pp. 367–407. Springer, Heidelberg (2014). doi:10.1007/978-3-662-44471-9_16

    Google Scholar 

  37. Cazzola, W., Vacchi, E.: Fine-grained annotations for pointcuts with a finer granularity. In: SAC 2013. ACM (2013)

    Google Scholar 

  38. Hoffman, K., Eugster, P.: Cooperative aspect-oriented programming. Sci. Comput. Program. 74, 333–354 (2009)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

The author is supported by the German Research Foundation (DFG) in the Collaborative Research Center 912 “Highly Adaptive Energy-Efficient Computing”. The author thanks Prof. Mehmet Aksit and Prof. Uwe Aßmann for their valuable feedback on this work. The author would like to also thank Christian Fraß and Raphael Urmoneit for their support in implementing GummyJ.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Somayeh Malakuti .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Malakuti, S. (2016). Programming with Emergent Gummy Modules. In: Chiba, S., Südholt, M., Eugster, P., Ziarek, L., Leavens, G. (eds) Transactions on Modularity and Composition I. Lecture Notes in Computer Science(), vol 9800. Springer, Cham. https://doi.org/10.1007/978-3-319-46969-0_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-46969-0_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-46968-3

  • Online ISBN: 978-3-319-46969-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics