An Event-driven Approach for the Separation of Concerns

Hayim Makabee

Abstract

This paper presents an event-driven approach for the separation of concerns in software systems. We introduce the EventJ framework that provides an event-driven extension to the Java programming language. The paper describes a general methodology that can be used to identify the cross-cutting concerns and separate them from the main functionality using events and event handlers. We discuss the pre-requisites to perform this change and illustrate it with a concrete example. Finally, we make a comparison between the event-driven approach and the aspect-oriented one, and conclude that the use of events to separate concerns has a positive effect on software quality attributes such as maintainability, extensibility and reusability.

References

  1. Constantine, L., Stevens, W., Myers, G., 1974. Structured Design. IBM Systems Journal, 13 (2), 115-139.
  2. Dijkstra, E. W., 1982. On the role of scientific thought. In Selected writings on Computing: A Personal Perspective. New York, NY, USA: Springer-Verlag New York, Inc. pp. 60-66. ISBN 0-387-90652-5.
  3. Douence, R., Fradet, P., Sudholt, M., 2002. A framework for the detection and resolution of aspect interactions. In Proc. of the Conf. on Generative Programming and Component Engineering, pages 173-188.
  4. Eugster, P. T., Felber, P. A, Guerraoui, R., Kermarrec, A., 2003. The Many Faces of Publish/Subscribe. ACM Computing Surveys, Vol. 35, No. 2, pp. 114-131.
  5. Eugster, P., Jayaram, K. R., 2009. EventJava: An Extension of Java for Event Correlation. In Proceedings of the European Conference on ObjectOriented Programming (ECOOP), Springer-Verlag.
  6. Gamma, E., Helm, R., Johnson, R., Vlissides, J., 1995. Design Patterns: Elements of Reusable ObjectOriented Software. Addison-Wesley. ISBN 0-201- 63361-2.
  7. Hursch, W. L., Lopes, C. V., 1995. Separation of Concerns. Technical Report, Northeastern University.
  8. Kiczales, G., Lamping, J., Mehdhekar, A., Maeda, C., Lopes, C. V., Loingtier, J., Irwin, J., 1997. AspectOriented Programming. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), Springer-Verlag.
  9. Liskov, B., 1974. Programming with Abstract Data Types. In Proceedings of the ACM SIGPLAN Symposium on Very High Level Languages, pp. 50--59.
  10. Meyer, B., 1986. Design by Contract. Technical Report TR-EI-12/CO, Interactive Software Engineering Inc.
  11. Parnas, D. L., 1972. On the Criteria To Be Used in Decomposing Systems into Modules. Comm ACM 15 (12): 1053-8.
  12. Rajan, H., Leavens, G. T., 2008. Ptolemy: A language with quantified, typed events. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), Springer-Verlag.
Download


Paper Citation


in Harvard Style

Makabee H. (2012). An Event-driven Approach for the Separation of Concerns . In Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8565-13-6, pages 122-127. DOI: 10.5220/0003971801220127


in Bibtex Style

@conference{enase12,
author={Hayim Makabee},
title={An Event-driven Approach for the Separation of Concerns},
booktitle={Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2012},
pages={122-127},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003971801220127},
isbn={978-989-8565-13-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - An Event-driven Approach for the Separation of Concerns
SN - 978-989-8565-13-6
AU - Makabee H.
PY - 2012
SP - 122
EP - 127
DO - 10.5220/0003971801220127