Notification Oriented Paradigm (NOP) and Imperative Paradigm: A Comparative Study


This paper presents a new programming paradigm named Notification Oriented Paradigm (NOP) and analyses performance aspects of NOP programs by means of an experiment. NOP provides a new manner to conceive, structure, and execute software, which allows better performance, causal-knowledge organization, and entity decoupling than standard solutions based upon current paradigms. These paradigms are essentially Imperative Paradigm (IP) and Declarative Paradigm (DP). In short, DP solutions are considered easier to use than IP solutions thanks to the concept of high-level programming. However, they are considered slower to execute and lesser flexible to program than IP. Anyway, both paradigms present similar drawbacks like causal-evaluation redundancies and strongly coupled entities, which decrease software performance and processing distribution feasibility. These problems exist due to an orientation to monolithic inference mechanism based upon sequential evaluation by means of searches over passive computational entities. NOP proposes another manner to structure software and make its inferences, which is based upon small, smart, and decoupled collaborative entities whose interaction happen by means of precise notifications. This paper discusses NOP as a paradigm and presents certain comparison of NOP against IP. Actually, performance is evaluated by means of IP and NOP programs with respect to a same application, which allow demonstrating NOP superiority.

Share and Cite:

J. M. Simão, C. A. Tacla, P. C. Stadzisz and R. F. Banaszewski, "Notification Oriented Paradigm (NOP) and Imperative Paradigm: A Comparative Study," Journal of Software Engineering and Applications, Vol. 5 No. 6, 2012, pp. 402-416. doi: 10.4236/jsea.2012.56047.

Conflicts of Interest

The authors declare no conflicts of interest.


