KR20060074675A - Io모델에 기반한 개발도구상에서의 화면자동생성 방법 - Google Patents

Io모델에 기반한 개발도구상에서의 화면자동생성 방법 Download PDF

Info

Publication number
KR20060074675A
KR20060074675A KR1020040113485A KR20040113485A KR20060074675A KR 20060074675 A KR20060074675 A KR 20060074675A KR 1020040113485 A KR1020040113485 A KR 1020040113485A KR 20040113485 A KR20040113485 A KR 20040113485A KR 20060074675 A KR20060074675 A KR 20060074675A
Authority
KR
South Korea
Prior art keywords
model
development tool
screen
server
component
Prior art date
Application number
KR1020040113485A
Other languages
English (en)
Inventor
박정애
Original Assignee
(주)나인트론
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)나인트론 filed Critical (주)나인트론
Priority to KR1020040113485A priority Critical patent/KR20060074675A/ko
Publication of KR20060074675A publication Critical patent/KR20060074675A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0235Character input methods using chord techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 클라이언트 프로그램을 개발하기 위한 개발도구의 자동화 방법에 관한 것으로서,서버 컴포넌트의 파라미터을 개발도구상에서 IO모델로 표현하고 이를 기반으로 화면의 컨트롤과 개별 컨트롤들의 주요속성, 서버 컴포넌트의 파라미터와의 연계를 자동으로 생성하는 개발도구의 자동화를 구현하고자 할 경우에 본 발명을 적용한다.자동화에 관한 선택사항을 개발도구에서 설정하는 (a)단계와; 업무 화면에서 연동할 어플리케이션 서버들의 목록과 플랫폼 정보를 개발도구상의 IO모델 탐색기에 시작적인 디렉토리로 추가하고 정보속성을 설정하는 (b)단계와; 상기 (b)단계에서 작성된 서버목록에서 각 서버별로 제공하는 비즈니스 컴포넌트를 추가하고 컴포넌트별 입출력 파라미터를 설정하는 (c)단계와; IO모델 탐색기에서 IO모델들을 선택해서 화면 디자이너 영역에 마우스의 드래그앤드롭(Drag and drop)등의 방법으로 자동생성을 시작하는 (d)단계와; 상기 (d)단계에서 선택된 IO모델을 기반으로 화면의 컨트롤과 속성을 자동으로 부여하고 컨트롤과 어플리케이션서버의 맵핑정보를 담고있는 맵핑컨트롤을 자동으로 생성하는 (e)단계를 포함하는 것을 특징으로 하여, 개발자는 본 발명의 방법이 포함된 소프트웨어 개발도구를 이용해서 업무용 프로그램을 개발시 수동으로 처리하던 서버와 연동하는 화면작성작업의 대부분을 자동화해서 개발시간과 정확성을 크게 향상시킬 수 있다.
IO모델, 자동생성, 컨트롤, 개발도구

Description

