• 제목/요약/키워드: software architecture

검색결과 1,974건 처리시간 0.026초

자율성 및 상호작용성을 위한 에이전트 아키텍처 설계 (Designing an Autonomous and Interactive Agent Architecture)

  • 박원영;박수용
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제30권10호
    • /
    • pp.955-972
    • /
    • 2003
  • 최근 몇 년간 소프트웨어 에이전트가 소프트웨어 공학의 새로운 추상화 단위로서 연구되고 있다. 자율성, 적응성, 협력성 등의 속성을 갖는 에이전트는 특히 분산 시스템, 오픈 시스템, 복잡한(complex) 시스템 등의 영역에서 시스템을 구성하는 새로운 추상화 단위로서 이해되고 있다. 그러나 에이전트에 관한 개념과 특성에 관한 연구가 꾸준히 진행되고 있음에도 불구하고, 에이전트의 다양한 속성과 에이전트 아키텍처에 대한 표준화의 부재로 인해 현재까지 일반화된 에이전트 아키텍처가 제시되지 않고 있다. 에이전트 아키텍처는 시스템의 분석과 설계 시 에이전트 추출의 기준을 제시하고, 전체 소프트웨어 아키텍처를 결정하는 중요한 요소가 된다. 또한 규정된 에이전트 아키텍처는 재사용 가능한 산출물로서 세부 기능을 확장할 수 있는 구조적 틀을 제공하고 개발 공정 전체를 효율적으로 이끌 수 있다. 본 논문에서는 이 같은 연구의 필요성을 바탕으로 객체 지향 설계 방법을 이용하여, 자율성 및 상호작용성을 위한 에이전트 아키텍처 설계 방안을 제시하고자 한다. 자율성과 상호작용성을 에이전트의 일반적인 속성으로 규정하고, 객체 지향 설계 방법을 이용하여 에이전트 아키텍처 설계 방안을 제시한다.

Visual Component Assembly and Tool Support Based on System Architecture

  • Lee, Seung-Yun;Kwon, Oh-Cheon;Shin, Gyu-Sang
    • ETRI Journal
    • /
    • 제25권6호
    • /
    • pp.464-474
    • /
    • 2003
  • Component-based development leverages software reusability and reduces development costs. Enterprise JavaBeans (EJB) is a component model developed to reduce the complexity of software development and to facilitate reuse of components. However, EJB does not support component assembly by a plug-and-play technique due to the hard-wired composition at the code level. To cope with this problem, an architecture for EJB component assembly is defined at the abstract level and the inconsistency between the system architecture and its implementation must be eliminated at the implementation level. We propose a component-based application development tool named the COBALT assembler that supports the design and implementation of EJB component assembly by a plug-and-play technique based on the architecture style. The system architecture is first defined by the Architecture Description Language (ADL). The wrapper code and glue code are then generated for the assembly. After the consistency between the architecture and its implementation is checked, the assembled EJB components are deployed in an application server as a new composite component. We use the COBALT assembler for a shopping mall system and demonstrate that it can promote component reuse and leverage the system maintainability.

  • PDF

컴포턴트 기반 소프트웨어 개발을 위한 도메인 분석 및 설계 방법 (A Method of Domain Analysis and Design for Component-based Software Development)

  • 하현주;문미경;염근혁
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제28권10호
    • /
    • pp.743-756
    • /
    • 2001
  • CBSD(Component-Based Software Development)는 이미 존재하는 소프트웨어 컴포턴트를 조립함으로써 시스템을 개발하는 방법이다. 컴포턴트를 이용하여 시스템을 개발하는것을 개발시간과 비용을 줄이고, 생산성을 향상시키는 등 여러 가지 장점을 가진다. 그러나 여러 벤더에 의해 개발된 컴포넌트를 조립하는 것은 쉬운 일이 아니다. 이를 위해 컴포넌트가 어떤 문맥에서 사용되는지 이해하는것이 필요하며, 이 문맥은 아키텍쳐에 의해 결정된다. 따라서 컴포넌트 기반의 어플리케이션 개발은 아키텍쳐를 기반으로 하였을 때 가능하다. 또한 컴포넌트 기반 어플리케이션 개발을 위해서는 도메인 개념이 필수적이다 컴포넌트의 재상용을 높이기 위해서 관련된 시스템의 집합인 도메인에서 컴포넌트를 개발해야 한다. 본 논문에서는 컴포넌트 기반 어플리케이션 개발을 지원하는 도메인 아키텍쳐 개발방법을 제안한다. 도메인 아키텍쳐는 도메인 분석 및 설계과정에서 생성되는 것으로 컴포넌트와 그들간의 관계를 표현한다. 도메인 아키덱쳐를 이용하여 컴포넌트를 개발함으로써 재사용성이 높은 컴포넌트를 효율적으로 개발할수 있을 뿐만 아니라, 어플리케이션 개발 시 도메인에서 제공하는 정보를 이용하여 쉽게 어플리케이션을 개발할수 있다.

  • PDF

