Separation of concerns in designing mobile software
Keywords:
Aspect-Oriented Software Development (AOSD), separation of concerns, mobile software developmentAbstract
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.
References
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). https://developer.apple.com Accessed on March 15, 2016.
Android Developers. (2016). http://developer.android.com Accessed on March 15, 2016.
Eclipse website. (2016). http://www.eclipse.org 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). http://dev.windows.com/ Accessed on March 15, 2016.
Downloads
Published
How to Cite
Issue
Section
License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.