Aspect-Driven Design of Information Systems
Contemporary enterprise web applications deal with a large stack of different kinds of concerns involving business rules, security policies, cross-cutting configuration, etc. At the same time, increasing demands on user interface complexity make designers to consider the above concerns in the presentation. To locate a concern knowledge, we try to identify an appropriate system component with the concern definition. Unfortunately, this is not always possible, since there exist concerns cross-cutting multiple components. Thus to capture the entire knowledge we need to locate multiple components. In addition to it, often, we must restate the knowledge in the user interface because of technological incompatibility between the knowledge source and the user interface language. Such design suffers from tangled and hard to read code, due to the cross-cutting concerns and also from restated information and duplicated knowledge. This leads to a product that is hard to maintain, a small change becomes expensive, error-prone and tedious due to the necessity of manual changes in multiple locations.
This paper introduces a novel approach based on independent, description of all orthogonal concerns in information systems and their dynamic automated weaving according to the current user’s context. Such approach avoids information restatement, speeds up development and simplifies maintenance efforts due to application of automated programming and runtime weaving of all concerns, and thus distributes the knowledge through the entire system.
KeywordsAspect-oriented design Business logic Model-driven development Reduced maintenance and development efforts
Unable to display preview. Download preview PDF.
- 1.Cerny, T., Donahoo, M.J.: How to reduce costs of business logic maintenance. In: 2011 IEEE International Conference on Computer Science and Automation Engineering (CSAE), vol. 1, pp. 77–82. IEEE (2011)Google Scholar
- 2.Cerny, T., Donahoo, M.J., Song, E.: Towards effective adaptive user interfaces design. In: Proceedings of the 2013 Research in Applied Computation Symposium (RACS 2013) (October 2013)Google Scholar
- 3.Cerny, T., Song, E.: Model-driven rich form generation. International Information Institute(Tokyo). Information 15(7), 2695–2714 (2012)Google Scholar
- 4.Chinnici, R., Shannon, B.: JSR 316: JavaTM Platform, Enterprise Edition (Java EE) Specification, v6 (2009)Google Scholar
- 5.Fowler, M.: Patterns of enterprise application architecture. Addison-Wesley Longman Publishing Co., Inc. (2002)Google Scholar
- 6.Fowler, M.: Domain-specific languages. Pearson Education (2010)Google Scholar
- 7.Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: Abstraction and reuse of object-oriented design. Springer (2001)Google Scholar
- 9.Kelly, S., Tolvanen, J.P.: Domain-specific modeling: enabling full code generation. Wiley. com (2008)Google Scholar
- 10.Kennard, R., Steele, R.: Application of software mining to automatic user interface generation (2008)Google Scholar
- 11.Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. Springer (1997)Google Scholar
- 12.Kleppe, A.G., Warmer, J.B., Bast, W.: MDA explained, the model driven architecture: Practice and promise. Addison-Wesley Professional (2003)Google Scholar
- 13.Laddad, R.: Aspectj in action: enterprise AOP with spring applications. Manning Publications Co (2009)Google Scholar
- 14.Stoerzer, M., Hanenberg, S.: A classification of pointcut language constructs. In: Workshop on Software-engineering Properties of Languages and Aspect Technologies (SPLAT) Held in Conjunction with AOSD (2005)Google Scholar