• 제목/요약/키워드: 소프트웨어 디자인 패턴

검색결과 97건 처리시간 0.021초

UML 상태 다이어그램을 위한 코드 구현 모델의 생성 방법 (A Method of Generating Code Implementation Model for UML State Diagrams)

  • 김윤호
    • 한국정보통신학회논문지
    • /
    • 제26권10호
    • /
    • pp.1509-1516
    • /
    • 2022
  • 본 논문에서는 UML 상태 다이어그램으로부터 코드 구현 모델을 생성하는 방법을 제시한다. 첫째로 상태 다이어그램의 상태를 객체화하고, 상태 디자인 패턴에 기반하여 동작 메커니즘을 구조화한다. 다음으로 이 구조에 기반하여 컨텍스트 클래스와 이의 인터페이스 역할을 하는 추상 상태 클래스, 그리고 하위 구상 클래스의 구현 코드를 생성하는 규칙들을 설정한다. 이들 규칙들은 Java의 언어 구조에 기반해서, 상태 다이어그램의 상태들과 동작들에 대한 코드 구현 모델을 생성하게 된다. 한편, 코드의 자동 생성을 위해서는 코드 모델로부터 코드 생성을 위해 구조화된 정보가 필요하다. 따라서, 코드 생성을 위한 정보를 메타 클래스 모델과 메타 행위 모델 형태로 구조화하여 구축한다. 이 메타 정보들에 기반하여 상태 다이어그램으로부터 Java 프로그래밍 언어로의 자동 코드 생성을 위한 엔진의 구축이 가능하다. 또한 코드 모델 생성 엔진은 독자적으로 또는 UML 도구의 상태 다이어그램 기능을 지원하는 도구에 통합된 모듈로서 사용될 수 있다.

의존성 주입을 활용한 서바이벌 게임 API 설계 및 구현 (Design and Implementation of the Survival Game API Using Dependency Injection)

  • 박인규;최규석
    • 한국인터넷방송통신학회논문지
    • /
    • 제23권4호
    • /
    • pp.183-188
    • /
    • 2023
  • 게임 오브젝트의 상속 및 여러 가지의 컴포넌트를 이용하여 시스템 아키텍처의 시각화, 우수한 코드 재사용 및 빠른 프로토타이핑이 가능하다. 반면에 객체는 게임 오브젝트와 컴포넌트 간의 높은 대기 시간, 정적 형변환과 널 포인터등의 많은 참조에 의존하기 마련이다. 게임 제작시에 여러 클래스에 대한 객체의 의존도를 낮추고 코드의 재사용이 가능하도록 설계하는 것은 중요한 일이다. 따라서 의존성 주입(Dependency Injection)과 GoF(Gang of Four)가 제안한 디자인 패턴들을 적용하여 클래스의 모듈성을 더욱 높일 수 있도록 게임을 설계하였다. 이러한 의존성은 게임 오브젝트의 속성이고 주입은 초기화 패스에서만 발생하므로 게임 루프에서 성능 저하나 성능 페널티는 미세하다. 따라서 본 논문에서는 서바이벌 게임의 설계와 구현에 있어서 API(Application Programming Interface)를 효과적으로 재사용하는 효율적인 설계방법을 제안하였다.

