Aspect Oriented Software Architecture
Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 33122
Aspect Oriented Software Architecture

Authors: Pradip Peter Dey, Ronald F. Gonzales, Gordon W. Romney, Mohammad Amin, Bhaskar Raj Sinha

Abstract:

Natural language processing systems pose a unique challenge for software architectural design as system complexity has increased continually and systems cannot be easily constructed from loosely coupled modules. Lexical, syntactic, semantic, and pragmatic aspects of linguistic information are tightly coupled in a manner that requires separation of concerns in a special way in design, implementation and maintenance. An aspect oriented software architecture is proposed in this paper after critically reviewing relevant architectural issues. For the purpose of this paper, the syntactic aspect is characterized by an augmented context-free grammar. The semantic aspect is composed of multiple perspectives including denotational, operational, axiomatic and case frame approaches. Case frame semantics matured in India from deep thematic analysis. It is argued that lexical, syntactic, semantic and pragmatic aspects work together in a mutually dependent way and their synergy is best represented in the aspect oriented approach. The software architecture is presented with an augmented Unified Modeling Language.

Keywords: Language engineering, parsing, software design, user experience.

Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1085076

Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1746

References:


[1] R. S. Pressman, Software Engineering: A Practitioner-s Approach. (7th ed.), McGraw-Hill, 2010.
[2] Y. Wang, Software Engineering Foundations: A Software Science Perspective, Auerbach Publications, 2008.
[3] M. Shaw, and D. Garlan, "Formulations and Formalisms in Software Architectures", Computer Science Today: Recent Trends and Developments, Springer-Verlag LNCS, 1000, 307-323, 1995.
[4] E. Braude, and M. Bernstein, Software Engineering: Modern Approaches, (2nd Edition), John Wiley & Sons, 2011.
[5] C. Chavez, A. Garcia, U. Kulesza, C. Sant-Anna, C. Lucena. Taming Heterogeneous Aspects with Crosscutting Interfaces. Journal of the Brazilian Computer Society, 2006.
[6] E. Baniassad, P. Clements, J. Araujo, A. Moreira, A. Rashid, and B. Tekinerdogan, Discovering Early Aspects, IEEE Software, 2006.
[7] I. Krechetov, B. Tekinerdogan, and A. Garcia. Towards an integrated aspect-oriented modeling approach for software architecture design. In . In 8th Aspect-Oriented Modeling Workshop, Aspect-Oriented Software Development (AOSD) 2006.
[8] A. Navasa , M. A. Pérez , J. M. Murillo , J. Hern├índez. Aspect Oriented Software Architecture: A Structural Perspective, Proceedings of the Aspect-Oriented Software Development (AOSD), 2002.
[9] J. Hong, "Why is Great Design so Hard?", Communications of the ACM, July 2010.
[10] J. L. Azevedo, B. Cunha, and L. Almeida, "Hierarchical Distributed Architectures for Autonomous Mobile Robots: A case study", in Proceedings of the IEEE Conference on Emerging Technologies and Factory Automation, 2007.
[11] D. E. Knuth, Seminumerical Algorithms: The Art of Computer Programming 2. Addison-Wesley, Reading, Mass., 1969
[12] D. Gries, The Science of Programming. Springer, 1981.
[13] W. Humphrey, Managing the Software Process, Reading, MA. Addison-Wesley.
[14] I. Sommerville, Software Engineering, 9th Edition, Addison Wesley, 2010.
[15] S. Pfleeger, and J. Atlee, Software Engineering, Prentice-Hall, 2010.
[16] B. Agarwal, S. Tayal and M. Gupta, Software Engineering and Testing, Jones and Bartlet, 2010.
[17] F. Tsui, and O. Karam, Essentials of Software Engineering, 2nd Ed., Jones and Bartlet, 2011.
[18] L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, 2nd Edition Addison-Wesley, 2003.
[19] J. Miller, and J. Mujerki, Editors, MDA Guide, Version 1, OMG Technical Report. Document OMG/200-05-01, http://www.omg.com/mda, 2003.
[20] N. Chomsky, New Horizons in the Study of Language and Mind, Cambridge University Press., 2000.
[21] R. Hausser, Foundations of Computational Linguistics: Humancomputer Communication in Natural Language. (2nd ed.), Springer, New York, 2001.
[22] A. Abeille, and O. Rambow, Tree Adjoining Grammars. Univ. of Chicago Press., 2001.
[23] J. Allen, Natural Language Understanding. 2nd ed. Addison-Wesley, New York, 1995.
[24] P. Culicover, Natural Language Syntax, Oxford University Press., 2008.
[25] H. Alshawi, The Core Language Engine. MA: MIT Press., 1992.
[26] L. Iwanska, and S. Shapiro, (Eds.), Natural Language Processing and Knowledge Representation: Language for Knowledge and Knowledge for Language. AAAI Press. 2000.
[27] D. Jurafsky, Speech and Language Processing: An Introduction to Natural Language Processing, computational linguistics and speech recognition. Prentice Hall., 2000.
[28] A. Cruse, Meaning in Language: An introduction to Semantics and Pragmatics. (2nd ed.). Oxford Univ. Press., 2004.
[29] R. Rumbaugh, I. Jacobson, and G. Booch, The Unified Modeling Language Reference Manual. (2nd Edition), Addison Wesley, 2005.
[30] G.M. Green, Semantics and Syntactic regularity. Fitzhenry & Whiteside Limited, Don Mills, Ontario, 1974.
[31] P. P. Dey, Y. Hayashi, and E. Battistella, (1989). A combination of strategies for parsing grammatical agreement in Hindi. International Journal of Pattern Recognition and Artificial Intelligence, 3, 1989, 261-273.
[32] R. D. Van Valin, Exploring the Syntax-Semantics Interface. Cambridge University Press, 2005.
[33] P. P. Dey, B. Bryant, and T. Takaoka, Lexical Ambiguity in Tree Adjoining Grammars, Information Processing Letters, 34, 1990, 65-69.
[34] D. Cohen, Introduction to Computer Theory , 2nd Edition, John Wiley & Sons, 1997.
[35] C. Fillmore, The case for case. In E. Bach & R. T. Harms (Eds.). Universals in Linguistic Theory. New York: Holt, Rinehart and Winston, 1968.
[36] C. Fillmore, Frames and the semantics of understanding. Quaderni di Semantica 6.2, 222-254, 1985.
[37] R. Schank, and R. P. Abelson, Scripts, Plans, Goals, and Understanding, Lawrence Erlbaum. 1977.
[38] B. Tekeinerdogan, and M. Aksit, "Classifying and Evaluating Architecture Design Methods", in M. Aksit (editor), Software Architectures and Component Technology, Kluwer Academic Publishers, 2002.
[39] P. Clements, R. Kazman, and M. Klein. Evaluating Software Architectures. Addison-Wesley, 2005.