Aspect Oriented Software Architecture

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.




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.