임베디드 시스템의 결함 주입 기반 간접 상호작용 테스팅 기법 (Fault Injection Based Indirect Interaction Testing Approach for Embedded System)

  • ;이우진
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제6권9호
    • /
    • pp.419-428
    • /
    • 2017
  • 임베디드 시스템에서는 모듈간의 상호작용으로 데이터를 주고 받는다. 이때 오류가 포함된 리소스 데이터를 전달하면 시스템의 실행 오류를 유발할 수 있다. 상호작용에 활용되는 리소스들은 모듈간의 의존관계를 만들며 의존관계에 있는 모듈의 변화가 다른 모듈의 기능에 영향을 미치게 된다. 몇몇 임베디드 시스템 조사 자료에 따르면 모듈간의 상호작용 오류가 심각한 소프트웨어 실패의 원인이 되기도 한다. 상호작용 테스팅 단계에서는 이러한 상호작용 오류를 검출하여 시스템 실패의 위험을 낮추고자 한다. 모듈간의 상호작용은 직접 또는 간접적으로 일어난다. 직접적인 상호작용은 모듈의 직접 호출을 통해 이루어지며, 간접 상호작용은 직접호출 이외에 리소스 데이터의 의존성을 통해 나타난다. 이 연구에서는 직접 상호작용에 의한 오류 검출 방식에서는 발견되지 않는 간접 상호작용과 연관된 오류를 검출하고자 한다. 먼저 상호작용 패턴을 분석하여 상호작용 모델을 생성하고 이를 기반으로 상호작용 오류를 검출하는 테스트 케이스 디자인 방법을 제안한다. 마지막으로 결함 주입 기법을 이용하여 제안된 방법의 효용성 및 실효성을 분석한다.

미래주택에 적용될 고령친화기술의 특성연구 (Characteristics of Integrated Aging-friendly Technologies into Future Smart Housing)

  • 최경옥;이연숙;황지혜
    • 디자인융복합연구
    • /
    • 제15권2호
    • /
    • pp.1-15
    • /
    • 2016
  • 본 연구의 목적은 고령화 사회에서 융합될 수 있는 미래 스마트주택의 고령친화기술 특성을 분석하는 것이다. 이를 위해 먼저 스마트융합기술을 전문적으로 다루고 있는 대표적인 국제 저널 ICOST의 게재 논문을 중심으로 고령친화기술 특성의 주요 분석유목을 선별하였다. 2007년~2014년까지 발표된 215개의 논문 중 사용자 지향적 기준에 해당되는 논문 65개를 재 선별하였다. 그리고 선별 된 논문에 나타난 기술 항목은 76개의 요소로 세분화 하였다. 분류된 기술 항목의 특성은 크게 기술의 개발목적과 기술의 적용방식 두 가지 측면으로 구분되었다. 기술의 개발목적에서는 지속가능한 노인의 독립적 생활을 지원하기 위한 사용자의 생리적, 심리적, 편의성, 건강성, 오락성이 우선적으로 고려되고 있었다. 기술의 적용방식에서는 하드웨어와 소프트웨어 두 가지로 측면으로 접근하고 있었으며, 소프트웨어는 활용 프로그램을 위주로, 하드웨어 부분은 주택의 고정적인 구조체에서 부터 이동성이 용이한 주택 내 가구, 제품, 착용아이템(wearable device), 로봇 등으로 나타났다. 그리고 구조체나 가구보다 가변적이고 융통적으로 활용 가능한 생활 제품이 압도적으로 많은 것으로 볼 때 기술의 적용방식 연구 추세에 있어서 로봇기술 분야는 더욱 많이 증가될 것으로 나타났다. 이러한 점은 미래 스마트주택의 고령친화기술에 있어 노인 개개인의 신체적·심리적·사회적 특성을 고려한 사용자의 라이프 스타일에 보다 맞춤으로서 노인은 물론 다양한 연령과 생활패턴을 수용할 수 있는 범용적인 단계로 발전될 것으로 여겨진다.