[1] R. W. Keyes, “The Technical Impact of Moore’s Law,” IEEE Solid-State Circuits Society Newsletter, Vol. 20, No. 3, 2006, pp. 25-27.
[2] E. S. Raymond, “The Art of UNIX Programming,” Addison-Wesley, Boston, 2003.
[3] J. M. Simao and P. C. Stadzisz, “Inference Based on Notifications: A Holonic Metamodel Applied to Control Issues,” IEEE Transactions on Systems, Man and Cybernetics, Part A, Vol. 39, No. 1, 2009, pp. 238-250. 10.1109/TSMCA.2008.2006371
[4] W. Wolf, “High-Performance Embedded Computing: Architectures, Applications and Methodologies,” Morgan Kaufmann Publishers, Waltham, 2007.
[5] S. Oliveira and D. Stewart, “Writing Scientific Software: A Guided to Good Style,” Cambridge University Press, Cambridge, 2006.
[6] C. Hughes and T. Hughes, “Parallel and Distributed Programming Using C++,” Addison-Wesley, Boston, 2003.
[7] J. M. Simao, P. C. Stadzisz, “Notification Oriented Paradigm (NOP)—A Notification Oriented Technique to Software Composition and Execution,” Patent pending submitted to INPI/Brazil in 2008 and UTFPR Innovation Agency 2007.
[8] R. F. Banaszewski, P. C. Stadzisz, C. A. Tacla and J. M Simao, “Notification Oriented Paradigm (NOP): A Software Development Approach Based on Artificial Intelligence Concepts,” 4th Congress of Logic Applied Technology, Santos, 21-23 November 2007, pp. 216-222.
[9] R. F. Banaszewski, “Notification Oriented Paradigm: Advances and Comparisons,” M.Sc. Thesis, Federal University of Technology of Parana, Curitiba, 2009.
[10] M. Herlihy and N. Shavit, “The Art of Multiprocessor Programming,” Morgan Kaufmann Publishers, Waltham, 2008.
[11] D. Harel, H. Lacover, A. Naamad, A. Pnueli, M. Politi, R. Sherman, A. Shtull-Trauting and M. Trakhtenbrot, “Statemate: A Working Environment for the Development of Complex Reactive Systems,” IEEE Transaction on Software Engineering, Vol. 16, No. 4, 1990, pp. 403-414. doi:10.1109/32.54292
[12] J. M. Simao, “A Contribution to the Development of a HMS Simulation Tool and Proposition of a Meta-Model for Holonic Control,” Ph.D. Thesis, Federal University of Technology of Paraná, Curitiba, 2005.
[13] B. De Wachter, T. Massart and C. Meuter, “dSL: An Environment with Automatic Code Distribution for Industrial Control Systems,” Proceedings of the 7th International Conference on Principles of Distributed Systems, Vol. 3144, 2004, pp. 132-145. doi:10.1007/978-3-540-27860-3_14
[14] D. Sevilla, J. M. Garcia and A. Gomez, “Using AOP to Automatically Provide Distribution, Fault Tolerance, and Load Balancing to the CORBA-LC Component Model,” John von Neumann Institute for Computing, Vol. 38, 2007, pp. 347-354.
[15] W. M. Johnston, J. R. P. Hanna and R. J. Millar, “Advance in Dataflow Programming Languages,” ACM Computing Surveys, Vol. 36, No. 1, 2004, pp. 1-34. doi:10.1145/1013208.1013209
[16] G. Coulouris, J. Dollimore and T. Kindberg, “Distributed Systems—Concepts and Designs,” Addison-Wesley, Boston, 2001.
[17] W. A. Gruver, “Distributed Intelligence Systems: A new Paradigm for System Integration,” Proceedings of the IEEE International Conference on Information Reuse and Integration (IRI), Las Vegas, 13-15 August 2007, pp. 14-15. doi:10.1109/IRI.2007.4296581
[18] J. L. Gaudiot and A. Sohn, “Data-Driven Parallel Production Systems,” IEEE Transactions on Software Engineering, Vol. 16, No. 3, 1990, pp. 281-293. doi:10.1109/32.48936
[19] P. Banerjee, J. A. Chandy, M. Gupta, E. W. Hodges IV, J. G. Holm, A. Lain, D. J. Palermo, S. Ramaswamy and E. Su, “The Paradigm Compiler for Distributed-Memory Multicomputer,” Computer, Vol. 28, No. 10, 1995, pp. 37-47. doi:10.1109/2.467577
[20] P. V. Roy and S. Haridi, “Concepts, Techniques, and Models of Computer Programming,” MIT Press, Cambridge, 2004.
[21] S. H. Kaisler, “Software Paradigm,” John Wiley & Sons, Hoboken, 2005.
[22] M. Gabbrielli and S. Martini, “Programming Languages: Principles and Paradigms,” Springer-Verlag, London, 2010.
[23] J. G. Brookshear, “Computer Science: An Overview,” Addison-Wesley, Boston, 2006.
[24] A. M. K. Cheng and J. R. Chen, “Response Time Analysis of OPS5 Production Systems,” IEEE Transactions on Knowledge and Data Engineering, Vol. 12, No. 3, 2000, pp. 391-409. doi:10.1109/69.846292
[25] J. A. Kang and A. M. K. Cheng, “Shortening Matching Time in OPS5 Production Systems,” IEEE Transactions on Software Engineering, Vol. 30, No. 7, 2004, pp. 448-457. doi:10.1109/TSE.2004.32
[26] C. L. Forgy, “RETE: A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem,” Artificial Intelligence, Vol. 19, No. 1, 1982, pp. 17-37. doi:10.1016/0004-3702(82)90020-0
[27] P. Y. Lee and A. M. K. Cheng, “HAL: A Faster Match Algorithm,” IEEE Transactions on Knowledge and Data Engineering, Vol. 14, No. 5, 2002, pp. 1047-1058. doi:10.1109/TKDE.2002.1033773
[28] M. L. Scott, “Programming Language Pragmatics,” 2nd Edition, Morgan Kaufmann Publishers Inc., Waltham, 2000.
[29] J. M. Simao, C. A. Tacla and P. C. Stadzisz, “Holonic Control Metamodel,” IEEE Transactions on Systems, Man, and Cybernetics, Part A, Vol. 39, No. 5, 2009, pp. 1126-1139. doi:10.1109/TSMCA.2009.2022060
[30] A. R. Pimentel and P. C. Stadzisz, “Application of the Independence Axiom on the Design of Object-Oriented Software Using the Axiomatic Design Theory,” Journal of Integrated Design & Process Science, Vol. 10, No. 1, 2006, pp. 57-69.
[31] S. M. Ahmed, “CORBA Programming Unleashed,” Sams Publishing, Indianapolis, 1998.
[32] D. Reilly and M. Reilly, “Java Network Programming and Distributed Computing,” Addison-Wesley, Boston, 2002.
[33] E. Tilevich and Y. Smaragdakis, “J-Orchestra: Automatic Java Application Partitioning,” Lecture Notes in Computer Science, Vol. 2374, 2002, pp. 178-204.
[34] S. Loke, “Context-Aware Pervasive Systems: Architectures for a New Breed of Applications,” Auerbach Publications, Boca Raton, 2006. doi:10.1201/9781420013498
[35] M. Diaz, D. Garrido, S. Romero, B. Rubio, E. Soler and J. M. Troya, “A Component-Based Nuclear Power Plant Simulator Kernel: Research Articles,” Concurrency and Computation: Practice and Experience, Vol. 19, No. 5, 2007, pp. 593-607. doi:10.1002/cpe.1075
[36] S. M. Deen, “Agent-Based Manufacturing: Advances in the Holonic Approach”, Springer, 2003.
[37] H. Tianfield, “A New Framework of Holonic Self-organization for Multi-Agent Systems,” IEEE International Conference on System, Man and Cybernetics, Montreal, 7-10 October 2007, pp. 753-758. doi:10.1109/ICSMC.2007.4414048
[38] V. Kumar, N. Leonard and A. S. Morse, “Cooperative Control,” Springer-Verlag, New York, 2005.
[39] A. S. Tanenbaum and M. van Steen, “Distributed Systems: Principles and Paradigms,” Prentice Hall, Upper Saddle River, 2002.
[40] J. Giarratano and G. Riley, “Expert Systems: Principles and Practice,” PWS Publishing, Boston, 1993.
[41] S. Russel and P. Norvig, “Artificial Intelligence: A Modern Approach: Englewood Cliffs,” Prentice-Hall, Upper Saddle River, 2003.
[42] D. P. Miranker, “TREAT: A better Match Algorithm for AI Production System,” 6th National Conference on Artificial Intelligence, Seattle, 13-17 July 1987, pp. 42-47.
[43] D. P. Miranker and B. Lofaso. “The Organization and Performance of a TREAT-Based Production System Compiler,” IEEE Transactions on Knowledge and Data Engineering, Vol. 1, No. 1, 1991, pp. 3-10. doi:10.1109/69.75882
[44] D. P. Miranker, D. A. Brant, B. Lofaso and D. Gadbois, “On the Performance of Lazy Matching in Production System,” 8th National Conference on Artificial Intelligence, Boston, 29 July-3 August 1992, pp. 685-692.
[45] D. Watt, “Programming Language Design Concepts,” John Wiley & Sons, Hoboken, 2004.
[46] T. Faison, “Event-Based Programming: Taking Events to the Limit,” Apress, New York, 2006.
[47] S. M. Tuttle and C. F. Eick, “Suggesting Causes of Faults in Data-Driven Rule-Based Systems,” Proceedings of the IEEE 4th International Conference on Tools with Artificial Intelligence, Arlington, 10-13 November 1992, pp. 413-416.
[48] C. E. B. Paes and C. M. Hirata, “RUP Extension for the Software Performance,” 32nd Annual IEEE International Computer Software and Applications, 28 July-1 August 2008, pp. 732-738.
[49] G. R. Watson, C. E. Rasmussen and B. R. Tibbitts, “An Integrated Approach to Improving the Parallel Application Development Process,” IEEE International Symposium on Parallel & Distributed Processing, Rome, 23-29 May 2009, pp. 1-8.
[50] I. Sommerville, “Software Engineering,” 8th Edition, Addison-Wesley, Boston, 2004.
[51] E. Friedman-Hill, “Jess in Action: Rule-Based System in Java,” Manning Publications Company, Greenwich, 2003.
[52] V. R. L. Shen and T. T. Y. Juang, “Verification of Knowledge-Based Systems Using Predicate/Transition Nets,” IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems & Humans, Vol. 38, No. 1, 2008, pp. 78-87.

Copyright © 2021 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.