IO모델에 기반한 개발도구상에서의 화면자동생성 방법 {Automated screen generation based on IO model}
도 1은 본 발명의 일실시예에 따른 개발도구상에서 개발하는 개발시스템의 구성도.
도 2은 본 발명의 일실시예에 따른 개발후 업무프로그램의 운영시스템의 구성도.
본 발명은 대규모 기업의 업무 프로그램을 구동하기 위해서 클라이언트(Client), 어플리케이션 서버(Application Server), 데이터소스(Data Source)로 구성된 일반적인 시스템환경인 3계층(3 Tier)환경에서 어플리케이션서버와 연계되는 클라이언트 프로그램을 개발하기 위한 개발도구의 화면작성과 서버와의 연계 자동화 방법에 관한 것이다.
종래의 기업용 업무 프로그램의 개발에서 어플리케이션서버와 연계되는 클라이언트 프로그램을 개발하기 위해서는 비쥬얼 스튜디오(Visual Studio), Delphi나 C++ 빌더, J-Builder 등 일반적으로 사용되는 RAD(Rapid Application Development)방식을 사용한다. RAD방식은 향상된 개발도구를 사용해 빈 화면에 화면구성 요소인 컨트롤들을 그린후 개별적인 컨트롤들의 이름, 값, 크기, 위치 등의 속성을 정의하는 화 면 디자인단계와 화면에 배치된 컨트롤들의 값과 어플리케이션서버의 비즈니스 컴포넌트의 어떤 입출력 파라미터(Parameter)와 연계되는지를 개발도구상의 코드편집기를 통해서 직접 코딩을 하는 이벤트코딩단계로 구성된다.
이러한 RAD방식은 보급당시에는 그 이전의 개발방법보다는 효율적이며 빠른 방법이었으나, 훨씬 더 복잡해지고 수시로 변경되는 업무요건을 즉시 반영하기에는 화면의 수많아진 컨트롤들을 그리고 개별적으로 속성을 일일이 설정한후, 복잡한 이기종 비즈니스 컴포넌트의 파라미터와의 연계를 소스코딩하는 방법이 개발할때에도 많은 시간과 비용이 발생하고, 개발후 유지보수시 변경시에도 소스코드를 분석하고 변경하는데 많은 문제점이 있었다.
본 발명은 이러한 종래기술의 문제점을 해결하기 위해서 서버 컴포넌트의 파라미터을 개발도구상에서 IO모델로 표현하고 이를 기반으로 화면의 컨트롤과 개별 컨트롤들의 주요속성, 서버 컴포넌트의 파라미터와의 연계를 자동으로 생성하는 개발도구의 자동화에 대한 방법에 관한 것이다.
상기과제를 이루기 위해 본 발명에 따르면, 자동생성될 다양한 선택사항을 개발도구에서 설정하는 (a)단계와; 자동생성되어야 할 화면의 IO모델기반으로 연동할 어플리케이션서버들의 목록과 플랫폼정보를 개발도구상의 IO모델 탐색기에 시각적인 디렉토리로 추가하고 정보속성을 설정하는 (b) 단계와; 상기 (b)단계에서 작성된 IO모델 탐색기의 서버목록에서 각 서버별로 제공하는 비즈니스 컴포넌트들을 추가 하고 각 비즈니스 컴포넌트별로 입출력 파라미터를 설정하는 (c)단계와; 상기 (c)단계에서 작성된 IO모델 탐색기에서 실제 클라이언트 화면에서 거래할 IO모델들을 선택하고, 화면 디자이너 영역에 선택한 IO모델들(컴포넌트와 이에 속하는 파라미터들)을 마우스로 드래그앤드롭(Drag and drop)등의 방법으로 자동생성을 시작하는 (d)단계와; 상기 (d)단계에서 지시된 IO모델정보를 기반으로 개발도구상의 화면디자이너영역에 클라이언트 화면의 컨트롤을 자동생성하고 각 컨트롤들의 주요속성을 자동부여하고 각 컨트롤과 IO모델과의 거래정보를 자동으로 생성하는 개발도구내부의 자동생성기가 동작하는 (e)단계를 포함하는 것을 특징으로 하여 IO모델에 기반한 개발도구상에서의 화면자동생성 방법을 제공한다.
본 발명의 특징은 하나의 클라이언트 화면에서 여러가지 플랫폼의 어플리케이션서버에서 동작하는 비즈니스 컴포넌트를 복수개를 연동할 수 있는 구조를 개발도구에서 자동으로 제공한다는 점으로, 이는 기존의 방식으로는 대부분 하드코딩작업으로 해결했으나 본 발명에서 제공하는 IO모델 탐색기와 화면자동생성방법을 사용해서 빠르고 정확하게 클라이언트 프로그램을 작성할 수 있도록 하는데 있다.
이하, 본 발명에 의한 IO모델에 기반한 개발도구상에서의 화면자동생성방법을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 1은 본 발명의 일실시예에 따른 개발도구상에서 자동화된 방법으로 개발하는 개발시스템의 구성도로서, 기존의 RAD 개발도구에 IO모델탐색기와 선택사항 입력기, 자동생성기등의 개발보조도구가 추가되었다.
기존 방식의 RAD도구로 개발하게 되면 컨트롤 탐색기(1)에서 원하는 컨트롤을 선택한 후 화면디자이너(11)에 드래그앤드롭(Drag and drop) 방식으로 그리게 된다. 해당하는 컨트롤이 실제 화면에 표시되는 컨트롤이면 캔버스부(12)에 그리게 되고 화면에 표시되지는 않지만 화면상의 여러가지 동작이나 정보를 담고 있는 액션컨트롤일 경우 액션 컨트롤 표시부(13)에 표시된다. 이렇게 화면의 구성을 마치고 개별 컨트롤이 가지는 속성을 속성설정기(10)를 통해서 입력하고, 어플리케이션 서버와 정보를 주고받는 세부적인 부분은 소스 편집기(14)를 통해서 직접 코딩을 하게 된다.
이러한 기존 RAD방법에서 자동화부분을 추가한 본 발명의 방식을 따르면,첫 작업은 선택사항 입력기(2)를 통해서 자동생성시에 생성되는 화면의 배치등의 다양한 옵션을 설정하는 것이다. 예를 들어 자동생성시에 컨트롤들을 2개의 열로 자동정렬하게 할 수 있다. 두번째 작업은 IO모델 탐색기(3)에서 전체적인 서버연동부분에 대한 정보를 사전에 시각적으로 입력하게 된다. 우선 IO모델 탐색기에서 직접 입력할 것인지 아니면 자동으로 입력할 것인지를 선택한다(4). 자동입력을 선택하면 별도로 작성된 스프레드 쉬트(예, 엑셀)파일이나 XML 파일을 외부에서 읽어와서 수동으로 입력한 것과 동일한 작업을 자동으로 수행한다(8). 수동으로 입력을 선택한 경우 우선 연동하고자 하는 어플리케이션서버들의 목록을 탐색기의 디렉토리로 추가하고 각 서버별로 플랫폼정보를 속성설정기(10)를 통해서 설정한다(5). 플랫폼 정보는 해당하는 서버에 접속하기 위한 정보를 의미하며, 일반적으로 서버의 IP주소와 아 이디,비밀번호,URL,배치디렉토리정보등이 설정되며 해당하는 서버의 기종에 따라서 공통적인 정보와 특화되는 정보등으로 구분된다.
이렇게 IO모델 탐색기에 어플리케이션 서버의 목록이 추가되면 해당하는 서버에서 제공하는 실제 비즈니스 컴포넌트의 목록을 해당 서버디렉토리의 하부디렉토리로 추가하고 속성설정기(10)를 통해서 컴포넌트의 속성을 설정한다(6). 그리고 역시 컴포넌트 디렉토리 하부에 그 컴포넌트를 호출하기 위한 입력 파라미터(Parameter, 인자)와 출력 파라미터를 컴포넌트 디렉토리의 하부요소로 추가하고 속성설정기(10)을 통해서 개별 파라미터의 속성을 설정한다(7). 개별 파라미터의 속성은 파라미터의 이름과 타입, 길이, 최소값,최대값등의 데이터정보로 구성되며 파라미터가 속한 컴포넌트의 유형에 따라서 추가되는 것들이 존재할 수 있다. 이렇게 서버목록,컴포넌트목록,입출력 파라미터의 추가와 속성설정작업이 자동이나 수동으로 완료되면 그 즉시 IO모델 탐색기에 계층적구조의 디렉토리구조가 시각적으로 표현된다(9).
세번째로 자동 생성기를 구동시켜서 실제 클라이언트 프로그램이 자동생성되는 단계이다(15). 자동 생성기는 개발도구상에서 개발자에게 시각적으로 보여지는 부분이 아닌 개발도구에 내장된 엔진(Engine)이다.
먼저 IO모델 탐색기에서 거래를 원하는 컴포넌트들을 선택하거나, 컴포넌트들의 하부 파라미터를 선택하고 화면 디자이너 영역에 드래그앤드롭(Drag and drop)을 하면 자동생성 시작명령이 동작한다(16). 자동생성 시작명령은 드래그앤드롭이외에 단축키나 개발도구의 메뉴를 통해서 구동될 수도 있다. 자동생성이 시작되면 자동 생성기는 우선 선택사항 입력기(2)에 입력된 자동생성 선택사항을 읽어오고(17), IO탐색기에서 선택된 컴포넌트와 파라미터정보를 읽어온다(18). 그리고 화면 디자이너의 캔버스 부(12)에 시각적으로 보여지는 컨트롤들을 자동생성한다(19). 구체적으로 "Age"라는 파라미터가 가지는 모델속성중에 라벨(Label)속성은 "나이"가, 타입(Type)속성은 "정수형"이, 길이(Length)속성은 "2"가 설정되어 있다면 자동생성기는 "나이"라는 라벨컨트롤과 "Age"라는 텍스트박스컨트롤을 쌍으로 자동생성하고 정렬함과 동시에 파라미터가 가지는 모델속성값을 선택사항 입력기(2)에 설정된 대로 해당 컨트롤의 선택속성에 자동으로 부여한다.
화면컨트롤이 자동생성되면, 이번에는 개별적인 컨트롤의 어떤 속성이 서버 컴포넌트의 어떤 파라미터와 연동될것인지의 정보를 담은 맵핑정보를 담은 컨트롤이 액션 컨트롤 표시부(13)에 추가된다(20). 상기 (20)의 절차가 기존에 코딩이나 개별적으로 작업했던 서버 파라미터와의 맵핑이 자동화되는 부분이다.
이렇게 작성된 클라이언트 프로그램은 소스편집기(14)를 통해서 이벤트발생후의 동작을 완성하게 되는데, (20)단계의 컨트롤을 단지 동작만 시켜주면 해당하는 거래가 동작하게 된다. 이벤트발생 작업이 완성되면 이 프로그램을 컴파일하고 실제 운영할 수 있도록 배포를 한다.
도 2에서는 발명의 일실시예에 따른 개발도구로 개발한 응용프로그램이 운영되는 운영시스템의 구성도를 설명한다.
본 발명이 반영된 개발도구(21)로 개발된 클라이언트 프로그램은 실제 업무가 담겨 있으며 클라이언트 프로그램은 어플리케이션 서버(24)의 비즈니스 컴포넌트(25)로 거래요청을 한다. 컴포넌트(25)는 데이터베이스(26)나 메인프레임(27)로 데이터의 제어를 요청하고 응답을 받으면 컴포넌트(25)는 클라이언트 프로그램(23)으로 결과를 전달하면 하나의 거래가 완료된다. 이러한 방식으로 클라이언트 프로그램(23)은 여러개의 거래를 수행할 수 있게 된다.
기업용 업무 프로그램을 개발하는 개발자는 본 발명의 방법이 적용된 개발도구를 이용해서 업무용 프로그램을 개발시 수동으로 처리하던 서버와 연동하는 화면작성작업의 대부분을 자동화해서 개발시간과 정확성을 크게 향상시킬 수 있다. 또한 개발이 완료되고 나서 지속적인 프로그램의 변경과 개선작업이 발생할 때 기존의 하드코딩방식보다 빠르게 이해하고 변경할 수 있게 된다.

