Separation of concerns in designing mobile software


  • Paniti Netinant College of Information and Communication Technology, Rangsit University, Patumthani 12000, Thailand
  • Tzilla Elrad Computer Science Department, Illinois Institute of Technology, Chicago, IL 60616-3793, USA


Aspect-Oriented Software Development (AOSD), separation of concerns, mobile software development


Given initial decomposition system properties of a mobile software into processes or components we are faced with inter-concern and intra-concern properties that are tightly bounded in many processes or components.  This paper concentrates on the challenges of expressing separation of concerns and imposing inter-concern system properties during an execution of mobile software development.  The approach is based on two completely independent areas of research.  The Communication Closed Layers (CCL) is a formal system for developing, maintaining, and verifying a distributed program.  The Aspect-Oriented Software Development (AOSD) enables separations of concerns.


Ali, N., & Ramos, I. (2012). Designing mobile aspect-oriented software architectures with ambient. In P. Alencar & D. Cowan (Eds.), Handbook of Research on Mobile Software Engineering: Design, Implementation, and Emergent Applications, Volume II (Chapter. 29, 526-543). PA, USA: Engineering Science Reference (an imprint of IGI Global). DOI: 10.4018/978-1-61520-655-1.ch029

Apple Developer. (2016). Accessed on March 15, 2016.

Android Developers. (2016). Accessed on March 15, 2016.

Eclipse website. (2016). Accessed on March 15, 2016.

Elrad, T., & Frances, N. (1982). Decomposition of distributed programs into Communication Closed Layers. Science of Computer Programming, 2(1), 155-173. North-Holland.

Elrad, T. (1984). A practical software development for dynamic testing of distributed programs. IEEE Proceedings on the International Conference on Parallel Processing, Bellaire, Michigan, USA, 388-392.

Elrad, T., & Kumar, K. (1990). State space abstraction of concurrent systems: a means to computation progressive scheduling. Proceedings of the 19th International Conference on Parallel Processing, Bellaire, Michigan, USA, pp. 482-483.

Elrad, T., & Kumar, K. (1991). The use of communication closed layers to support imprecise scheduling for distributed real-time programs. Proceedings of the 10th Annual International Conference on Computer and Communications, Scottsdale, AZ, USA, pp. 226-231. DOI: 10.1109/PCCC.1991.113815

Elrad, T., & Kumar, K. (1993). Scheduling cooperative work: viewing distributed system as both CSP and SCL. Proceedings of the 13th International Conference on Distributed Computing Systems, Pittsburgh, PA, USA, pp. 532-539. DOI: 10.1109/ICDCS.1993.287670

Elrad, T., Baoling, S., & Nastasic, N. (1996). A synergy of object-oriented concurrent programming and program layering. Concurrency and Parallelism, Programming, Networking, and Security,

Lecture Note in Computer Science No. 1179, pp. 223-233, Springer-Verlag Press. DOI: 10.1007/BFb0027795

Elrad, T., Filman, B., & Bader, A. (2001). Aspect-oriented programming: Introduction. Communications of ACM, 44(10), 29-32. DOI: 10.1145/383845.383853

Filman, R. E., & Friedman, D. P. (2000). Aspect-oriented programming is quantification and obliviousness. Workshop on Advanced Separation of Concerns. Conference on Object-Oriented Programming, Systems, Languages, and Application (OOPSLA 2000), Minneapolis, MN, USA,

Fokkinga, M., Poel, M., & Zwiers, J. (1993). Modular completeness for communication closed layers. Proceedings of Formal Techniques in Real Time and Fault Tolerant Systems, pp. 50-65, Springer-Verlag Press. DOI: 10.1007/3-540-57208-2_5

Gerth, R. T., & Shrira, L. (1986). On proving communication closeness of distributed layers. Proceedings of the 6th Conference on Foundations of Software Technology and Theoretical Computer Science, New Delhi, India. DOI: 10.1007/3-540-17179-7

Janssen, W., & Zwiers, J. (1992a). From sequential layers to distributed processes: deriving a distributed minimum weight spanning tree algorithm. Proceedings of the 11th ACM Symposium on Principles of Distributed Computing, pp. 215-227. DOI: 10.1145/135419.135461

Janssen, W., & Zwiers, J. (1992b). Protocol design by layered decomposition: A composition approach. Proceedings of the second International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems, pp. 307-326. London, UK: Springer-Verlag Press.

Janssen, W., & Zwiers, J. (1993). Specifying and proving communication closeness in protocol. Proceedings of the 13th IFIP Symposium on Protocol Specification, Testing and Verification.

Janssen, W., Poel, M., Xu, Q., Zwiers, J. (1994). Layering of real-time distributed processes. Proceedings of Formal Techniques in Real Time and Fault Tolerant Systems, Springer-Verlag Press. DOI: 10.1007/3-540-58468-4_175

Kiczales, G. (2001). Getting started with AspectJ. Communications of ACM, (44)10, 59-65. DOI: 10.1145/383845.383858

Meyer, B. (1993). Systematic concurrent object-oriented programming. Communications of ACM, 36(9), 56-80. DOI: 10.1145/162685.162705

Poel, M., & Zwiers, J. (1992). Layering techniques for development of parallel systems, Proceedings of Computer Aided Verification. Lecture Note in Computer Science No. 663, pp. 16-29, Springer-Verlag Press. DOI: 10.1007/3-540-56496-9_3

Stomp, F. A., & Roever, W. P. (1987). A correctness proof of distributed minimum weight spanning tree algorithm. Proceedings of the 7th International Conference on Distributed Computer Systems, Berlin, West Germany.

Wasserman, I. A. (2010). Software engineering issues for mobile application development. Proceedings of 2010 Future of software engineering research, Santa Fe, New Mexico, USA, pp. 397-400. DOI: 10.1145/1882362.1882443

Windows Dev Center (2016). Accessed on March 15, 2016.




How to Cite

Paniti Netinant, & Tzilla Elrad. (2023). Separation of concerns in designing mobile software. Journal of Current Science and Technology, 6(1), 89–96. Retrieved from



Research Article