아키텍처 기반의 결정적 소프트웨어 진화계획의 가치 평가 (Valuation of Architecture-based Deterministic Plan for Software Evolution)

  • 강성원
    • 정보처리학회논문지D
    • /
    • 제16D권5호
    • /
    • pp.755-766
    • /
    • 2009
  • 소프트웨어 아키텍처는 소프트웨어 시스템이 존재하기에 앞서 소프트웨어 시스템에 관한 많은 결정을 내릴 수 있게 하고 아키텍처 수준에서 시스템을 분석 가능하게 함으로써 체계적으로 계획 된 소프트웨어 개발이 가능하도록 한다. 이와 마찬가지로 아키텍처 기반의 소프트웨어 진화 계획은 소프트웨어 진화가 진행되기 이전에 아키텍처 수준에서 진화에 대한 많은 단계별 결정들을 내리고 분석하게 함으로써 체계적으로 계획된 진화가 가능하도록 한다. 본 논문은 아키텍처 기반의 결정적 진화계획에 대하여 소프트웨어 진화계획에 관련된 용어들과 개념들을 정의하고 또한 결정적 소프트웨어 진화계획들로부터 최적의 선택을 할 수 있도록 진화설계를 가치관점에서 평가하는 프레임워크를 제시함으로써 아키텍처 기반의 소프트웨어 진화 계획을 수립하는 방법론적 기반을 제공한다. 또한 본 연구의 프레임워크를 적용한 사례를 통하여 제안하는 프레임워크의 적용방법과 효용성을 보인다.

C2 아키텍쳐 스타일을 위한 UML2.0 프로파일의 확장 (Extending UML2.0 Profile of the C2 Architecture Style)

  • 노성환;전태웅;승현우
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권1호
    • /
    • pp.17-31
    • /
    • 2006
  • 소프트웨어 아키텍쳐는 소프트웨어 시스템의 상위 수준 모델이다. 이러한 소프트웨어 아키텍쳐는 명료하고 엄밀한 표현을 위해 아키텍쳐 기술 언어(ADL)를 사용하여 기술된다. 하지만 대부분의 ADL들은 C2 스타일 ADL(C2SADL)처럼 소프트웨어 시스템의 개발에 필요한 요소들 중에서 특정한 관점만을 고려하여 정의되었거나 별도의 표기형식으로 배워야 하는 부담이 있기 때문에 아키텍쳐를 명세하는 언어로서 정착되지 못하였다. 반면 UML은 범용 모델링 언어로서 소프트웨어 개발의 전 과정에 일관된 표기형식과 폭넓은 지원도구들을 제공하고 있으므로 소프트웨어 개발을 위한 사실상의 표준 언어로 자리잡았다. 그러나 UML은 소프트웨어 아키텍쳐를 표현하도록 설계된 것은 아니기 때문에 UML을 사용하여 아키텍쳐를 표현하기 위해서는 UML을 확장, 변경하여야 한다. 본 논문에서는 UML2.0에 기반한 C2 아키텍쳐 모델링 언어 프로파일을 정의하였다. 정의된 C2 아키텍쳐 모델링 언어는 식당 예약 시스템을 모델링 하는데 사용되었다.

UML 2.0 기반의 Generic ADL 정의 (Generic ADL Definition based on UML2.0)

  • 노성환;김경래;전태웅;윤석진
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권2호
    • /
    • pp.167-185
    • /
    • 2006
  • 소프트웨어 시스템의 상위 수준 모델인 소프트웨어 아키텍쳐는 아키텍쳐 기술 언어(ADL)를 사용하여 표현된다. 하지만 ACME와 같은 대부분의 ADL들은 별도의 표기형식으로 배워야 하는 부담이 있기 때문에 아키텍쳐를 명세하는 언어로서 정착되지 못하였다. 반면 VML은 범용 모델링 언어로써 소프트웨어 개발의 전 과정에 일관된 표기형식과 폭넓은 지원도구들을 제공하고 있으므로 소프트웨어 개발을 위한 사실상의 표준 언어로 자리잡았다. 그러나 UML은 소프트웨어 아키텍쳐를 표현하도록 설계된 것은 아니기 때문에 UML을 사용하여 아키텍쳐를 표현하기 위해서는 UML을 확장, 변경하여야 한다. 지금까지 아키텍쳐 모델링에 UML을 이용하기 위한 많은 연구가 진행되어 왔다. 하지만 지금까지의 이러한 연구의 대부분은 아키텍쳐의 핵심 개념들의 표현이 미흡했던 UML1.x에 기반하고 있으며 곧 발표될 UML2.0에서는 이전 버전에서 미흡했던 아키텍쳐 모델링에 유용한 개념들이 많이 추가되었다. 본 논문에서는 UML2.0에 기반한 아키텍쳐 모델링 언어를 정의하였다. UML2.0을 확장하여 Generic ADL을 정의하였으며 정의된 아키텍쳐 모델링 언어는 식당 예약 시스템을 모델링 하는데 사용되었다.