Claims (7)

  1. (a) 자동생성될 다양한 선택사항을 개발도구에서 설정하는 단계;
    (b) 연동할 어플리케이션서버들의 목록과 플랫폼정보를 개발도구상의 IO모델 탐색기에 시각적인 디렉토리로 추가하고 정보속성을 설정하는 단계;
    (c) 상기 작성된 서버목록에서 각 서버별로 제공하는 비즈니스 컴포넌트를 추가하고 컴포넌트별 입출력 파라미터를 설정하는 단계;
    (d) IO모델 탐색기에서 IO모델들을 선택해서 화면 디자이너 영역에 자동생성을 시작하는 단계;
    (e) 화면의 컨트롤과 속성부여, 맵핑컨트롤을 자동생성하는 단계;
  2. 제1 항에 있어서, 상기 (a)단계는 화면에서 컨트롤들이 배치되는 배치형태에 대한 선택사항 입력부;
    IO모델의 특정속성이 컨트롤의 어떤 속성으로 자동생성될에 대한 선택사항 입력부;
    기타 자동생성에 관련된 선택사항 입력부를 구비하는 것을 특징으로 하는 개발도구의 자동화 방법.
  3. 제1항에 있어서, 상기 (b)단계에서
    (b1) 연동하고자 하는 어플리케이션 서버들의 목록을 탐색기의 디렉토리로 추가하는 단계;
    (b2) 각 서버별 플랫폼 정보를 속성설정기를 통해서 설정하는 단계를 구비하는 것을 특징을로 하는 개발도구의 자동화 방법.
  4. 제 1항에 있어서, 상기 (c)단계에서
    (c1) 상기 (b)단계에서 작성된 서버목록중 개별서버항목에서 제공하는 비즈니스 컴포넌트 목록을 서버목록의 하부에 추가하고 속성설정기를 통해 컴포넌트의 속성을 설정하는 단계;
    (c2) 컴포넌트 목록의 하부에 개별 컴포넌트의 입출력 파라미터를 추가하고 속성설정기를 통해 파라미터의 속성을 설정하는 단계를 구비하는 것을 특징으로 하는 개발도구의 자동화 방법.
  5. 제 1항에 있어서, 상기 (b)단계와 (c)단계를 거치지 않고 스프레드 쉬트,XML등으로 작성된 외부의 IO모델 정의파일을 읽어서 (b)단계와 (c)단계에 상응하는 작업을 자동으로 처리하는 단계를 구비하는 것을 특징으로 하는 개발도구의 자동화 방법.
  6. 제 1항에 있어서 상기 (d)단계에서
    (d1) IO모델 탐색기에서 자동생성할 모델을 탐색후 마우스 동작이나 키보드 단축키등으로 선택하는 단계와;
    (d2) 선택된 IO모델들을 화면 디자이너 영역에 드래그앤드롭,단축키,메뉴등으로 자동생성을 시작하는 단계를 구비하는 것을 특징으로 하는 개발도구의 자동화 방법.
  7. 제 1항에 있어서 상기 (e)단계에서
    (e1) 상기 제 1항의 (a)단계에서 설정된 자동생성 선택사항에 근거해서 화면의 컨트롤을 자동생성하고 배치하며 속성을 부여하는 단계;
    (e2) 자동생성된 화면의 컨트롤의 속성과 IO모델의 컴포넌트 파라미터와의 관계를 저장하고 있는 맵핑컨트롤을 생성하는 단계;
    (e3) 상기 (e2)에서 생성된 맵핑컨트롤을 이용해서 거래이벤트에 관련된 코딩을 복잡하게 하지 않고 맵핑컨트롤만 간단하게 호출하는 단계를 구비하는 것을 특징으로 하는 개발도구의 자동화 방법.
