ABSTRACT
Asynchronous programming style has been widely adopted for a variety of reasons one such being the rise of Web applications. Using non-blocking operations is a major approach to enforcing asynchronous programming. A non-blocking operation requires decomposing a module that consists of a set of blocking operations into more than two modules, in turn, leading to a variety of challenges such as callback spaghetti and callback hell. This paper presents SyncAS, a library specification to address these two problems. This library specification follows the ECMAScript standard; indeed, we provide a prototype implementation for ActionScript3. SyncAS proposes a novel approach that enables programmers to virtually block a program execution and restart it at arbitrary points of the program, instead of waiting for a callback execution. As a result, programmers do not need to decompose a module even if non-blocking operations are adopted. SyncAS uses aspect-oriented programming to control the program execution in an oblivious manner.
- G. Bierman, C. Russo, G. Mainland, E. Meijer, and M. Torgersen. Pause 'n' play: Formalizing asynchronous c#. In Proceedings of the 26th European Conference on Object-Oriented Programming, ECOOP'12, pages 233--257, Berlin, Heidelberg, 2012. Springer-Verlag. Google ScholarDigital Library
- G. Kiczales, J. Irwin, J. Lamping, J. Loingtier, C. Lopes, C. Maeda, and A. Mendhekar. Aspect oriented programming. In Special Issues in Object-Oriented Programming. Max Muehlhaeuser (general editor) et al., 1996.Google ScholarDigital Library
- H. Masuhara, G. Kiczales, and C. Dutchyn. A compilation and optimization model for aspect-oriented programs. In G. Hedin, editor, Proceedings of Compiler Construction (CC2003), volume 2622, pages 46--60, 2003. Google ScholarDigital Library
- T. Mikkonen and A. Taivalsaari. Web applications - spaghetti code for the 21st century. In Proceedings of the 2008 Sixth International Conference on Software Engineering Research, Management and Applications, SERA '08, pages 319--328, Washington, DC, USA, 2008. IEEE Computer Society. Google ScholarDigital Library
- M. Ogden. Callback hell. http://callbackhell.com/.Google Scholar
Index Terms
- A library to modularly control asynchronous executions
Recommendations
Towards a virtual block approach to tame asynchronous programming
BICT '14: Proceedings of the 8th International Conference on Bioinspired Information and Communications TechnologiesAsynchronous programming has been widely adopted in domains such as Web development. This programming style usually uses callback methods, a non-blocking operation, allowing high responsible user interactions even if the application works without multi-...
Modular Asynchronous Web Programming: Advantages & Challenges
BICT'15: Proceedings of the 9th EAI International Conference on Bio-inspired Information and Communications Technologies (formerly BIONETICS)Because of the success of the Internet technologies, traditional standalone applications like Spreadsheet and Drawing
are now provided as Web Applications. These adopt asynchronous programming that provides high responsive user
interactions. At the same ...
Improving robustness of evolving exceptional behaviour in executable models
WEH '08: Proceedings of the 4th international workshop on Exception handlingExecutable models are increasingly being employed by development teams to implement robust software systems. Modern executable models offer powerful composition mechanisms that allow developers to deliver a running system in small increments and in a ...
Comments