• Title/Summary/Keyword: Aspect-Oriented

Search Result 323, Processing Time 0.026 seconds

AJFCode: An Approach for Full Aspect-Oriented Code Generation from Reusable Aspect Models

  • Mehmood, Abid;Jawawi, Dayang N.A.
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.16 no.6
    • /
    • pp.1973-1993
    • /
    • 2022
  • Model-driven engineering (MDE) and aspect-oriented software development (AOSD) contribute to the common goal of development of high-quality code in reduced time. To complement each approach with the benefits of the other, various methods of integration of the two approaches were proposed in the past. Aspect-oriented code generation, which targets obtaining aspect-oriented code directly from aspect models, offers some unique advantages over the other integration approaches. However, the existing aspect-oriented code generation approaches do not comprehensively address all aspects of a model-driven code generation system, such as a textual representation of graphical models, conceptual mapping, and incorporation of behavioral diagrams. These problems limit the worth of generated code, especially in practical use. Here, we propose AJFCode, an approach for aspect-oriented model-driven code generation, which comprehensively addresses the various aspects including the graphical models and their text-based representation, mapping between visual model elements and code, and the behavioral code generation. Experiments are conducted to compare the maintainability and reusability characteristics of the aspect-oriented code generated using the AJFCode with the most comprehensive object-oriented code generation approach. AJFCode performs well in terms of all metrics related to maintainability and reusability of code. However, the most significant improvement is noticed in the separation of concerns, coupling, and cohesion. For instance, AJFCode yields significant improvement in concern diffusion over operations (19 vs 51), coupling between components (0 vs 6), and lack of cohesion in operations (5 vs 9) for one of the experimented concerns.

The Simulation Design and Analysis Method of Integrated Logistics System using an Aspect Oriented Approach (Aspect-Oriented Approach를 이용한 통합 물류 시스템의 시뮬레이션 설계 및 분석 방법)

  • Kim, Tae-Ho;Um, In-Sup;Lee, Hong-Chul
    • IE interfaces
    • /
    • v.20 no.4
    • /
    • pp.438-447
    • /
    • 2007
  • This paper presents an aspect-oriented approach to simulation design and analysis in system design phase for integrated logistics system simulation. The integrated logistics system composed of AS/RS (Automated Storages and Retrieval System), AGVs (Automated Guided Vehicle System), STVs (Sorting Transfer Vehicle System) and Conveyor System is designed by using the aspect-oriented approach and UML (Unified Modeling Language). The multi-factorial design of experiments and regression analysis are used for design parameters of the system and Evolution Strategies is used to verify each parameter. Aspect-oriented approach for the integrated logistics system simulation shows the advantages of code reusability, extendible, modulation, easy improvement and a better design technique.

Rule-based Aspect Oriented Approach for Efficient Service System Development (효율적인 서비스 시스템 개발을 위한 룰 기반의 관점 지향 기법)

  • Lee, Woo-Jin;Choi, Il-Woo
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.16 no.1
    • /
    • pp.735-743
    • /
    • 2015
  • The service oriented architecture assures flexibility of enterprise application development, so it supports agile reaction to business change. On the other hand, considerable effort is needed to develop a service by combining business and constraint consumes because the entire combination logic should be changed according to the change in business rule. To improve the current method, this paper applied an aspect oriented approach to service system development. In this paper, the rule concern is proposed in addition to the core concern and cross cutting concern of aspect oriented approach. The rule concern is extracted from business rules included in the business processes and services. The rule concern is classified into the process rule aspect and service rule aspect according to the level of the rule. In the proposed approach, system is modularized into the core concern, cross cutting concern and rule concern through separation of concern, and they are maintained independently. Therefore, the adaptability, reusability, and maintainability of a service system will be enhanced.

Connector for Dynamic Composition of Aspects Based on AOSD (AOSD기반에서 Aspect의 동적결합을 위한 Connector)

  • Kim Tae-Woong;Kim Tae-Gong
    • The KIPS Transactions:PartD
    • /
    • v.13D no.2 s.105
    • /
    • pp.251-258
    • /
    • 2006
  • Aspect-Oriented Software Development is new software development method. It has many advantages related to software performance, maintenance and repair. Also it offers modularization method to a existing programming language for secondary function such as security and fault tolerance. But the present problem is that we have to use new aspect-oriented programming language. Further more when we apply Aspect to legacy system, we have to recompile the source code in order to build software system based on AOSD. In this paper, we propose and design Connector that can be composed with Aspect in legacy system dynamically. To elaborate this work, we use the information of operations about Core and Aspect, and the information of pointcut described with XML. We validate that the proposed Connector has features such as no need of new compiler, no recompilation and no modification of legacy system through case study.

Implementation of Software Product-Line Variabiliy Applying Aspect-Oriented Programming (AOP를 적용한 프로덕트 라인 가변기능의 구현)

  • Heo Seung-Hyun;Choi Eun-Man
    • The KIPS Transactions:PartD
    • /
    • v.13D no.4 s.107
    • /
    • pp.593-602
    • /
    • 2006
  • Software development methodology has been developed for satisfying goals of improvement in productivity and reduction in time-to-market through the reuse of software assets. The current methods that implement software product-line, one of software development methodologies, interfere massively with the core assets, which require high cost in assembly level reducing the effectiveness. In this paper, we introduce Aspect-Oriented Programming (AOP) as a method for improving assembly process in software product-line. The method that assembles core assets and variabilities is described by grammar elements such as Join point, pointcut and advice without code-change. We analyze requirements of a mini-system as an example adapting AOP and design using UML. Our study implements the variabilities, which are from design stage, using an Aspect-Oriented Programming Language, AspectJ and prove usability and practicality by implementing the proposed idea using an Aspect-Oriented Programming Language, AspectJ.