KR1020040113485A 2004-12-28 2004-12-28 Io모델에 기반한 개발도구상에서의 화면자동생성 방법 KR20060074675A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040113485A KR20060074675A (ko) 2004-12-28 2004-12-28 Io모델에 기반한 개발도구상에서의 화면자동생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040113485A KR20060074675A (ko) 2004-12-28 2004-12-28 Io모델에 기반한 개발도구상에서의 화면자동생성 방법

Publications (1)

Publication Number Publication Date
KR20060074675A true KR20060074675A (ko) 2006-07-03

Family

ID=37167414

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040113485A KR20060074675A (ko) 2004-12-28 2004-12-28 Io모델에 기반한 개발도구상에서의 화면자동생성 방법

Country Status (1)

Country Link
KR (1) KR20060074675A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101425235B1 (ko) * 2006-08-04 2014-08-06 램 리써치 코포레이션 플라즈마 프로세싱 시스템 컴포넌트 분석 소프트웨어 및 이를 생성하기 위한 방법 및 시스템
KR20220019488A (ko) 2020-08-10 2022-02-17 주식회사 아이티젠 어플리케이션 개발을 위한 멀티채널통합플랫폼 저작장치 및 저작방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101425235B1 (ko) * 2006-08-04 2014-08-06 램 리써치 코포레이션 플라즈마 프로세싱 시스템 컴포넌트 분석 소프트웨어 및 이를 생성하기 위한 방법 및 시스템
KR20220019488A (ko) 2020-08-10 2022-02-17 주식회사 아이티젠 어플리케이션 개발을 위한 멀티채널통합플랫폼 저작장치 및 저작방법