군 모바일 단말기를 위한 자가적응 소프트웨어 기반 MOSAIC 아키텍처 설계 및 검증 (A Design and Verification of MOSAIC Architecture Based on Self-Adaptive Software for the Military Mobile Equipment)

  • 김종영;윤희병
    • 한국군사과학기술학회지
    • /
    • 제13권5호
    • /
    • pp.852-860
    • /
    • 2010
  • An environment in which the software is operated become more complex and changed dynamically. Such software requires the ability to adapt in accordance with operating environments, by monitoring the changes of user requirements and operating environments. Especially, the mobile device used in military operation requires more dynamical adaptation than the mobile device in normal environment. In this paper, we propose MOSAIC architecture based on Self-Adaptive Software suitable for military mobile device and verify the results. The proposed architecture consists of context manager, evaluation manager and adaptation manager. We simulate the MOSAIC architecture by modelling PRE(Position Reporting Equipment) used in the army and verify four types of operational mode and dynamical reconfiguration of user interface.

아키텍처 변환 패턴을 이용한 소프트웨어 시스템 진화 프레임워크 (A Framework for Software System Evolution using Architectural Transformation Pattern)

  • 박태현;안휘;강성원;박종빈;황상철
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제26권1호
    • /
    • pp.17-29
    • /
    • 2013
  • 소프트웨어 시스템 진화는 소프트웨어 시스템의 유지보수의 일종으로 계획적이고 체계적인 유지보수 프로세스이다. 소프트웨어 진화 연구는 기존 시스템의 비용편익 분석을 통해 시스템의 유지가치에 대한 판단 근거를 제공하며, 아키텍처를 기반으로 하는 진화는 반복적인 진화 작업의 자동화를 가능케 하여 유지보수 비용 감소를 가능하게 해주는 연구이다. 본 논문에서는 아키텍처 변환패턴을 이용한 소프트웨어 시스템 진화 프레임워크를 제안한다.

  • PDF

ADD 3.0 기반 전자전 소프트웨어의 계층적 아키텍처 연구 (Research on the Layered Architecture for Electronic Warfare System Software based on Attribute-Driven Design 3.0)

  • 이정우;김수진;허진혁;장효정;한진우
    • 한국군사과학기술학회지
    • /
    • 제27권2호
    • /
    • pp.247-255
    • /
    • 2024
  • Development of electronic warfare(EW) software has become increasingly challenging due to stricter regulations, shorter development cycles, and increased reliability testing. Consequently, software development often proceeds without proper architecture design, which can lead to missing critical quality requirements and potential system redesigns. In this study, we propose using Attribute-Driven Design(ADD) 3.0 to design software architecture specifically tailored for EW systems, enabling a more systematic approach to address quality requirements. The paper presents an overview of EW software and ADD 3.0 methodology, followed by an analysis of the architecture design results using static and dynamic views. The paper concludes by discussing the effectiveness of the proposed architecture design.

수중로봇 소프트웨어 시스템의 요구사항을 반영한 ROS 기반의 계층화된 소프트웨어 아키텍처의 설계 (Design of Layered Software Architecture Based on ROS That Reflects the Requirements of Underwater Robot Software System)

  • 이정우;최영호;이종득;윤성조;서진호
    • 대한임베디드공학회논문지
    • /
    • 제12권5호
    • /
    • pp.303-310
    • /
    • 2017
  • Underwater robots operating in constrained underwater environment have requirements for software systems. Firstly, it is necessary to provide reusable common software components for hardware interface of sensors and actuators that are frequently used in underwater robots. Secondly, it is required to support distributed execution environment on multiple embedded controllers. Thirdly, it is need to implement a monitoring system capable of high-speed and large-data transmission for underwater robots operating in an environment where it is difficult to check the robot status. For these requirements, we have designed the layered architecture pattern and applied several design patterns to enhance the reusability and the maintainability of software components, In addition, we overlaid the broker architecture pattern to support distributed execution environments. Finally, we implemented the underwater robot software system using ROS framework based on the software architecture design. In order to evaluate the performance of the implemented software system, we performed an experiment to measure the response time between components and the transmission rate of the monitoring data, and obtained the results satisfying the required performance.