Independent I/O Relay Class Design Using Modbus Protocol for Embedded Systems

  • Kim, Ki-Su;Lee, Jong-Chan
    • 한국컴퓨터정보학회논문지
    • /
    • 제25권6호
    • /
    • pp.1-8
    • /
    • 2020
  • 스마트팩토리, 산업용 드론, 빌딩 에너지 관리 시스템, PLC, 선박, 기차 및 비행기를 포함한 산업현장에서 Modbus프로토콜을 사용하여 시스템 모듈 간 통신을 적용한다. 기존의 Modbus는 시리얼 직렬통신으로 사용되었지만, 최근 Modbus프로토콜은 TCP/IP 통신으로 사용된다. Modbus프로토콜은 3가지 유형의 RTU, TCP 및 ASCII를 지원하고 임베디스 시스템에 프로토콜을 구현 하여 사용 한다. 하지만 RTU, TCP, ASCII기반의 프로토콜은 각 송신 I/O장치가 다를 수 있다. 예를 들어 RTU, ASCII 통신은 시리얼기반으로 통신 프로토콜을 송신하지만 이더넷 TCP/IP 송신을 요구하는 경우도 있다. 이와 같은 문제는 특히 임베디드 시스템에서 C언어(절차 지향)를 사용하기 때문에 I/O레지스터 관련 소스코드의 복잡성 증가 문제가 발생된다. 본 연구는 임베디드 장치에서 I/O함수를 논리적으로 분리가능한 소프트웨어 설계를 진행하고, 더불어 대리자 클래스 인스턴스를 통하여 I/O처리가 필요한 각 인스턴스의 수행 로직을 Modbus RTU, TCP, ASCII프로토콜 생성으로 설계 하였고 인스턴스별 통신 I/O처리와 논리적 수행 로직을 분리 가능한 소프트웨어 설계와 실험을 하였다.

가지 구조와 간극 급전을 사용한 휴대 단말기용 소형 유전체 다중 대역 칩 안테나 (A Design of the Multiband Small Chip Antenna Using the Branch Structure and Gap Feeding for Mobile Phone)

  • 김민찬;김형훈;박종일;김형동
    • 한국전자파학회논문지
    • /
    • 제18권3호
    • /
    • pp.298-304
    • /
    • 2007
  • 본 논문에서는 다중대역 (GSM850, EGSM, DCS1800, USPCS, W-CDMA)에서 동작하는 안테나에 대해 제안하고 있다. 상기 안테나는 상용 소프트웨어인 HFSS 3-D 시뮬레이터로 설계되었으며, FR-4(비유전율 4.4) PCB 기판위에 원형 도통관(via)과 금속 패턴으로 이루어진 미앤더 가지 구조로 구성되어 있다. 특히 이 안테나에는 전체 대역폭의 성능 향상을 위해 간극 급전 구조를 사용하였다. 디자인된 안테나는 PCB 공정을 이용하여 제작되었고, 네트웍 분석기와 테스트 챔버를 사용하여 측정하였다. 폭 8 mm에 높이 20 mm, 두께 3.2 mm의 크기를 차지하는 제작된 안테나는 다중 대역 이동 통신 단말기의 내부에 장착하여 사용할 수 있다.

서비스 지향 XL-BPMN 메타모델과 비즈니스 모델링 프로세스 (An Service oriented XL-BPMN Metamodel and Business Modeling Process)

  • 송치양;조은숙
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제2권4호
    • /
    • pp.227-238
    • /
    • 2013
  • 업무에 초점을 둔 BPMN 모델은 서비스 지향 비즈니스 모델링에 한계점을 안고 있다. 이에, SOA 기반의 시스템 개발을 위해 서비스 수준에서 복잡한 응용 시스템을 디자인할 수 있는 서비스 지향의 비즈니스 모델링 기법이 요구된다. 본 논문은 BPMN 비즈니스 모델의 모듈성과 재사용성을 향상시키기 위해, 서비스 지향으로 BPMN 모델을 계층적으로 구축할 수 있는 메타모델과 이에 기반한 비즈니스 모델링 프로세스를 제시한다. 이를 위해, BPMN 모델의 모델링 요소들을 MDA와 MVC 패턴에 의해 계층화하고 서비스 지향의 모델링을 위한 확장된 XL-BPMN 메타모델을 정의한다. 이 메타모델의 모델링 요소를 이용해서, 모델링 단계에 의한 BPMN 서비스 모델링 프로세스를 정립한다. 이 기법은 온라인쇼핑몰시스템의 비즈니스 모델링에 사례로서 적용되고 평가되어진다. 잘 정의된 메타모델과 모델링 프로세스를 통해, 서비스 중심의 BPMN 비즈니스 모델을 생성할 수 있고, BPMN 모델의 모듈성을 증진시킬 수 있으며, 또한 독립적으로 재사용 가능한 모델의 수를 극대화할 수 있다.