Similar Documents

Publication Publication Date Title
JP4303617B2 (ja) タスク実行のためのプロセス構造を定義するシステムおよび方法
US5917730A (en) Computer implemented object oriented visualization system and method
CA2304020C (en) Method and system for database application software creation requiring minimal programming
US8214737B2 (en) Processing life and work events
JP3127442B2 (ja) アプリケーション・プログラム・ステップのための対話式インタフェースを提供する表示画面パネルをダイナミックに生成するコンピュータ・システム
US20040064805A1 (en) Enterprise scoped software factory
US20090125875A1 (en) Method for manufacturing a final product of a target software product
JP2004171576A (ja) 高速チップ管理システム
JP2001521249A (ja) 生産分析において分類及び属性を拡張するソフトウエアシステム及び方法
JPH06208592A (ja) データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法
JPH0589045A (ja) データ処理システム及び作成方法
CN113886362A (zh) 基于工作流引擎及低代码平台的数据存储系统及存储方法
EP2808784B1 (en) A system and a method for creating a graphical user interface within a manufacturing execution system (MES)
US20040034662A1 (en) Method and apparatus for analytical problem solving
WO2007050110A2 (en) Method and model for enterprise system development and execution
JPH0744389A (ja) 知識ベース設計用システムおよび方法
JPH0683598A (ja) ジョブフロー仕様書自動作成方法
US20050060685A1 (en) Program generator
Feuerstack et al. Automated usability evaluation during model-based interactive system development
JPH1139145A (ja) プログラム構築支援装置及び記憶媒体
CN116909553A (zh) 一种页面在线开发及本地编译运行系统
KR20060074675A (ko) Io모델에 기반한 개발도구상에서의 화면자동생성 방법
EP0180636A1 (en) Automated application program development system and method
Krajanowski-Kaleta et al. Comparison of the tools for design process automation in popular CAx systems
JPH0833834B2 (ja) 表示パネル生成方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application