Separation of concerns is at the heart of software development, and although its benefits have been well established, the core problem remains how to achieve it. For complex software systems the solution is still debatable and it is a major research area. Object Oriented Programming (OOP) works well only if the problem at hand can be described with relatively simple interface among objects. Unfortunately, this is not the case when we move from sequential programming to concurrent and distributed programming. The September 1993 CACM issue was devoted to the problematic marriage between OOP and Concurrency [Cohen 93]. Since then, numerous workshops, articles and books have attempt to tackle the problem. The core complexity is that concurrent and distributed systems manifest over more than one dimension. Features such as scheduling, synchronization, fault tolerance, security, testing and verifications are all expressed in such a way that they tend to cut across different objects. Hence, simple object interfaces are violated and the traditional OOP benefits no longer hold. One of the current attempts to resolve this issue is the Aspect Oriented Software Architecture. To address this multi-dimensional structure of concurrent systems we distinguish between components and aspects. Aspects are defined as properties of a system that do not necessarily align with the system's functional components but tend to cut across functional components, increasing their interdependencies, and thus affecting the quality of the software. Although not bound to OOP, Aspect-Oriented Programming (AOP) is a paradigm proposal that retains the advantages of OOP and aims at achieving a better separation of concerns. In this paper we provide an assessment of AOP and we discuss the architecture of an aspectoriented framework. The goals of our proposal is to achieve an improved separation of concerns in both design, and implementation, to provide adaptability, and to support the complex interaction among non-orthogonal aspects.
Electronic information services are robust platforms that impact daily life and facilitate new research. Increasing software modularity and reusability saves time and money. Numerous designs and programming are challenging when developing a complex educational information system. This article proposes a new paradigm of multi-dimensional information layers, aspects, functional data, and composition rules in software development to create practical educational information platforms. The proposed approach uses aspect orientation throughout educational information's software development life cycle, from planning to implementation and evaluation. Finally, the authors demonstrate and evaluate the design model's modularity and adaptation through fine-granularity design and class reuse. The result reduces invasive changes, promotes modularity and reuse, and eliminates duplication in component-based software design.
End user involvement is crucial in improving software development processes. Hence, nowadays user interface (UI) and user experience (UX) are particularly concerned with end user interactions in many software designs as most methodologies have inconsistencies between design and implementation. Besides, it is relatively difficult to make changes in complex software and personal finance application is one of the more complex software to design, develop, and adapt. This paper proposes the development of a mobile personal finance application using informative multidimensional layering. We have separated functional data cutting across the relationships of three categories and datasets showing operational semantics of dimensions, and combined layers of three-dimensional information including aspect elements through components. This study is concerned with the corresponsive composition of end user features using visual interfaces. It is illustrated in a Three-layer User Interface Composition Model to transfer and compose layers, functional data, aspect elements, and components to Graphical User Interfaces (GUIs). Therefore, an integrated view of the software system would make the design and implementation consistent to support our framework in a more straightforward manner.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.