A Design of Source Code Analysis System Using Aspect Oriented Programming (Aspect-Oriented Programming을 이용한 Source Code 분석 시스템 설계)

  • Choi, Min-Yong;Yang, Hae-Sool
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.11c
    • /
    • pp.2107-2110
    • /
    • 2002
  • 소프트웨어를 설계, 구현하는데 있어서의 어려움이란 주변 환경이나 제반 기술 등과 같은 어려움도 있겠지만 실제 프로그래머가 작성하는 소스코드의 복잡성도 그 원인중의 하나라 할 수 있다. 이와 같은 문제의 해결을 위해서는 소스코드의 접근이나 이의 테스트를 위한 결합 등의 유연성이 높은 소프트웨어 기술이 필요한 실정이다. 이에 따라 AOP(Aspect-Oriented Programming) 기술을 이용하여 소스코드 자체의 접근 및 그의 처리를 용이하게 하여 복잡한 시스템의 개발이나 기존 시스템의 관리에 있어 효율을 높이고자 한다.

  • PDF

Dynamic Software Component Composition Based On Aspect-Oriented Programming (관점지향 프로그램 기반의 동적 소프트웨어 컴포넌트 조합 패턴)

  • Bae, Sung-Moon;Park, Chul-Soon;Park, Chun-Ho
    • Journal of Korean Society of Industrial and Systems Engineering
    • /
    • v.31 no.4
    • /
    • pp.100-105
    • /
    • 2008
  • Cost reduction, time to market, and quality improvement of software product are critical issues to the software companies which try to survive in recent competitive market environments. Software Product Line Engineering (SPLE) is one of the approaches to address these issues. The goal of software product line is to maximize the software reuse and achieve the best productivity with the minimum cost. In software product line, software components are classified into the common and variable modules for composition work. In this paper, we proposed a dynamic composition process based on aspect-oriented programming methodology in which software requirements are classified into the core-concerns and cross-cutting concerns, and then assembled into the final software product. It enables developers to concentrate on the core logics of given problem, not the side-issues of software product such as transactions and logging. We also proposed useful composition patterns based on aspect oriented programming paradigm. Finally, we implemented a prototype of the proposed process using Java and Aspect to show the proposed approach's feasibility. The scenario of the prototype is based on the embedded analysis software of telecommunication devices.

Software Formal Verification Methodology using Aspect DEVS Verification Framework (Aspect DEVS 검증 틀을 이용한 소프트웨어 정형 검증 방법론)

  • Choi, Chang-Beom;Kim, Tag-Gon
    • Journal of the Korea Society for Simulation
    • /
    • v.18 no.3
    • /
    • pp.113-122
    • /
    • 2009
  • Software is getting more complex due to a variety of requirements that include desired functions and properties. Therefore, verifying and testing the software are complicated problems. Moreover, if the software is already implemented, inserting and deleting tracing/logging code into the source code may cause several problems, such as the code tangling and the code scattering problems. This paper proposes the Aspect DEVS Verification Framework which supports the verification and testing process. The Aspect DEVS Verification Framework utilizes Aspect Oriented Programming features to handle the code tangling and the code scattering problems. By applying aspect oriented features, a user can find and fix the inconsistency between requirement and implementation of a software without suffering the problems. The first step of the verification process is the building aspect code to make a software act as a generator. The second step is developing a requirement specification using DEVS diagrams and implementing it using the DEVSIM++. The final step is comparing the event traces from the software with the possible execution sequences from DEVS model.

The Design of an Extended Complex Event Model for the Event Correlation Based Network Management Systems (이벤트 상관 기반의 네트워크 관리 시스템을 위한 복합 이벤트 모델의 설계)

  • Lee, Ki-Seong;Lee, Chang-Ha;Lee, Chan-Gun
    • Journal of KIISE:Information Networking
    • /
    • v.37 no.1
    • /
    • pp.8-15
    • /
    • 2010
  • In this study, we present an extended complex event model by considering both of the complex event and the aspect-oriented programming. We propose an advanced scheme for the event specification suited for the event correlation based network management systems by merging these two models. Specifically, we extend the model to support hierarchical event structures and let the model recognize point-cuts of aspect-oriented programming as events. We provide the event operators designed to specify the events on instances and handle temporal relations of the instances. Lastly, we compare the proposed model with other event models and present the benefits of it.

A Reusable SQL Injection Detection Method for Java Web Applications

  • He, Chengwan;He, Yue
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.14 no.6
    • /
    • pp.2576-2590
    • /
    • 2020
  • The fundamental reason why most SQL injection detection methods are difficult to use in practice is the low reusability of the implementation code. This paper presents a reusable SQL injection detection method for Java Web applications based on AOP (Aspect-Oriented Programming) and dynamic taint analysis, which encapsulates the dynamic taint analysis processes into different aspects and establishes aspect library to realize the large-grained reuse of the code for detecting SQL injection attacks. A metamodel of aspect library is proposed, and a management tool for the aspect library is implemented. Experiments show that this method can effectively detect 7 known types of SQL injection attack such as tautologies, logically incorrect queries, union query, piggy-backed queries, stored procedures, inference query, alternate encodings and so on, and support the large-grained reuse of the code for detecting SQL injection attacks.