KR101368044B1 - Plug­in module based on eclipse platform - Google Patents

Plug­in module based on eclipse platform Download PDF

Info

Publication number
KR101368044B1
KR101368044B1 KR1020110096538A KR20110096538A KR101368044B1 KR 101368044 B1 KR101368044 B1 KR 101368044B1 KR 1020110096538 A KR1020110096538 A KR 1020110096538A KR 20110096538 A KR20110096538 A KR 20110096538A KR 101368044 B1 KR101368044 B1 KR 101368044B1
Authority
KR
South Korea
Prior art keywords
log
display unit
plug
tag
filter
Prior art date
Application number
KR1020110096538A
Other languages
Korean (ko)
Other versions
KR20130032756A (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 KR1020110096538A priority Critical patent/KR101368044B1/en
Publication of KR20130032756A publication Critical patent/KR20130032756A/en
Application granted granted Critical
Publication of KR101368044B1 publication Critical patent/KR101368044B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems

Abstract

본 출원은 이클립스 플랫폼 기반 플러그인 모듈에 관한 것으로, 더욱 상세하게는 정렬되는 로그의 수를 단계적 또는 선형적으로 증감할 수 있고, 태그를 증가시켜 로그를 다양하게 필터링할 수 있으며, 레이아웃 최적화 및 시퀀스 논리적 흐름을 도면으로 제공하는 사용자 인터페이스를 제공할 수 있는 이클립스 플랫폼 기반 플러그인 모듈을 제공하기 위한 것이다.
그 기술적 구성은 본 출원은 안드로이드 기반 어플리케이션에 대한 로그 파일을 읽어서 태그 이름에 따른 로그 분석 결과를 디스플레이하는 로그독 플러그인 및 안드로이드 기반 디바이스에 대한 로그 파일을 읽어서 태그 이름에 따른 로그 분석 결과를 디스플레이하는 로그퍼피 플러그인을 포함하고, 상기 어플리케이션에 대한 레이아웃의 진단 결과를 디스플레이하는 레이아웃 최적화 플러그인, 상기 어플리케이션에 대한 실행 시퀀스의 분석 결과를 디스플레이하는 클래스 배열 플러그인 중 적어도 어느 하나를 포함하여 이루어지는 것을 특징으로 한다.
The present application relates to an Eclipse platform-based plug-in module, and more specifically, it is possible to increase or decrease the number of sorted logs step by step, and to increase the tag to variously filter the log, layout optimization and sequence logic To provide a plug-in module based on the Eclipse platform that can provide a user interface that provides a flow diagram.
The technical configuration of the present application is a log read plug-in that reads log files for Android-based applications and displays log analysis results according to tag names, and logs that display log analysis results according to tag names by reading log files for Android-based devices. And a layout optimization plug-in for displaying a diagnostic result of the layout for the application, and a class array plug-in for displaying the analysis result of the execution sequence for the application.

Description

이클립스 플랫폼 기반 플러그인 모듈{PLUG­IN MODULE BASED ON ECLIPSE PLATFORM}Eclipse platform-based plug-in module {PLUG­IN MODULE BASED ON ECLIPSE PLATFORM}

본 출원은 이클립스 플랫폼 기반 플러그인 모듈에 관한 것으로, 보다 상세하게는, 정렬되는 로그의 줄 수를 단계적으로 또는 선형적으로 증가 또는 감소할 수 있고, 태그를 증가시켜 로그를 다양하게 필터링할 수 있으며, 레이아웃 최적화 및 시퀀스 논리적 흐름을 도면으로 제공하는 사용자 인터페이스를 제공할 수 있는 이클립스 플랫폼 기반 플러그인 모듈에 관한 것이다.
The present application relates to an Eclipse platform-based plug-in module, and more specifically, to increase or decrease the number of lines of logs to be sorted stepwise or linearly, and to increase the tag to variously filter the logs, An Eclipse platform-based plug-in module that can provide a user interface that provides layout optimization and sequence logical flow to drawings.

일반적으로, 안드로이드(Android)는 휴대폰용 운영체제, 미들웨어, 응용 프로그램을 한데 묶은 소프트웨어 플랫폼으로서, 리눅스(Linux) 커널을 기반으로 강력한 운영체제와 포괄적 라이브러리 세트, 풍부한 멀티미디어 사용자 인터페이스, 폰 어플리케이션 등을 제공한다.In general, Android is a software platform that combines an operating system for mobile phones, middleware, and applications. Based on the Linux kernel, Android provides a powerful operating system, a comprehensive library set, a rich multimedia user interface, and a phone application.

여기서, 안드로이드는 컴퓨터에서 소프트웨어와 하드웨어를 제어하는 운영체제인 윈도우에 비유할 수 있는데, 휴대폰에 안드로이드를 탑재하여 인터넷과 메신저 등을 이용할 수 있으며, 휴대폰뿐 아니라 다양한 정보 가전 기기에 적용할 수 있는 연동성도 갖추고 있다.Here, Android can be compared to Windows, which is an operating system that controls software and hardware on a computer. The mobile phone is equipped with Android to use the Internet and messenger, and can be applied to various information and home appliances as well as mobile phones. Equipped.

안드로이드가 기존의 휴대폰 운영체제인 마이크로소프트의 “윈도우 모바일”이나 노키아의 “심비안”과 차별되는 것은 완전 개방형 플랫폼이라는 점인데, 종전에는 휴대폰 제조업체와 서비스업체마다 운영체제가 달라 개별적으로 응용 프로그램을 만들어야 했지만, 안드로이드 기반 기술인 소스 코드는 모두 공개됨으로써, 누구라도 이를 이용하여 소프트웨어와 기기를 만들어 판매할 수 있게 되었다.What differentiates Android from Microsoft's "Windows Mobile" or Nokia's "Symbian" is that it is a completely open platform. Previously, mobile phone manufacturers and service providers had different operating systems to create applications individually. All Android-based source code has been released, allowing anyone to create and sell software and devices using it.

따라서, 개발자들은 이를 확장, 대체 또는 재사용하여 사용자들에게 풍부하고 통합된 모바일 서비스를 제공할 수 있게 되었으며, 이러한 안드로이드를 탑재한 휴대폰 단말기를 “안드로이드 폰”이라 하고, 이 플랫폼에서 응용할 수 있는 어플리케이션을 거래하는 공간을 “안드로이드 마켓”이라 한다.Therefore, developers can extend, replace, or reuse them to provide users with rich and integrated mobile services. These mobile phones equipped with Android are called "Android Phones". The trading space is called the "Android Market."

그리고, PC 운영체제인 윈도우처럼 스마트폰에서 프로그램을 실행하도록 하는 구글(Google)이 만든 모바일 전용 운영체제로, 애플 아이폰 콘텐츠 장터인 “앱스토어”와는 대비적으로 안드로이드 마켓에서 원하는 게임, 뉴스, 음악 등의 콘텐츠를 내려받을 수 있으며, 애플이 폐쇄적으로 운영중인 아이폰 체제와는 달리 운영체제를 공개하고 있기 때문에 휴대폰 제조업체는 물론 SK 텔레콤 등의 이동통신사도 채택할 수 있는 것이 특징이다.It is a mobile-only operating system created by Google that allows you to run programs on your smartphone like Windows, a PC operating system.In contrast to Apple's iPhone content market, “App Store”, you can play games, news, music, etc. Unlike the iPhone system, which is operated by the closed iPhone system, the operating system is released, so it can be adopted not only mobile phone manufacturers but also mobile carriers such as SK Telecom.

또한, 안드로이드는 안드로이드 개발자들이 자바 언어로 응용 프로그램을 작성할 수 있게 하였으며, 컴파일된 바이트 코드를 구동할 수 있는 런타임 라이브러리를 제공하는데, 안드로이드 소프트웨어 개발 키트(SDK: Software Development Kit)를 통해 응용 프로그램을 개발하기 위해 필요한 각종 도구들과 응용 프로그램 프로그래밍 인터페이스(API: Application Programming Interface)를 제공한다.Android also enables Android developers to write applications in the Java language, and provides a runtime library that can run compiled byte code, which is developed through the Android Software Development Kit (SDK). It provides various tools and application programming interface (API) needed to do this.

이러한 안드로이드의 개발 환경은 이클립스(Eclipse)와 이클립스와 통합된 플러그인 안드로이드 개발 도구(ADT: Android Development Tools) 사용을 권장하고 있으며, 이러한 안드로이드 개발 도구는 호환성을 실현하는 기기 에뮬레이터(Emulator), 오류 수정 작업을 할 수 있는 디버깅 도구, 메모리와 성능을 분석하는 프로파일링을 포함한다.The development environment of Android recommends using Eclipse and the Android Development Tools (ADT), which are integrated with Eclipse. These Android development tools are compatible with device emulators and error correction. It includes debugging tools, profiling to analyze memory and performance.

여기서, 이클립스(Eclipse)는 통합 개발 환경과 확장 가능한 플러그인 시스템으로 구성되어 다양한 언어를 지원하는 개발 환경이며, 대부분 자바(Java)를 포함하여 다양한 언어로 프로그램을 개발할 수 있도록 구성되고, 기본 구성은 자바 개발 도구(JDT: Java Development Tool)로 자바 개발용이고, 사용자는 플러그인을 설치하거나 직접 작성하여 기능을 확장할 수 있다.Here, Eclipse is a development environment that supports various languages, composed of an integrated development environment and an extensible plug-in system, and is mostly configured to develop programs in various languages including Java, and the basic configuration is Java. The Java Development Tool (JDT) is for Java development, and users can extend the functionality by installing plug-ins or writing their own.

이러한 이클립스는 다양한 플랫폼에서 쓸 수 있으며, 자바를 비롯한 다양한 언어를 지원하는 프로그래밍 통합 개발 환경을 목적으로 시작하였으나, 현재는 OSGi(Open Service Gateway Initiative)를 도입하여 범용 응용 소프트웨어 플랫폼으로 진화하였으며, 자유 소프트웨어지만 막강한 기능을 자랑하며, IBM의 WASD(WebShpeare Studio Application Developer)란 이름으로 개발되었던 것인데, 엔진 부분을 오픈 소스로 공개한 것을 기반으로 지금의 이클립스로 발전해왔다.These Eclipses can be used on a variety of platforms and started with a programming integrated development environment that supports a variety of languages including Java, but now have evolved into a general-purpose application software platform by introducing the Open Service Gateway Initiative (OSGi). It's a powerful feature, and was developed under the name of IBM's WebShpeare Studio Application Developer (WASD), which has evolved into Eclipse today based on the open source of the engine.

최근 버전은 3.6으로, 각 목적별(C/C++ 개발자용, 자바 개발자용, 웹 개발자 용 등)의 다양한 배포판이 존재하며, 이클립스의 기반은 리치 클라이언트 플랫폼(RCP: Rich Client Platform)으로, 이는 플러그인을 실행하는 이클립스의 기반인 코어 플랫폼, 표준 번들링 프레임워크인 OSGi, 이식가능한 GUI 위젯 툴킷인 SWT(Standard Widget Toolkit), SWT를 이용하여 고급 컴포넌트를 구성하는 작업을 간략화할 수 있는 JFace 및 뷰(Views), 편집기(Editors), 퍼스펙티브(Perspectives), 마법사(Wizards)로 구성된 이클립스 워크벤치(Workbench)로 구성된다.The latest version is 3.6, with various distributions for each purpose (for C / C ++ developers, for Java developers, for web developers, etc.), and Eclipse is based on the Rich Client Platform (RCP), which is a plug-in. The core platform on which Eclipse is running, OSGi, a standard bundling framework, the Standard Widget Toolkit (SWT), a portable GUI widget toolkit, and JFace and Views to simplify the task of configuring advanced components using SWT. It consists of the Eclipse Workbench, which consists of Editors, Perspectives, and Wizards.

그리고, 이클립스는 RCP를 포함한 상위의 모든 기능을 제공하기 위해, 플러그인을 사용하는데, 이는 다른 자바 응용이 기능확장부분을 하드코딩하는 것과는 대조적인 특징이며, 이러한 플러그인 매커니즘은 경량화한 소프트웨어 구성 프레임워크라 할 수 있고, 플러그인 프레임워크를 활용하면, 자바가 아닌 다른 프로그래밍 언어로 이클립스를 확장하는 것이 가능할 뿐만 아니라, 이클립스에서 LaTeX와 같은 조판언어를 활용하거나, 텔넷과 같은 네트워크 응용을 실행하거나, 데이터베이스를 관리하는 것도 가능하다.And Eclipse uses plug-ins to provide all of the above features, including RCP, as opposed to hard-coding extensions for other Java applications, and this plug-in mechanism is a lightweight software configuration framework. And the plug-in framework, it is not only possible to extend Eclipse into a programming language other than Java, but also to use a typesetting language such as LaTeX, run network applications such as telnet, or manage databases in Eclipse. It is also possible.

이클립스 안드로이드 소프트웨어 개발 키트(SDK: Software Development Kit)에는 이클립스 자바 개발 도구(JDT: Java Development Tool)가 포함되어 있는데, 이는 자바 컴파일러를 내장하고 있고, 자바 소스 파일 전체 모델을 제공하고, 이를 이용하면 자바 언어 기반의 고급 리펙터링 기법과 코드 분석을 수행할 수 있다.The Eclipse Android Software Development Kit (SDK) includes the Eclipse Java Development Tool (JDT), which has a built-in Java compiler, provides a full model of Java source files, and Language-based advanced refactoring techniques and code analysis can be performed.

현재, 구글에서는 에러 분석을 위한 로그캣(LogCat), 레이아웃의 비효율적인 구조를 진단하기 위하여 도스 명령(Dos Command) 기반의 레이아웃 최적화 툴, 프로그램의 오류 부분을 찾아내어 수정할 수 있도록 클래스 간 프로세스를 파악가능한 안드로이드 디버그 모니터링 시스템을 제공한다.Currently, Google uses LogCat for error analysis, Dos Command-based layout optimization tools to diagnose inefficient structures of layouts, and processes between classes to identify and correct errors in programs. Provides Android debug monitoring system available.

도 1은 종래 기술에 따른 로그캣의 필터 기능을 도시한 도이다. 도 1에 도시된 바와 같이, 구글의 로그캣은 개발자가 개발한 프로그램의 디버깅(ⓓ: Debugging), 단순 정보(ⓘ: Information), 경고(ⓦ: Warning), 오류(ⓔ: Error), 상세 정보(ⓥ: Verbose)를 나타낼 수 있도록 로그를 나타내는 프로그램이다.1 is a diagram illustrating a filter function of a logcat according to the prior art. As shown in Figure 1, Google's logcat is a debugging (ⓓ: Debugging), simple information (ⓘ: Information), warning (ⓦ: Warning), error (ⓔ: Error), detailed information of the program developed by the developer It's a program that displays logs to indicate (ⓥ: Verbose).

여기서, ⓓ, ⓘ, ⓦ, ⓔ, ⓥ의 중 하나의 아이콘을 클릭하는 경우, 그에 해당하는 로그만을 보여주는 것이 아니라, 그에 해당하는 로그가 최우선으로 출력되며, 하위 우선 순위들도 함께 출력되므로, 이를 구분하도록 도와주는 설정을 할 필요가 있고, 필터 추가(╋)의 아이콘을 클릭하여 필터를 설정해야 한다.In this case, when clicking one of the icons of ⓓ, ⓘ, ⓦ, ⓔ, ⓥ, not only the corresponding log is displayed, but the corresponding log is output first and the lower priority is also displayed. You'll need to make some settings that will help you identify them, and set up your filter by clicking the Add Filter icon.

그리고, 개발자가 개발하고 있는 프로그램의 어플리케이션(이하,‘어플’이라 칭함)의 파일에 들어가 소스를 추가하고, 구동(RUN) 버튼을 누르면, 소스 추가때 설정한 우선 순위 이상의 로그만 보이게 되는데, 잡다한 로그들도 많이 화면으로 출력되므로, 필터를 설정하기 위해 필터 추가(╋)의 아이콘을 추가하면, 도면에 도시된 것과 같이 추가된 이름인‘dalvikvm’의 탭이 Log 탭 옆에 생성되어 태그가 ‘dalvikvm’인 것만 출력되게 된다.Then, if you add the source to the file of the application (hereinafter referred to as 'application') of the program that the developer is developing, and press the RUN button, only the log above the priority set when adding the source is displayed. Since the logs are also displayed on the screen, if you add the icon of Add Filter to set the filter, a tab with the added name 'dalvikvm' is created next to the Log tab as shown in the drawing, and the tag is' Only dalvikvm 'will be printed.

도 2는 종래 기술에 따른 울트라 에디트를 도시한 도이다. 도 2에 도시된 바와 같이, 안드로이드 로그를 분석하기 위해 10,000 줄 정도의 로그를 편집할 수 있는 울트라 에디트 또는 엑셀 등을 이용하게 된다.Figure 2 is a diagram showing the ultra-edit according to the prior art. As shown in FIG. 2, in order to analyze an Android log, an Ultra edit or Excel, which can edit about 10,000 lines of log, is used.

도 3은 종래 기술에 따른 레이아웃 최적화기를 도시한 도이다. 도 3에 도시된 바와 같이, 레이아웃 최적화기(Layout Optimizer)는 구글에서 제공하는 Dos용 프로그램으로, 화면 구조에 발생할 수 있는 문제점을 분석해주는 프로그램이며, 이와 유사한 안드로이드 디버그 모니터링 시스템은 디버깅을 위한 클래스 간 프로세스를 파악할 수 있도록 구비된 프로그램으로 이용되고 있다.
3 illustrates a layout optimizer according to the prior art. As shown in Figure 3, Layout Optimizer (Layout Optimizer) is a program for Dos provided by Google, a program that analyzes the problems that may occur on the screen structure, similar Android debug monitoring system is between classes for debugging It is used as a program equipped to understand the process.

그러나, ① 로그캣은 10,000 줄의 로그만을 허용하기 때문에, 개발자가 많은 디버깅 작업에 몰두하는 경우, 로그캣에 다량의 데이터들이 써지게 되는데, 이를 주기적으로 삭제하지 않는 경우 너무 많은 로그를 출력해버려 로그캣이 죽어버리는, 즉 다운되는 현상이 발생하고, 이에 따라 이클립스를 재실행하는 상황까지 발생하며, 로그를 필터링을 한다고 하더라도 개발자가 로그를 보기에는 용이하지만, 로그가 계속적으로 쌓이고 있기 때문에 죽는 시점이 변경되지는 않아 계속적으로 재실행을 해야 했고, 필터에 1 가지의 태그만을 허용하기 때문에 사용자가 로그창 내에서 다양한 정보로 필터링하고자 하더라도 1 개만을 필터링할 수밖에 없었으며, 다량의 로그를 분석하기 위해 로그를 울트라 에디트에 저장하는 경우, 다시 로그를 불러올 때 이상한 코드가 붙어나오는 경우가 많아 개발자가 10,000 건의 로그를 하나하나 분석하기가 용이하지 않았으며, ② 레이아웃 최적화기를 이용하는 경우, 화면 구조에 문제점을 분석하기는 용이한 프로그램이지만, 검은색의 도스창으로 출력되기 때문에 사용자 인터페이스가 미약하고, ③ 안드로이드 디버그 모니터링 시스템을 사용하는 경우, 자신의 개발 소스와 안드로이드 디버그 모니터링 시스템 내부 소스까지 추적(Trace)을 하기 때문에 자신의 개발 소스만의 흐름을 추적하려면 하나하나 골라내야 하는 절차가 필수적으로 추가되었고, 이에 따라 개발자의 개발 시간을 절대적으로 없애버려 개발에 치중할 수 없게 되었으며, 디버그 모니터링 시스템에 의한 복잡한 프로세스는 프로그램 내에 존재하는 다량의 클래스 간 흐름을 따라가기가 힘들어 개발자가 디버깅에 소요하는 시간이 기하급수적으로 늘어나는 등의 문제점이 있었다.However, ① logcat only allows 10,000 lines of log, so if a developer concentrates on a lot of debugging work, a large amount of data will be written in the logcat. Logcat dies, or crashes, resulting in a relaunch of Eclipse, and even though filtering the log makes it easier for a developer to see the log, but the log is still piled up and dies. Since it was not changed, it had to be rerun continuously and only one tag was allowed in the filter, so even if the user wanted to filter by various information in the log window, only one could be filtered out, and the log was analyzed to analyze a large number of logs. If you save it to Ultra Edit, you'll get a strange nose It is not easy for a developer to analyze 10,000 logs one by one because they are often displayed. ② When using the layout optimizer, it is easy to analyze problems on the screen structure, but because it is output in a black DOS window. If the user interface is weak and ③ Android debug monitoring system is used, it traces its own development source and the internal source of Android debug monitoring system. Procedures were added indispensably, thus eliminating the developer's development time, making it impossible to focus on development, and the complicated process by the debug monitoring system is difficult for the developer to keep up with a large amount of interclass flows in the program. Debug The time required for there is a problem such as increasing exponentially.

본 출원은 상기한 문제점을 해결하기 위하여 안출한 것으로, 정렬되는 로그의 줄 수를 단계적으로 또는 선형적으로 증가 또는 감소할 수 있음으로써, 개발자가 주기적인 삭제 작업을 하지 않아도, 로그 누적으로 인한 프로그램다운 및 데이터 손실을 방지할 수 있음과 동시에, 필터에 1 개 이상의 태그를 새 탭을 생성시켜 정렬함을 허용하고, 태그를 생성하여 다른 탭으로 이동시키거나 제거하는 등의 작업을 마우스 오른쪽 버튼과 같은 사용자에게 익숙한 인터페이스로 제공함으로써, 다양한 로그를 태그를 붙여 탭 별로 분류할 수 있어 개발자가 수 만개의 로그들을 분석하기 용이한 이클립스 플랫폼 기반 플러그인 모듈을 제공하는 것을 목적으로 한다.The present application has been made to solve the above problems, by increasing or decreasing the number of lines of the log to be aligned step by step or linearly, the program due to log accumulation, even if the developer does not delete periodically In addition to preventing crashes and data loss, you can create new tabs for sorting one or more tags in a filter, create tags, move tags to another tab, or remove them. By providing an interface familiar to the same user, it aims to provide an Eclipse platform-based plug-in module that can tag various logs and sort them by tab, so that developers can easily analyze tens of thousands of logs.

본 출원은 레이아웃의 비효율적인 구조를 진단하기 위해 도스 기반이 아닌, 일반적인 사용자 인터페이스인 이클립스에 적용시켜, 최적화의 진단이 완료되면 자동으로 화면에 수정 권고 사항을 도시하고, 문제가 있는 레이아웃에 대한 정보가 표시되는 영역을 더블클릭과 같은 사용자에게 익숙한 인터페이스로 자동이동함으로써, 개발자의 진단 시간을 극적으로 줄일 수 있는 이클립스 플랫폼 기반 플러그인 모듈을 제공하는 것을 목적으로 한다.This application applies to Eclipse, a non-DOS-based, general user interface to diagnose inefficient structures of layouts, automatically shows corrective recommendations on screen when optimization is completed, and information on problematic layouts. It aims to provide Eclipse platform-based plug-in module that can dramatically reduce developer's diagnostic time by automatically moving the area where is displayed to user-friendly interface such as double-click.

본 출원은 원본 파일이 아닌 더미(Dummy) 파일을 사용하여 수정 및 삭제하게 되어 원본 파일의 손상을 절대적으로 감소시키고, 클래스 간 흐름을 분석하여 수백 개 내지 수천 개 이상의 클래스 중 개발자가 원하는 흐름만을 골라 한눈에 파악가능한 클래스 시퀀스 흐름도를 제공함으로써, 안드로이드 사용자 인터페이스 화면의 변화에 따른 소스 코드의 관계 파악이 어려운 경우, 효과적으로 클래스 간 논리적 연결을 그림으로 파악할 수 있는 이클립스 플랫폼 기반 플러그인 모듈을 제공하는 것을 목적으로 한다.
This application uses a dummy file instead of the original file to modify and delete it, thereby absolutely reducing the damage of the original file, analyzing the flow between classes, and selecting only the flow desired by the developer among hundreds or thousands of classes. By providing a class sequence flow chart that can be grasped at a glance, when it is difficult to grasp the relationship of source code according to the change of the Android user interface screen, it is aimed to provide an Eclipse platform-based plug-in module that can effectively grasp logical connection between classes. do.

상기한 바와 같은 목적을 달성하기 위하여 본 출원은 실시예들 중에서, 안드로이드 기반 어플리케이션에 대한 로그 파일을 읽어서 태그 이름에 따른 로그 분석 결과를 디스플레이하는 로그독 플러그인 및 안드로이드 기반 디바이스에 대한 로그 파일을 읽어서 태그 이름에 따른 로그 분석 결과를 디스플레이하는 로그퍼피 플러그인을 포함하고, 상기 어플리케이션에 대한 레이아웃의 진단 결과를 디스플레이하는 레이아웃 최적화 플러그인, 상기 어플리케이션에 대한 실행 시퀀스의 분석 결과를 디스플레이하는 클래스 배열 플러그인 중 적어도 어느 하나를 포함하는 이클립스 플랫폼 기반 플러그인 모듈을 이용하여 과제를 해결할 수 있도록 이루어진다.In order to achieve the object as described above, the present application, among the embodiments, reads the log file for the Android-based device and a log docking plug-in that reads the log file for the Android-based application and displays the log analysis result according to the tag name. At least one of a layout optimization plug-in for displaying a log analysis plug-in for displaying a log analysis result according to a name, a layout optimization plug-in for displaying a diagnosis result of a layout for the application, and a class array plug-in for displaying an analysis result of an execution sequence for the application; Eclipse platform-based plug-in module, including the is made to solve the problem.

일 실시예에서, 상기 로그독 플러그인은 안드로이드 기반 어플리케이션 프로그램 및 로그 파일을 저장하는 데이터베이스; 각 구성 요소를 제어하는 제어부; 상기 제어부의 명령에 따라 프로그램을 도시하는 디스플레이부; 상기 로그를 분석하기 위한 아이콘인 로그독 활성부; 상기 로그를 분석하기 위한 로그 파일을 불러오는 파일 로딩부; 상기 파일 로딩부를 통해 출력된 상기 로그의 원본을 제1 탭에 생성하여 상기 제1 탭 내에 출력시키는 로그 표시부; 상기 로그 표시부 내에서, 사용자 인터페이스에 상기 사용자의 입력이 있으면 태그 메뉴를 디스플레이시키는 태그 메뉴 표시부; 및 상기 태그 메뉴 표시부에서 태그 이름 및 필터가 설정되면, 제2 탭을 생성하여 상기 제2 탭 내에 재정렬시키는 필터 표시부; 를 포함하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 모듈을 이용하여 과제를 해결할 수 있도록 이루어진다.In one embodiment, the log read plug-in includes a database for storing the Android-based application program and log files; A control unit for controlling each component; A display unit for showing a program according to a command of the controller; A log reading activator which is an icon for analyzing the log; A file loading unit which loads a log file for analyzing the log; A log display unit generating an original of the log output through the file loading unit in a first tab and outputting the log in the first tab; A tag menu display unit configured to display a tag menu in the log display unit when the user input is input to the user interface; And a filter display unit for generating a second tab and rearranging the tag within the second tab when a tag name and a filter are set in the tag menu display unit. It is made to solve the problem using the Eclipse platform-based plug-in module, characterized in that it comprises a.

일 실시예에서, 상기 로그퍼피 플러그인은 안드로이드 기반 어플리케이션 프로그램 및 로그 파일을 저장하는 데이터베이스; 각 구성 요소를 제어하는 제어부;상기 제어부의 명령에 따라 프로그램을 도시하는 디스플레이부; 연결된 디바이스의 로그를 분석하기 위한 아이콘인 로그퍼피 활성부; 상기 연결된 디바이스 중 분석할 디바이스를 선택하기 위한 디바이스 선택부; 상기 디바이스의 로그가 정렬되는 수를 단계적 또는 선형적으로 조절가능한 로그 단계 설정부; 상기 디바이스 선택부 및 로그 단계 설정부를 통해 출력된 상기 로그의 원본을 제1 탭을 생성하여 상기 제1 탭 내에 출력시키는 로그 표시부; 상기 로그 표시부 내에서, 사용자 인터페이스에 사용자의 입력이 있으면 태그 메뉴를 디스플레이시키는 태그 메뉴 표시부; 상기 태그 메뉴 표시부에서 태그 이름 및 필터가 설정되면, 제2 탭을 생성하여 상기 제2 탭 내에 재정렬시키는 필터 표시부; 를 포함하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 모듈을 이용하여 과제를 해결할 수 있도록 이루어진다.In one embodiment, the log Puppy plug-in is a database for storing the Android-based application program and log files; A control unit controlling each component; a display unit showing a program according to a command of the control unit; A logpuppy active unit which is an icon for analyzing a log of a connected device; A device selector for selecting a device to be analyzed among the connected devices; A log level setting unit which can adjust the number of logs of the device stepwise or linearly; A log display unit which generates a first tab and outputs the original of the log output through the device selection unit and a log step setting unit in the first tab; A tag menu display unit configured to display a tag menu when a user input is input to the user interface in the log display unit; A filter display unit which generates a second tab and rearranges the tag within the second tab when a tag name and a filter are set in the tag menu display unit; It is made to solve the problem using the Eclipse platform-based plug-in module, characterized in that it comprises a.

일 실시예에서, 상기 레이아웃 최적화 플러그인은 안드로이드 기반 어플리케이션 프로그램 및 로그 파일을 저장하는 데이터베이스; 각 구성 요소를 제어하는 제어부; 상기 제어부의 명령에 따라 프로그램을 도시하는 디스플레이부; 상기 어플리케이션 프로그램 내의 프로젝트의 레이아웃이 최적화되도록 진단하는 레이아웃 최적화 활성부; 상기 레이아웃 최적화 활성부에서 진단된 결과를 표시하는 레이아웃 표시부;를 포함하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 모듈을 이용하여 과제를 해결할 수 있도록 이루어진다.In one embodiment, the layout optimization plug-in includes a database for storing the Android-based application program and log files; A control unit for controlling each component; A display unit for showing a program according to a command of the controller; A layout optimization activator for diagnosing the layout of the project in the application program to be optimized; It is made to solve the problem by using the Eclipse platform-based plug-in module, comprising: a layout display unit for displaying a result diagnosed by the layout optimization active unit.

일 실시예에서, 상기 클래스 배열 플러그인은 안드로이드 기반 어플리케이션 프로그램 및 로그를 저장하는 데이터베이스; 각 구성 요소를 제어하는 제어부; 상기 제어부의 명령에 따라 프로그램을 도시하는 디스플레이부; 상기 어플리케이션 프로그램 내의 프로젝트의 클래스 간 흐름이 도시되도록 활성화시키는 배열 활성부; 상기 프로젝트의 복사본을 생성하는 더미 생성부; 상기 어플리케이션 프로그램이 런타임 중에 발생하는 로그를 디스플레이하는 배열 소스부; 상기 더미 생성부 및 배열 소스부의 어플리케이션 프로그램 및 로그를 이용하여 클래스 간 논리적 흐름을 도식화하여 디스플레이하는 클래스 배열 표시부;를 포함하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 모듈을 이용하여 과제를 해결할 수 있도록 이루어진다.
In one embodiment, the class array plug-in includes a database that stores an Android-based application program and logs; A control unit for controlling each component; A display unit for showing a program according to a command of the controller; An array activator for activating a flow between classes of a project in the application program; A dummy generator for generating a copy of the project; An array source unit for displaying a log generated by the application program during runtime; It is possible to solve the problem using the Eclipse platform-based plug-in module, including; class array display unit for graphically displaying the logical flow between classes using the application program and the log of the dummy generator and the array source unit.

이상에서 설명한 바와 같이, 상기와 같은 구성을 갖는 본 출원의 개시된 기술은 ① 정렬되는 로그의 줄 수가 증감될 수 있도록 단계적 또는 선형적으로 설정 및 허용함으로써, 개발자가 주기적인 삭제 작업을 하지 않아도, 로그 누적으로 인한 프로그램다운 및 데이터 손실을 방지할 수 있고, 필터에 1 개 이상의 태그를 새 탭을 생성시켜 정렬함을 허용하고, 태그를 생성하여 다른 탭으로 이동시키거나 제거하는 등의 작업을 마우스 오른쪽 버튼과 같은 사용자에게 익숙한 인터페이스로 제공함으로써, 다양한 로그를 태그를 붙여 탭 별로 분류할 수 있어 개발자가 수 만개의 로그들을 분석하기 용이하며, ② 레이아웃의 비효율적인 구조를 진단하기 위해 도스 기반이 아닌, 일반적인 사용자 인터페이스인 이클립스에 적용시켜, 최적화의 진단이 완료되면 자동으로 화면에 수정 권고 사항을 도시하고, 문제가 있는 레이아웃에 대한 정보가 표시되는 영역을 더블클릭과 같은 사용자에게 익숙한 인터페이스로 자동이동함으로써, 개발자의 진단 시간을 극적으로 줄일 수 있고, ③ 원본 파일이 아닌 더미(Dummy) 파일을 사용하여 수정 및 삭제하게 되어 원본 파일의 손상을 절대적으로 감소시키고, 클래스 간 흐름을 분석하여 수백 개 내지 수천 개 이상의 클래스 중 개발자가 원하는 흐름만을 골라 한눈에 파악가능한 클래스 시퀀스 흐름도를 제공함으로써, 안드로이드 사용자 인터페이스 화면의 변화에 따른 소스 코드의 관계 파악이 어려운 경우, 효과적으로 클래스 간 논리적 연결을 그림으로 파악할 수 있는 등의 효과를 거둘 수 있다.
As described above, the disclosed technology of the present application having the configuration as described above can be set and allowed step by step or linearly so that the number of rows of logs to be aligned can be increased or decreased, so that the developer does not have to periodically delete the log. You can prevent program-downs and data loss due to accumulation, allow you to create new tabs for sorting one or more tags in a filter, create tags, move tags to another tab, or remove them. By providing a user-friendly interface such as a button, various logs can be tagged and classified by tabs, making it easy for developers to analyze tens of thousands of logs. ② Not using DOS-based to diagnose inefficient structure of layout. Is applied to Eclipse, a common user interface, By showing correction recommendations on the screen and automatically moving the area where information on the problematic layout is displayed to a user-friendly interface such as double-clicking, the diagnostic time of the developer can be dramatically reduced. By using dummy files instead of modifying and deleting, the damage of the original file is absolutely reduced, and the flow between classes is analyzed to select only the desired flow among hundreds or thousands of classes, and the class can be identified at a glance. By providing a sequence flow diagram, it is possible to effectively grasp the logical connection between classes as a picture when it is difficult to grasp the relationship of the source code according to the change of the Android user interface screen.

도 1은 종래 기술에 따른 로그캣의 필터 기능을 도시한 도이다.
도 2는 종래 기술에 따른 울트라 에디트를 도시한 도이다.
도 3은 종래 기술에 따른 레이아웃 최적화기를 도시한 도이다.
도 4는 본 출원에 개시된 기술의 이클립스 플랫폼 기반 플러그인 모듈을 설명하는 블록도이다.
도 5는 본 출원에 개시된 기술의 이클립스 플랫폼 기반 플러그인 모듈 중 로그독 플로그인을 설명하는 블록도이다.
도 6은 도 5의 로그독 플러그인이 실행된 프로그램 화면이다.
도 7은 도 5의 로그독 플러그인에서 태그의 다중 선택이 실행된 프로그램 화면이다.
도 8은 도 5의 로그독 플러그인에서 로그독 파일을 불러오는 방법을 도시한 프로그램 화면이다.
도 9는 본 출원에 개시된 기술의 이클립스 플랫폼 기반 플러그인 모듈 중 로그퍼피 플로그인을 설명하는 블록도이다.
도 10은 도 9의 로그퍼피 플러그인이 실행된 프로그램 화면이다.
도 11은 도 9의 로그퍼피 플러그인이 실행된 프로그램 화면이다.
도 12는 도 9의 로그퍼피 플러그인이 실행된 프로그램 화면이다.
도 13은 도 5 및 도 9의 로그독 및 로그퍼피 플러그인의 필터 기능이 실행된 프로그램 화면이다.
도 14는 본 출원에 개시된 기술의 이클립스 플랫폼 기반 플러그인 모듈 중 레이아웃 최적화 플러그인을 설명하는 블록도이다.
도 15는 도 14의 레이아웃 최적화 플러그인이 실행된 프로그램 화면이다.
도 16은 본 출원에 개시된 기술의 이클립스 플랫폼 기반 플러그인 모듈 중 클래스 배열 플러그인을 설명하는 블록도이다.
도 17은 도 16의 클래스 배열 플러그인이 실행된 프로그램 화면이다.
도 18은 도 16의 클래스 배열 플러그인이 실행된 프로그램 화면이다.
1 is a diagram illustrating a filter function of a logcat according to the prior art.
Figure 2 is a diagram showing the ultra-edit according to the prior art.
3 illustrates a layout optimizer according to the prior art.
4 is a block diagram illustrating an Eclipse platform based plug-in module of the technology disclosed in this application.
FIG. 5 is a block diagram illustrating a logdog plug-in among Eclipse platform-based plug-in modules of the technology disclosed in the present application.
FIG. 6 is a program screen on which the log dog plug-in of FIG. 5 is executed.
FIG. 7 is a program screen in which multiple selection of a tag is executed in the log dog plug-in of FIG. 5.
8 is a program screen illustrating a method of reading a log read file by the log read plug-in of FIG. 5.
FIG. 9 is a block diagram illustrating a log Puppy plug-in among Eclipse platform-based plug-in modules of the technology disclosed in the present application.
FIG. 10 is a program screen on which the logpuff plug-in of FIG. 9 is executed.
FIG. 11 is a program screen on which the logpuff plug-in of FIG. 9 is executed.
12 is a program screen on which the log Puppy plug-in of FIG. 9 is executed.
FIG. 13 is a program screen in which the filter function of the log read and log puppy plug-ins of FIGS. 5 and 9 is executed.
14 is a block diagram illustrating a layout optimization plug-in among Eclipse platform-based plug-in modules of the technology disclosed in the present application.
FIG. 15 is a program screen on which the layout optimization plug-in of FIG. 14 is executed.
16 is a block diagram illustrating a class array plug-in among Eclipse platform-based plug-in modules of the technology disclosed in the present application.
17 is a program screen on which the class array plug-in of FIG. 16 is executed.
FIG. 18 is a program screen on which the class array plug-in of FIG. 16 is executed.

개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 개시된 기술에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the disclosed technique is merely an example for structural or functional explanation and the scope of the disclosed technology should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the disclosed technology should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the disclosed technology should not be construed as being limited thereby, as it does not mean that a particular embodiment must include all such effects or merely include such effects.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring to", should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It should be understood that the singular " include "or" have "are to be construed as including a stated feature, number, step, operation, component, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the disclosed technology belongs, unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present application.

이하, 본 출원에 따른 실시예를 첨부된 예시도면을 참고로 하여 상세하게 설명한다.
Hereinafter, embodiments of the present application will be described in detail with reference to the accompanying drawings.

도 4는 본 출원에 개시된 기술의 이클립스 플랫폼 기반 플러그인 모듈을 설명하는 블록도이다. 도 4를 참조하면, 본 출원에 따른 이클립스 플랫폼 기반 플러그인 모듈(1)은 데이터베이스(10), 제어부(20), 디스플레이부(30), 로그독 플러그인(LogDog Plug-in, 40), 로그퍼피 플러그인(LogPuppy Plug-in, 50), 레이아웃 최적화 플러그인(Layout Optimizer, 60), 클래스 배열 플러그인(Sequencer, 70)을 포함하여 이루어진다.4 is a block diagram illustrating an Eclipse platform based plug-in module of the technology disclosed in this application. Referring to FIG. 4, the Eclipse platform-based plug-in module 1 according to the present application may include a database 10, a controller 20, a display unit 30, a logdog plug-in 40, and a logpuppy plug-in. (LogPuppy Plug-in, 50), Layout Optimizer (Layout Optimizer, 60), and Class Array Plug-in (Sequencer, 70).

데이버베이스(10)는 안드로이드 어플 개발자가 작성한 프로그램 및 로그를 저장하도록 구비되고, 본 출원에 따른 이클립스 플랫폼 기반 플러그인 모듈(1)의 프로그램도 저장가능하도록 구비된다.The database 10 is provided to store a program and a log written by an Android application developer, and is also provided to store a program of an Eclipse platform-based plug-in module 1 according to the present application.

제어부(20)는 데이터베이스(10), 디스플레이부(30), 로그독 플러그인(40), 로그퍼피 플러그인(50), 레이아웃 최적화 플러그인(60), 클래스 배열 플러그인(70) 등의 각 구성 요소의 입, 출력 및 명령 전달을 하며 각 구성 요소를 제어하도록 구비된다.The control unit 20 inputs each component such as the database 10, the display unit 30, the log dog plug-in 40, the log Puppy plug-in 50, the layout optimization plug-in 60, and the class array plug-in 70. It is equipped to output, command, and control each component.

디스플레이부(30)는 제어부(20)의 명령에 따라 로그독 플러그인(40), 로그퍼피 플러그인(50), 레이아웃 최적화 플러그인(60), 클래스 배열 플러그인(70)의 프로그램 창을 도시하도록 구비되며, 디스플레이부(30)에 구비된 프로그램 창의 각 구성 요소를 보고 개발자는 각 구성 요소를 마우스 등으로 입력하여 각 플러그인(40, 50, 60, 70)을 사용가능하도록 개발자에게 디스플레이한다.The display unit 30 is provided to show a program window of the log dog plug-in 40, the log puppy plug-in 50, the layout optimization plug-in 60, and the class array plug-in 70 according to a command of the controller 20. Looking at each component of the program window provided in the display unit 30, the developer inputs each component with a mouse or the like and displays the respective plug-ins 40, 50, 60, and 70 to the developer.

로그독 플러그인(40)은 로그들을 디버깅(ⓓ: Debugging), 단순 정보(ⓘ: Information), 경고(ⓦ: Warning), 오류(ⓔ: Error), 상세 정보(ⓥ: Verbose) 별로, 개발자가 설정한 태그 이름으로 형성된 탭 내에 정렬할 수 있고, 로그 파일을 열고자 할 때에도 단계적인 폴더 시스템으로 형성된 윈도우 OS(Operating System) 내에서 단계적인 폴더를 순차적으로 열 필요 없이, 드래그 앤 드롭(Drag and Drop)으로 파일을 끌어다 놓으면 열릴 수 있도록 구성된다.The log docking plug-in 40 is configured by the developer for debugging logs (ⓓ: Debugging), simple information (ⓘ: Information), warning (Error), error (ⓔ: Error), and detailed information (ⓥ: Verbose). You can sort within tabs formed by a single tag name, and drag and drop without having to open step by step folders within the operating system (Windows OS), which is a step by step folder system, even when you want to open a log file. Drag and drop the file into) to open it.

로그퍼피 플러그인(50)은 10,000 이상의 로그들을 쌓을 수 있도록, 만, 이만, 삼만, 사만, 오만 등과 같이 순차적으로 로그의 줄 수를 증가 또는 감소시킬 수 있으며, 단계적인 증감뿐만 아니라 선형적으로도 사용자가 설정할 수 있도록 하고, 10,000 줄이 넘어가는 로그들을 디버깅(ⓓ: Debugging), 단순 정보(ⓘ: Information), 경고(ⓦ: Warning), 오류(ⓔ: Error), 상세 정보(ⓥ: Verbose) 별로, 개발자가 설정한 태그 이름으로 형성된 탭 내에 정렬할 수 있다.The logpuppy plug-in 50 can increase or decrease the number of rows of logs sequentially, such as 10,000, 20,000, 30,000, 40,000, Oman, etc., so that more than 10,000 logs can be stacked. More than 10,000 lines of logs, ⓓ: Debugging, Simple Information, Warning, Error, Error, Verbose. In addition, you can sort within the tab formed by the tag name set by the developer.

레이아웃 최적화 플러그인(60)은 기존의 도스창으로 도시되는 레이아웃 진단을 개발자가 이용하기 용이하도록, 사용자 인터페이스를 변경하여 이클립스 플랫폼에 익숙한 사용자들을 고려하였고, 이클립스 플랫폼 내에 정렬 및 출력될 수 있도록 구비된다.The layout optimization plug-in 60 is designed to allow users to easily use the layout diagnosis shown in the existing DOS window, to consider users familiar with the Eclipse platform, and to arrange and output the Eclipse platform.

클래스 배열 플러그인(70)은 거대 프로그램의 경우 수천 개까지 삽입될 수 있는 클래스 중 개발자가 원하는 클래스 간 논리 흐름이 한눈에 파악할 수 있도록, 그림 형태로 클래스의 논리 흐름을 도시할 수 있도록 구비되고, 안드로이드 사용자 인터페이스 화면 변화에 따른 소스 코드의 관계 파악이 어려운 경우 효과적으로 사용가능하며, 결점 추적 및 원인 파악에 직관적인 사용자 인터페이스를 제공한다.
Class array plug-in 70 is provided to show the logic flow of the class in the form of a picture so that the developer can grasp at a glance the logic flow between classes among the classes that can be inserted up to thousands of large programs, Android It can be effectively used when it is difficult to grasp the relationship of source code according to the change of user interface screen, and provides an intuitive user interface for defect tracking and reasoning.

도 5는 본 출원에 개시된 기술의 이클립스 플랫폼 기반 플러그인 모듈 중 로그독 플로그인을 설명하는 블록도이다. 도 5를 참조하면, 본 출원에 따른 로그독 플러그인(40)은 로그독 활성부(41), 파일 로딩부(42), 로그독 표시부(43)를 포함한다.FIG. 5 is a block diagram illustrating a logdog plug-in among Eclipse platform-based plug-in modules of the technology disclosed in the present application. Referring to FIG. 5, the log read plug-in 40 according to the present application includes a log read activation unit 41, a file loading unit 42, and a log read display unit 43.

여기서, 로그독 플러그인(40)의 구성요소가 도면상 디스플레이부(30) 내부에 있는 것과 같이 도시되었으나, 이는 프로그램의 특성상 개발자에게 디스플레이됨과 동시에 마우스 등의 입력 장치로 명령이 입력될 수 있어 도면과 같이 도시된 것이고, 디스플레이부(30)인 모니터 등에 로그독 플러그인(40)이 설치되는 것은 아니며, 이는 로그독 플러그인(40) 내에 내장된 구성 요소들이다.Here, although the components of the log dog plug-in 40 are shown as being inside the display unit 30 in the drawing, this is displayed to the developer due to the nature of the program and at the same time a command may be input to an input device such as a mouse and the like. As shown in the figure, the logdog plug-in 40 is not installed in a monitor, which is the display unit 30, and these are components built in the logdog plug-in 40.

로그독 활성부(41)는 로그독을 실행하기 위한 아이콘 형태의 입력 및 화면에 디스플레이되는 출력 구성요소이고, 로그독 활성부(41)의 아이콘을 개발자가 클릭하면 로그독 표시부(43)가 활성화(Launch)된다.The log read activator 41 is an input component in the form of an icon for executing the log read and an output component displayed on the screen. When the developer clicks the icon of the log read activator 41, the log read display 43 is activated. (Launch)

파일 로딩부(42)는 로그 파일을 불러오기 위한 구성 요소로, 로그 파일 선택시 단계적인 폴더 시스템으로 형성된 윈도우 OS(Operating System) 내에서 단계적인 폴더를 순차적으로 열 필요 없이, 드래그 앤 드롭(Drag and Drop)으로 파일을 끌어다 놓으면 열릴 수 있도록 구성된다.The file loading unit 42 is a component for loading a log file. When the log file is selected, the file loading unit 42 does not need to sequentially open the step by step folder in the Windows OS (Operating System) formed as a step by step folder system. and Drop files are configured to open when dropped.

로그독 표시부(43)는 로그 표시부(43a), 태그 메뉴 표시부(43b), 필터 표시부(43(1)……43(n))를 포함하는데, 로그 표시부(43a)는 파일 로딩부(42)를 통해 출력된 원본 파일 그 자체를 출력하도록 탭을 형성하여 그 내에 출력될 수 있도록 구비된다.The log read display unit 43 includes a log display unit 43a, a tag menu display unit 43b, and a filter display unit 43 (1) ... ... 43 (n). The log display unit 43a includes a file loading unit 42. It is provided to form a tab to output the original file itself output through the to be output therein.

필터 표시부(43(1)……43(n))는 로그 표시부(43a)에서 개발자가 태그 이름 및 필터를 설정하면 1 개씩 탭을 증가시켜 그 내에 재정렬시키게 되고, 필터의 수에 따라 필터 표시부(43(1)……43(n))의 수가 결정되는데, 즉 1 개의 필터만을 설정했다면 1 번째 탭에는 로그 원본 파일이 정렬되고, 2 번째 탭에는 1 번째 필터에 따른 로그들이 필터 표시부(43(1))에 정렬되며, n 번째 탭에는 n-1번째 필터에 따른 로그들이 필터 표시부(43(n))에 정렬되는 것이다.When the developer sets the tag name and the filter in the log display unit 43a, the filter display unit 43 (1) ... ... 43 (n) increases the tabs one by one and rearranges them. The number of 43 (1) …… 43 (n)) is determined, i.e., if only one filter is set, the log source files are sorted on the first tab, and the logs according to the first filter are displayed on the first tab. 1)), in the nth tab, logs according to the n-1th filter are arranged in the filter display part 43 (n).

태그 메뉴 표시부(43b)는 태그를 형성하기 위해 기존에는『╋』형상의 녹색 버튼을 눌러야 했다면, 로그가 정렬된 영역에 마우스 오른쪽 버튼과 같은 개발자에게 적응된 사용자 인터페이스로 인해 도시되며, 메뉴의 종류는『NEW』,『Move Tag』,『Remove Tag』로 구성된다.The tag menu display unit 43b is shown due to the user interface adapted to the developer such as the right mouse button in the area where the log is arranged, if the user had to press the green button in the shape of '╋' to form a tag. Is composed of 『NEW』, 『Move Tag』, 『Remove Tag』.

『NEW』는 해당 태그를 검색 조건으로 하는 새로운 필터를 탭을 새로이 형성시켜 생성하는 것이고, 『Move Tag』는 해당 태그를 다른 탭 내의 필터로 이동시키는 것이며, 『Remove Tag』는 해당 태그를 현재 필터 조건에서 제외한다는 것이며, 동시에 태그를 보고 싶다면『,』와 같은 연산자를 기재하면 동시에 볼 수 있다."NEW" is to create a new tab by creating a new filter with the tag as a search condition, "Move Tag" is to move the tag to a filter in another tab, and "Remove Tag" is to move the tag to the current filter. If you want to see the tag at the same time, you can write it by writing an operator like 『,』.

즉, A 라는 태그와 B 라는 태그를 동시에 한 탭 내에서 보고 싶은 경우에는 콤마와 같은 연산자를 기재하여, 『A, B』라고 기재하면 A의 태그를 가지고 필터링된 로그들과 B의 태그를 가지고 필터링된 로그들이 한 화면 내인 한 탭 내에서 정렬되게 되는 것이다.In other words, if you want to see the tag A and the tag B in one tab at the same time, write the comma-like operator and write 『A, B』. The filtered logs will be sorted in one tab within one screen.

또한, 하나의 로그를 선택하고, 마우스 오른쪽 버튼과 같은 개발자에게 적응된 사용자 인터페이스를 이용하면『NEW』가 디스플레이되어, 그 아이콘을 누르면 태그 및 필터의 텍스트를 입력할 필요없이, 선택된 태그가 입력된 필터 생성창이 자동으로 생성되고, 이에 따라 선택된 필터로 정렬된 로그들이 새로운 탭 내에서 정렬되게 된다.In addition, when selecting a log and using a user-adapted user interface such as the right mouse button, "NEW" is displayed. When the icon is pressed, the selected tag is entered without having to enter the tag and filter text. The filter creation window is created automatically, so that logs sorted by the selected filter are sorted in a new tab.

덧붙여서, 하나 이상의 로그를 선택하고, 마우스 오른쪽 버튼과 같은 개발자에게 적응된 사용자 인터페이스를 이용하면『NEW』가 디스플레이되어, 그 아이콘을 누르면 태그 및 필터의 텍스트를 입력할 필요없이, 다중으로 선택된 태그가 입력된 필터 생성창이 자동으로 생성되고, 이에 따라 선택된 필터로 정렬된 다중 태그를 가진 로그들이 새로운 탭 내에서 정렬되게 된다.In addition, by selecting one or more logs and using a user-adapted user interface, such as the right mouse button, "NEW" is displayed, and pressing the icon causes multiple selected tags to be entered without the need to enter tags and filter text. The input filter creation window is created automatically, so that logs with multiple tags sorted by the selected filter are sorted in a new tab.

여기서, 필터가 2 개 이상이라면,『Move Tag』를 이용하여 필터 간 어떠한 로그가 붙은 태그들을 한꺼번에 이동시킬 수 있는데, 필터가 2 개 미만이면 이동시킬 필터가 없기 때문에『Move Tag』를 활성화시키지 않고, 2 개 이상인 경우에만 『Move Tag』를 활성화시켜서 사용자의 편의를 도모할 수 있다.Here, if there are two or more filters, you can move tags with any log between filters at once using 『Move Tag』. If there are less than two filters, there is no filter to move, so you do not activate 『Move Tag』. For convenience, users can activate the 『Move Tag』 only when there are more than two.

또한,『Remove Tag』는 어떠한 태그가 붙은 로그들을 어떠한 필터 내에서 한꺼번에 지우고 싶을 때 사용되며, 제거된 해당 로그는 원본 로그 파일이 정렬되어 있는 곳에서만 보여지게 되고, 필터를 새로 설정하여 개발자가 보고자 하는 로그들만이 모여있는 곳에서만『Remove Tag』를 활성화시키는데, 그 이유는 원본 로그는 수정 및 삭제되지 않고 유지되어야만, 그 후 다양한 필터로 로그들을 재정렬할 수 있기 때문이다.
In addition, 『Remove Tag』 is used when you want to delete any tagged logs in a filter at once. The removed log is only shown where the original log files are arranged. The Remove Tag is activated only where the logs are gathered, because the original log must be kept unmodified and deleted, after which the logs can be rearranged by various filters.

도 6은 도 5의 로그독 플러그인이 실행된 프로그램 화면이다. 도 6에 도시된 바와 같이, ①의 『L』아이콘은 로그독 활성부(41)를 도시한 것이고, 이 아이콘을 누르게 되면 ②의 『LogDog』이라는 로그독 표시부(43)가 활성화되며, ③을 눌러 로그 파일을 로딩하거나 또는 드래그 앤 드롭으로 파일을 로그독 표시부(43)에 끌어다 놓으면 로그독 표시부(43) 내에 Log 라는 탭이 생성되며 원본 로그 파일이 ④의 로그 표시부(43a) 내에 정렬되게 된다.FIG. 6 is a program screen on which the log dog plug-in of FIG. 5 is executed. As shown in Fig. 6, the "L" icon of ① shows the log reading active part 41, and when this icon is pressed, the log reading display part 43 called "LogDog" of ② is activated. Press to load the log file or drag and drop the file onto the log read display 43, a tab called Log is created in the log read display 43, and the original log file is aligned in the log display 43a of ④. .

그리고 나서, 로그 표시부(43a) 내에서 필터를 생성하거나, 어떠한 태그가 붙은 로그들을 한꺼번에 다른 필터 내로 이동시키고 싶다거나, 삭제하고 싶을 때에는 마우스 오른쪽 버튼을 로그 표시부(43a) 내에서 누르게 되면, ⑤의 태그 메뉴 표시부(43b)가 생성되며, 선택된 해당 로그에 대한 태그가 붙은 필터가 생성되거나, 다른 필터로 이동되거나, 삭제되게 된다.
Then, if you want to create a filter in the log display unit 43a, or move any tagged logs to another filter at once, or to delete it, press the right mouse button in the log display unit 43a. The tag menu display unit 43b is generated, and a tagged filter for the selected log is generated, moved to another filter, or deleted.

도 7은 도 5의 로그독 플러그인에서 태그의 다중 선택이 실행된 프로그램 화면이다. 도 7에 도시된 바와 같이, A, B, C, D, E 라는 태그를 동시에 보고 싶다면, 필터 내에서 해당 태그를 콤마로 연결하여 적으면 그 탭 내에서 A, B, C, D, E 의 태그가 붙은 로그들이 정렬되게 되며, 태그 메뉴에 대한 상세한 실시예는 로그퍼피 플러그인에서도 실행되므로 이하에서 상세하게 설명하기로 한다.
FIG. 7 is a program screen in which multiple selection of a tag is executed in the log dog plug-in of FIG. 5. As shown in Fig. 7, if you want to see the tags A, B, C, D, E at the same time, if you write a comma connected to the tag in the filter and write the A, B, C, D, E in the tab The tagged logs are sorted, and a detailed embodiment of the tag menu is also executed in the logpuppy plug-in, which will be described in detail below.

도 8은 도 5의 로그독 플러그인에서 로그독 파일을 불러오는 방법을 도시한 프로그램 화면이다. 도 8에 도시된 바와 같이, 드래그 앤 드롭으로 파일을 로그 표시부(43a) 내로 끌어오면 로그 파일이 열리게 되며, 기존의 파일 열기와 같은 기능으로 열어도 무방하다.
8 is a program screen illustrating a method of reading a log read file by the log read plug-in of FIG. 5. As shown in FIG. 8, when the file is dragged into the log display unit 43a by dragging and dropping, the log file is opened and may be opened by the same function as the existing file open.

도 9는 본 출원에 개시된 기술의 이클립스 플랫폼 기반 플러그인 모듈 중 로그퍼피 플로그인을 설명하는 블록도이다. 도 9를 참조하면, 본 출원에 따른 로그퍼피 플러그인(50)은 로그퍼피 활성부(51), 디바이스 선택부(52), 로그단계 설정부(53), 로그퍼피 표시부(54)를 포함한다.FIG. 9 is a block diagram illustrating a log Puppy plug-in among Eclipse platform-based plug-in modules of the technology disclosed in the present application. Referring to FIG. 9, the log ppu plug-in 50 according to the present application includes a log ppu activation unit 51, a device selection unit 52, a log step setting unit 53, and a log ppu display unit 54.

여기서, 로그퍼피 플러그인(50)의 구성요소가 도면상 디스플레이부(30) 내부에 있는 것과 같이 도시되었으나, 이는 프로그램의 특성상 개발자에게 디스플레이됨과 동시에 마우스 등의 입력 장치로 명령이 입력될 수 있어 도면과 같이 도시된 것이고, 디스플레이부(30)인 모니터 등에 로그퍼피 플러그인(50)의 구성요소가 설치되는 것은 아니며, 이는 로그퍼피 플러그인(50) 내에 내장된 구성 요소들이다.Here, although the components of the log-puppy plug-in 50 are shown as inside the display unit 30 in the drawing, this is displayed on the developer due to the nature of the program and at the same time a command can be input to an input device such as a mouse and As shown in the figure, the components of the log puff plug-in 50 are not installed in the monitor, which is the display unit 30, which are components embedded in the log puff plug-in 50.

로그퍼피 활성부(51)는 로그퍼피를 실행하기 위한 아이콘 형태의 입력 및 화면에 디스플레이되는 출력 구성요소이고, 로그퍼피 활성부(51)의 아이콘을 개발자가 클릭하면 로그퍼피 표시부(54)가 활성화(Launch)된다.The logpuppy activator 51 is an input component in the form of an icon for executing the logpuppy and an output component displayed on the screen. When the developer clicks the icon of the logpuppy activator 51, the logpuppy display unit 54 is activated. (Launch)

디바이스 선택부(52)는 디바이스의 로그를 보고 싶을 때, 로그를 개발자의 컴퓨터 등에 연결하고, 연결된 디바이스의 종류를 선택하는 선택 박스 형태로서, 로그를 보고 싶은 디바이스를 선택하도록 구비된다.The device selector 52 connects the log to a developer's computer or the like when the user wants to view the log of the device, and selects a device for which the log is to be viewed as a selection box type for selecting the type of the connected device.

로그 단계 설정부(53)는 10,000 개 이상의 로그 정렬이 불가했던 기존의 이클립스 플랫폼과는 달리, 그 이상의 로그도 정렬가능하도록 구성하였으며, 이로 인해 너무 많은 로그로 인한 이클립스 플랫폼이 다운되는 현상을 방지할 수 있도록 구비되고, 만, 2만, 3만, 4만, 5만 등의 단계적으로 정렬 로그 수를 선택할 수 있도록 이루어지고, 선형적으로도 사용자가 원하는 만큼 설정할 수 있도록 이루어진다.Unlike the existing Eclipse platform where sorting of more than 10,000 logs was not possible, the log level setting unit 53 is configured to sort more logs, thereby preventing the Eclipse platform from crashing due to too many logs. It is provided so as to be able to select the number of sorting logs in steps of 10,000, 20,000, 30,000, 40,000, 50,000, etc., and can be set linearly as the user wants.

로그퍼피 표시부(54)는 로그 표시부(54a), 태그 메뉴 표시부(54b), 필터 표시부(54(1)……54(n))를 포함하는데, 로그 표시부(54a)는 디바이스 선택부(52)를 통해 선택된 디바이스의 원본 로그 파일 그 자체를 출력하도록 탭을 형성하여 그 내에 출력될 수 있도록 구비된다.The log Puppy display section 54 includes a log display section 54a, a tag menu display section 54b, and a filter display section 54 (1) ...... 54 (n), and the log display section 54a includes a device selector 52. It is provided to form a tab to output the original log file itself of the selected device through the outputted therein.

필터 표시부(54(1)……54(n))는 로그 표시부(54a)에서 개발자가 태그 이름 및 필터를 설정하면 1 개씩 탭을 증가시켜 그 내에 재정렬시키게 되고, 필터의 수에 따라 필터 표시부(54(1)……54(n))의 수가 결정되는데, 즉 1 개의 필터만을 설정했다면 1 번째 탭에는 로그 원본 파일이 정렬되고, 2 번째 탭에는 1 번째 필터에 따른 로그들이 필터 표시부(54(1))에 정렬되며, n 번째 탭에는 n-1번째 필터에 따른 로그들이 필터 표시부(54(n))에 정렬되는 것이다.When the developer sets the tag name and the filter in the log display unit 54a, the filter display unit 54 (1) ... 54 (n) increases and rearranges the tabs one by one, and the filter display unit ( 54 (1) …… 54 (n)) is determined, that is, if only one filter is set, the log source files are sorted on the first tab, and the logs according to the first filter are displayed on the first tab. 1)), in the nth tab, the logs according to the n-1th filter are arranged in the filter display unit 54 (n).

태그 메뉴 표시부(54b)는 태그를 형성하기 위해 기존에는『╋』형상의 녹색 버튼을 눌러야 했다면, 로그가 정렬된 영역에 마우스 오른쪽 버튼과 같은 개발자에게 적응된 사용자 인터페이스로 인해 도시되며, 메뉴의 종류는『NEW』,『Move Tag』,『Remove Tag』로 구성된다.The tag menu display unit 54b is shown due to the user interface adapted to the developer such as the right mouse button in the area where the log is arranged, if the user had to press the green button of the "╋" shape in order to form a tag. Is composed of 『NEW』, 『Move Tag』, 『Remove Tag』.

『NEW』는 해당 태그를 검색 조건으로 하는 새로운 필터를 탭을 새로이 형성시켜 생성하는 것이고, 『Move Tag』는 해당 태그를 다른 탭 내의 필터로 이동시키는 것이며, 『Remove Tag』는 해당 태그를 현재 필터 조건에서 제외한다는 것이며, 동시에 태그를 보고 싶다면『,』와 같은 연산자를 기재하면 동시에 볼 수 있다."NEW" is to create a new tab by creating a new filter with the tag as a search condition, "Move Tag" is to move the tag to a filter in another tab, and "Remove Tag" is to move the tag to the current filter. If you want to see the tag at the same time, you can write it by writing an operator like 『,』.

즉, A 라는 태그와 B 라는 태그를 동시에 한 탭 내에서 보고 싶은 경우에는 콤마와 같은 연산자를 기재하여, 『A, B』라고 기재하면 A의 태그를 가지고 필터링된 로그들과 B의 태그를 가지고 필터링된 로그들이 한 화면 내인 한 탭 내에서 정렬되게 되는 것이다.In other words, if you want to see the tag A and the tag B in one tab at the same time, write the comma-like operator and write 『A, B』. The filtered logs will be sorted in one tab within one screen.

또한, 하나의 로그를 선택하고, 마우스 오른쪽 버튼과 같은 개발자에게 적응된 사용자 인터페이스를 이용하면『NEW』가 디스플레이되어, 그 아이콘을 누르면 태그 및 필터의 텍스트를 입력할 필요없이, 선택된 태그가 입력된 필터 생성창이 자동으로 생성되고, 이에 따라 선택된 필터로 정렬된 로그들이 새로운 탭 내에서 정렬되게 된다.In addition, when selecting a log and using a user-adapted user interface such as the right mouse button, "NEW" is displayed. When the icon is pressed, the selected tag is entered without having to enter the tag and filter text. The filter creation window is created automatically, so that logs sorted by the selected filter are sorted in a new tab.

덧붙여서, 하나 이상의 로그를 선택하고, 마우스 오른쪽 버튼과 같은 개발자에게 적응된 사용자 인터페이스를 이용하면『NEW』가 디스플레이되어, 그 아이콘을 누르면 태그 및 필터의 텍스트를 입력할 필요없이, 다중으로 선택된 태그가 입력된 필터 생성창이 자동으로 생성되고, 이에 따라 선택된 필터로 정렬된 다중 태그를 가진 로그들이 새로운 탭 내에서 정렬되게 된다.In addition, by selecting one or more logs and using a user-adapted user interface, such as the right mouse button, "NEW" is displayed, and pressing the icon causes multiple selected tags to be entered without the need to enter tags and filter text. The input filter creation window is created automatically, so that logs with multiple tags sorted by the selected filter are sorted in a new tab.

여기서, 필터가 2 개 이상이라면,『Move Tag』를 이용하여 필터 간 어떠한 로그가 붙은 태그들을 한꺼번에 이동시킬 수 있는데, 필터가 2 개 미만이면 이동시킬 필터가 없기 때문에『Move Tag』를 활성화시키지 않고, 2 개 이상인 경우에만 『Move Tag』를 활성화시켜서 사용자의 편의를 도모할 수 있다.Here, if there are two or more filters, you can move tags with any log between filters at once using 『Move Tag』. If there are less than two filters, there is no filter to move, so you do not activate 『Move Tag』. For convenience, users can activate the 『Move Tag』 only when there are more than two.

또한,『Remove Tag』는 어떠한 태그가 붙은 로그들을 어떠한 필터 내에서 한꺼번에 지우고 싶을 때 사용되며, 제거된 해당 로그는 원본 로그 파일이 정렬되어 있는 곳에서만 보여지게 되고, 필터를 새로 설정하여 개발자가 보고자 하는 로그들만이 모여있는 곳에서만『Remove Tag』를 활성화시키는데, 그 이유는 원본 로그는 수정 및 삭제되지 않고 유지되어야만, 그 후 다양한 필터로 로그들을 재정렬할 수 있기 때문이다.
In addition, 『Remove Tag』 is used when you want to delete any tagged logs in a filter at once. The removed log is only shown where the original log files are arranged. The Remove Tag is activated only where the logs are gathered, because the original log must be kept unmodified and deleted, after which the logs can be rearranged by various filters.

도 10은 도 9의 로그퍼피 플러그인이 실행된 프로그램 화면이다. 도 10에 도시된 바와 같이, ①의 『E』아이콘은 로그퍼피 활성부(51)를 도시한 것이고, 이 아이콘을 누르게 되면 ②의 『LogPuppy』이라는 로그퍼피 표시부(54)가 활성화되며, ②에 도시된『LG_ANDROID_P500_GB_』라는 기기를 선택할 수 있는 디바이스 선택부(52)에서 기기를 선택하게 되면, 로그퍼피 표시부(54) 내에 Log 라는 탭이 생성되며 원본 로그 파일이 ④의 로그 표시부(54a) 내에 정렬되게 된다.FIG. 10 is a program screen on which the logpuff plug-in of FIG. 9 is executed. As shown in Fig. 10, the "E" icon of ① shows the log Puppy activation unit 51, and when this icon is pressed, the log Puppy display unit 54 called "LogPuppy" of ② is activated, When the device is selected in the device selector 52 that can select the device "LG_ANDROID_P500_GB_", a tab called Log is created in the log Puppy display unit 54 and the original log file is arranged in the log display unit 54a of ④. Will be.

그리고 나서, 로그 표시부(54a) 내에서 필터를 생성하거나, 어떠한 태그가 붙은 로그들을 한꺼번에 다른 필터 내로 이동시키고 싶다거나, 삭제하고 싶을 때에는 마우스 오른쪽 버튼을 로그 표시부(54a) 내에서 누르게 되면, ⑤의 태그 메뉴 표시부(54b)가 생성되며, 선택된 해당 로그에 대한 태그가 붙은 필터가 생성되거나, 다른 필터로 이동되거나, 삭제되게 된다.
Then, if you want to create a filter in the log display section 54a, or move any tagged logs to another filter at once, or to delete it, press the right mouse button in the log display section 54a. The tag menu display unit 54b is generated, and a tagged filter for the selected log is generated, moved to another filter, or deleted.

도 11은 도 9의 로그퍼피 플러그인이 실행된 프로그램 화면이다. 도 11에 도시된 바와 같이, 로그퍼피 플러그인은 두 개의 디바이스가 연결되어 있을 경우, 즉 도면에서는 emulator-5554와 emulator-5556이 연결되어 있는 경우에는, 디바이스 선택부(52)가 활성화되어 로그를 보고자 하는 파일을 한 가지 선택할 수 있고, 선택을 한 경우에는 선택된 디바이스의 로그를 표시한다.
FIG. 11 is a program screen on which the logpuff plug-in of FIG. 9 is executed. As shown in FIG. 11, in the case where two devices are connected, that is, when emulator-5554 and emulator-5556 are connected in the drawing, the device selector 52 is activated to view a log. One file can be selected, and if selected, the log of the selected device is displayed.

도 12는 도 9의 로그퍼피 플러그인이 실행된 프로그램 화면이다. 도 12에 도시된 바와 같이, 로그퍼피 플러그인은 10,000 개 이상의 로그를 보고자 할 때, 10,000 Lines, 20,000 Lines, 30,000 Lines, 40,000 Lines, 50,000 Lines 등과 같이 단계적으로 증가 또는 감소시킬 수 있으며, 혹은 선형적으로 사용자가 원하는 만큼의 수를 설정할 수도 있고, 상기 단계적인 증감 로그 줄 수는 사용자가 원하는 만큼 단위를 변경가능함은 자명하다.
12 is a program screen on which the log Puppy plug-in of FIG. 9 is executed. As illustrated in FIG. 12, when the user wants to view more than 10,000 logs, the logpuppy plug-in may increase or decrease in steps, such as 10,000 Lines, 20,000 Lines, 30,000 Lines, 40,000 Lines, 50,000 Lines, or linearly. It is apparent that the user can set as many numbers as the user wants, and the incremental log line number can be changed as much as the user wants.

도 13은 도 5 및 도 9의 로그독 및 로그퍼피 플러그인의 필터 기능이 실행된 프로그램 화면이다. 도 13a에 도시된 바와 같이, 필터 내에서 태그를 dalvikvm, MediaScanner로 다중으로 선택할 수 있고, 이에 따라 Multi Tag Filter의 탭 내에 다중 선택된 태그가 붙은 로그만이 정렬되게 된다.FIG. 13 is a program screen in which the filter function of the log read and log puppy plug-ins of FIGS. 5 and 9 is executed. As shown in FIG. 13A, a tag may be multi-selected by dalvikvm and MediaScanner in the filter, so that only logs with a multi-selected tag are sorted in the tab of the Multi Tag Filter.

도 13b에 도시된 바와 같이, 마우스 오른쪽 버튼이 개발자에 의해 눌리게 되면, 메뉴가 표시되는데, 그 중『NEW』는 선택된 로그에 붙은 태그와 같은 필터가 탭을 새로 생성하여 그 탭 내에 정렬되게 되며, 선택된 로그에 붙은 태그와 같은 로그들은 모두 그 탭 내에 정렬되는데, 도면에서는 dalvikvm 이 붙은 로그를 선택했으므로, dalvikvm 이라는 태그가 붙은 로그들은 모두 dalvikvm 의 탭 내에 정렬되게 되는 것이다.As shown in FIG. 13B, when the right mouse button is pressed by the developer, a menu is displayed, of which "NEW" indicates that a filter such as a tag attached to the selected log creates a new tab and sorts it within the tab. Logs, such as tags attached to the selected log, are all sorted within that tab. In the drawing, you have selected a log labeled dalvikvm, so all logs tagged dalvikvm are sorted within the tab of dalvikvm.

또, 도 13c에 도시된 바와 같이, 마우스 오른쪽 버튼이 개발자에 의해 눌리게 되면, 메뉴가 표시되는데, 그 중『NEW』는 다중 선택된 로그에 붙은 태그와 같은 필터가 탭을 새로 생성하여 그 탭 내에 정렬되게 되며, 다중 선택된 로그에 붙은 태그와 같은 로그들은 모두 그 탭 내에 정렬되는데, 도면에서는 ThrottleService, SntpClient, dalvikvm 이 붙은 로그를 다중 선택했으므로, ThrottleService, SntpClient, dalvikvm 이라는 태그가 붙은 로그들은 모두 Multi Tag Filter 내에 정렬되게 되는 것이다.In addition, as shown in FIG. 13C, when a right mouse button is pressed by a developer, a menu is displayed. Among them, "NEW" indicates that a filter, such as a tag attached to a multi-selected log, creates a new tab and displays the tab. Logs, such as tags attached to multiple selected logs, are all sorted within that tab. In the drawing, multiple logs with ThrottleService, SntpClient, and dalvikvm are selected, so all logs tagged ThrottleService, SntpClient, and dalvikvm are multi-tag. Will be sorted within the Filter.

필터 간 태그 이동인『Move Tag』는 도 13d에 도시된 바와 같이, 원본 로그 파일이 정렬되어 있는 탭 외에 하나 이상의 다른 필터가 있는 경우에만 메뉴를 활성화시키고, 선택된 로그에 붙은 태그를 가진 로그들은 모두 다른 필터 내로 이동시킬 수 있게 되는데, 도면에서는 이미 Multi Tag Filter가 생성되어 있고, 원본 로그 파일인 로그 탭 내에서 왼쪽 버튼을 눌렀을 때 기 생성된 필터의 이름인 Multi Tag Filter가 활성화되며, 이를 누르게 되면 선택된 태그인 MediaScanner가 붙은 모든 로그들은 Multi Tag Filter로 이동 및 정렬되는 것이다.As shown in FIG. 13D, “Move Tag”, which is a tag movement between filters, activates a menu only when there are one or more other filters besides a tab in which the original log file is sorted, and all logs having a tag attached to the selected log are displayed. In the drawing, the Multi Tag Filter has already been created, and when the left button is pressed within the Log tab, the original log file, the Multi Tag Filter, which is the name of the previously created filter, is activated. All logs attached to the selected tag, MediaScanner, are moved and sorted by the Multi Tag Filter.

어떠한 태그가 붙은 로그를 한꺼번에 삭제하고자 할 때에는, 도 13e에 도시된 바와 같이, 하나의 로그를 선택하여 마우스 오른쪽 버튼과 같은 단축키를 눌러 『Remove Tag』를 선택하면, 어떠한 태그가 붙은 로그는 한꺼번에 삭제되게 되는데, 원본 로그 파일이 정렬되어 있는 탭 외에 하나 이상의 다른 필터가 있는 경우에만 메뉴를 활성화시키고 삭제가능케 하는데, 도면에서는 이미 Multi Tag Filter가 생성되어 있고, 그 탭 내에서 MediaScanner가 붙은 로그를 선택하여『Remove Tag』를 눌렀을 때, MediaScanner가 붙은 로그들은 모두 Multi Tag Filter 탭 내에서 삭제된다.If you want to delete the tagged log at a time, as shown in Figure 13e, select one log and press the shortcut key such as the right mouse button to select "Remove Tag", the log tagged with any tag is deleted at once The menu can be activated and deleted only if there are one or more other filters besides the tab in which the original log file is sorted. In the drawing, the Multi Tag Filter has already been created, and within the tab, select the log with the MediaScanner When you click 『Remove Tag』, all logs attached to MediaScanner are deleted in the Multi Tag Filter tab.

본 출원에 개시된 로그독 및 로그퍼피 플러그인은 본 출원에 따른 이클립스 플랫폼 기반 플러그인 모듈에 필수적인 요소이며, 이하의 레이아웃 최적화 플러그인과 클래스 배열 플러그인은 이클립스 플러그인 모듈에 선택적으로 탑재될 수 있고, 그 경우의 수는 이하 표 1과 같다.The logdog and logpuppy plug-in disclosed in this application are essential elements of the Eclipse platform-based plug-in module according to the present application, and the following layout optimization plug-in and class array plug-in may be selectively mounted in the Eclipse plug-in module, and the number of cases Is shown in Table 1 below.

이클립스 플러그인 모듈의 구성 요소Eclipse plug-in module components CASE1CASE1 로그독+로그퍼피+레이아웃 최적화 플러그인Logdog + Logpy + Layout Optimization Plug-in CASE2CASE2 로그독+로그퍼피+클래스 배열 플러그인Log Dog + Log Puppy + Class Array Plugin CASE3CASE3 로그독+로그퍼피+레이아웃 최적화 플러그인+클래스배열 플러그인Log Dog + Log Puppy + Layout Optimization Plug-in + Class Array Plug-in

도 14는 본 출원에 개시된 기술의 이클립스 플랫폼 기반 플러그인 모듈 중 레이아웃 최적화 플러그인을 설명하는 블록도이다. 도 14를 참조하면, 본 출원에 따른 레이아웃 최적화 플러그인(60)은 레이아웃 최적화 활성부(61), 레이아웃 표시부(62)를 포함한다.14 is a block diagram illustrating a layout optimization plug-in among Eclipse platform-based plug-in modules of the technology disclosed in the present application. Referring to FIG. 14, the layout optimization plug-in 60 according to the present application includes a layout optimization activation unit 61 and a layout display unit 62.

여기서, 레이아웃 최적화 플러그인(60)의 구성요소가 도면상 디스플레이부(30) 내부에 있는 것과 같이 도시되었으나, 이는 프로그램의 특성상 개발자에게 디스플레이됨과 동시에 마우스 등의 입력 장치로 명령이 입력될 수 있어 도면과 같이 도시된 것이고, 디스플레이부(30)인 모니터 등에 레이아웃 최적화 플러그인(60)의 구성요소가 설치되는 것은 아니며, 이는 레이아웃 최적화 플러그인(60) 내에 내장된 구성 요소들이다.Here, although the components of the layout optimization plug-in 60 are shown as being inside the display unit 30 in the drawing, this is displayed to the developer due to the characteristics of the program and at the same time a command may be input to an input device such as a mouse. As shown in the drawing, the components of the layout optimization plug-in 60 are not installed in the monitor, which is the display unit 30, and the like are the components embedded in the layout optimization plug-in 60.

레이아웃 최적화 활성부(61)는 레이아웃 최적화를 실행하기 위한 아이콘 형태의 입력 및 화면에 디스플레이되는 출력 구성요소이고, 레이아웃 최적화 활성부(61)의 아이콘을 개발자가 클릭하면, 워크 스페이스 상에 존재하는 프로젝트 목록이 보이게 되며, 워크 스페이스 상의 프로젝트 목록 중 하나를 클릭하게 되면 레이아웃 진단을 시작한다.The layout optimization activator 61 is an input component in the form of an icon for executing layout optimization and an output component displayed on the screen. When the developer clicks on the icon of the layout optimization activator 61, the project exists on the workspace. The list will be visible, and clicking on one of the project lists on the workspace will start the layout diagnosis.

즉, 어플 제작 프로그램 목록을 선택하게 되면, 레이아웃 표시부(62)에서 레이아웃 진단이 시작되고, 도스 기반이 아닌 개발자에게 직관적인 사용자 인터페이스를 제공하기 때문에 레이아웃의 진단 결과값을 해석하기도 용이하도록 레이아웃 표시부(62)에 표시할 수도 있고, 또는 팝업 창을 띄워 진단된 결과를 설명과 함께 개발자에게 디스플레이할 수도 있으며, 이는 다양하게 변경가능함은 자명하다.In other words, when the list of application creation programs is selected, layout diagnosis is started on the layout display unit 62, and since the intuitive user interface is provided to the developer who is not DOS-based, the layout display unit (for easy interpretation of the diagnosis result value of the layout) 62) or pop-up window can be displayed to the developer with the explanation, it is obvious that it can be variously changed.

따라서, 레이아웃 최적화 플러그인(60)의 진단이 완료되면, 결과가 자동으로 화면에 나오게 되며, 테이블 형식으로 정렬 기능을 지원하며 문제점이 되는 레이아웃 리소스 명칭, 위치, 문제점, 라인 번호가 레이아웃 표시부(62)에 표시되는데, 문제가 있는 레이아웃에 대한 정보가 표시된 영역을 더블 클릭하게 되면 해당 파일이 열리면서 해당 문제점이 있는 라인으로 자동 이동할 수 있도록 이루어진다.
Accordingly, when the diagnosis of the layout optimization plug-in 60 is completed, the result is automatically displayed on the screen, and the layout display unit 62 displays the layout resource name, location, problem, and line number in question, which support the sorting function in a table format. If you double-click the area where the information about the layout in question is displayed, the file is opened and you can automatically move to the problem line.

도 15는 도 14의 레이아웃 최적화 플러그인이 실행된 프로그램 화면이다. 도 15에 도시된 바와 같이, ①의『O』아이콘은 레이아웃 최적화 활성부(61)를 도시한 것이고, 이 아이콘을 누르게 되면 워크 스페이스에 존재하는 안드로이드 프로젝트 목록이 보이게 되며, 그 중 하나를 선택하게 되면 레이아웃 진단이 시작된다.FIG. 15 is a program screen on which the layout optimization plug-in of FIG. 14 is executed. As shown in FIG. 15, the "O" icon of ① shows the layout optimization activator 61. When this icon is pressed, a list of Android projects existing in the workspace is shown, and one of them is selected. Layout diagnostics begin.

그리고 나서, 진단이 완료되면 ②의 『Layout』이라는 레이아웃 표시부(62)가 활성화되면서 테이블 형식으로 정렬되며, ③의 정보가 표시된 영역을 더블클릭하면 해당 파일이 열리면서 해당 문제점이 있는 라인으로 자동 이동하게 되고, 테이블 형식으로 정렬된 것의 예시는 이하 표 1과 같으며, 다른 방법의 설명이 더 부가될 수도 있고, 다른 형식으로 기재될 수도 있음은 자명하다.Then, when the diagnosis is completed, the layout display unit 62 called "Layout" of ② is activated and arranged in a table format. When the user double-clicks an area where the information of ③ is displayed, the corresponding file is opened to automatically move to the line having the problem. And, examples of sorting in a table form are shown in Table 1 below, and it is obvious that descriptions of other methods may be added, or may be described in other forms.

샘플 결과Sample results 설명Explanation - 11:17 This LinearLayout layout or its FrameLayout parent is useless -11:17 This LinearLayout layout or its FrameLayout parent is useless 일부 레이아웃이 필요없는 경우If you don't need some layout - -1:-1 This layout has too many nested layouts: 13 levels, it should have <= 10! --1: -1 This layout has too many nested layouts: 13 levels, it should have <= 10! 계층 구조가 너무 깊게 구성된 경우The hierarchy is too deep - -1:-1 This layout has too many views: 81 views, it should have <= 80! --1: -1 This layout has too many views: 81 views, it should have <= 80! 하나의 레이아웃에 너무 많은 개체들이 존재하는 경우Too many objects in a layout - 7:23 The root-level <FrameLayout/> can be replaced with <merge/> -7:23 The root-level <FrameLayout /> can be replaced with <merge /> 성능상 더 나은 방법이 존재하는 경우If a better way exists for performance

도 16은 본 출원에 개시된 기술의 이클립스 플랫폼 기반 플러그인 모듈 중 클래스 배열 플러그인을 설명하는 블록도이다. 도 16을 참조하면, 본 출원에 따른 클래스 배열 플러그인(70)은 배열 활성부(71), 더미 생성부(72), 배열 소스부(73), 클래스 배열 표시부(74)를 포함한다.16 is a block diagram illustrating a class array plug-in among Eclipse platform-based plug-in modules of the technology disclosed in the present application. Referring to FIG. 16, the class array plug-in 70 according to the present application includes an array active unit 71, a dummy generator 72, an array source unit 73, and a class array display unit 74.

여기서, 클래스 배열 플러그인(70)의 구성요소가 도면상 디스플레이부(30) 내부에 있는 것과 같이 도시되었으나, 이는 프로그램의 특성상 개발자에게 디스플레이됨과 동시에 마우스 등의 입력 장치로 명령이 입력될 수 있어 도면과 같이 도시된 것이고, 디스플레이부(30)인 모니터 등에 클래스 배열 플러그인(70)의 구성요소가 설치되는 것은 아니며, 이는 클래스 배열 플러그인(70) 내에 내장된 구성 요소들이다.Here, although the components of the class array plug-in 70 are shown as being inside the display unit 30 in the drawing, this is displayed to the developer due to the characteristics of the program and at the same time a command may be input to an input device such as a mouse. As shown in the drawing, the components of the class array plug-in 70 are not installed in the monitor, which is the display unit 30, and the like are the components embedded in the class array plug-in 70.

배열 활성부(71)는 개발자가 원하는 클래스 간 논리적 흐름을 분석하여 개발자에게 한눈에 알아볼 수 있도록 그림 형식으로 도시할 수 있는 배열 활성을 실행하기 위한 아이콘 형태의 입력 및 화면에 디스플레이되는 출력 구성요소이고, 배열 활성부(71)의 아이콘을 개발자가 클릭하면, 더미 생성부(72), 배열 소스부(73)의 창이 열리게 된다.The array activator 71 is an input component and an output component displayed on a screen for executing an array activity that can be illustrated in a graphic form so that the developer can analyze the logical flow between classes desired by the developer at a glance. When the developer clicks on the icon of the array activator 71, the windows of the dummy generator 72 and the array source unit 73 are opened.

더미 생성부(72)는 안드로이드 프로젝트의 복사본(Dummy)을 생성하고, 클래스 간 흐름을 분석하기 위한 로직을 추가하게 되며, 도면에 도시되지는 않았지만 로그를 수집하고, 시작, 중지, 삭제할 수 있는 아이콘과 같은 인터페이스가 더 구비되며, 이 아이콘을 누르게 되면 클래스 간 흐름을 파악할 수 있는 흐름도를 그리기 위한 작업을 하게 된다.The dummy generator 72 creates a dummy of the Android project, adds logic for analyzing the flow between classes, and an icon for collecting, starting, stopping, and deleting logs although not shown in the drawing. The interface is further provided, and when this icon is pressed, a task of drawing a flow chart to grasp the flow between classes is performed.

배열 소스부(73)는 수집된 로그들이 표시되는 영역으로, 클래스 배열 흐름도의 소스가 되며, 클래스 배열 표시부(74)는 배열 소스부(73)에 올라온 로그가 도식화되어 표현되는 영역이며, 표현된 메소드를 클릭하면 이클립스 내에서 해당 메소드가 열리며 표시되며, 그려진 객체는 마우스 드래그 등을 통해 이동이 가능하다.The array source unit 73 is an area in which the collected logs are displayed, and becomes a source of the class array flow chart. The class array display unit 74 is an area in which the logs uploaded to the array source unit 73 are diagrammatically expressed. Clicking a method opens and displays the method in Eclipse, and the drawn object can be moved by dragging the mouse.

다시 말하면, 기존의 디버그 모니터링 시스템은 자신의 개발 소스와 모니터링 시스템 자체의 내부 소스까지 추적(Trace)하기 때문에 자신의 개발 소스만의 흐름을 보기에는 어렵지만, 본 출원에 개시된 기술은 복사본에 자신의 개발 소스만 추적할 수 있도록 추적(Trace) 코드를 붙여 클래스 간 논리 흐름을 자신이 원하는 부분만 요약하여 한눈에 알아볼 수 있기 때문에, 개발자들에게 획기적으로 변화된 사용자 인터페이스를 제공할 수 있게 되는 것이다.
In other words, since the existing debug monitoring system traces its own development source and the internal source of the monitoring system itself, it is difficult to see the flow of its own development source, but the technique disclosed in the present application is a copy of its own development. By adding trace code so that only the source can be traced, the logic flows between classes can be summarized at a glance, giving users a breakthrough user interface.

도 17은 도 16의 클래스 배열 플러그인이 실행된 프로그램 화면이다. 도 17a에 도시된 바와 같이, ①의『K』아이콘은 배열 활성부(71)를 도시한 것이고, 이 아이콘을 누르게 되면 도 17b와 같은 화면이 도시되게 되는데, 도 17b를 참조하면, ①의『Target』에는 이클립스의 워크 스페이스 상에 존재하는 안드로이드 프로젝트 리스트가 보이게 된다.17 is a program screen on which the class array plug-in of FIG. 16 is executed. As shown in Fig. 17A, the "K" icon of ① shows the array active unit 71. When the icon is pressed, the screen shown in Fig. 17B is shown. Referring to Fig. 17B, Target will show you a list of Android projects in Eclipse's workspace.

②의 『Make Project』아이콘은 더미 생성부(72)이며, 이를 누르게 되면 워크 스페이스 상에 원본 프로젝트에 더미 프로젝트, 즉 원본 프로젝트에 대한 복사본이 생성되게 되는 것이고, 더미 프로젝트는 원본 프로젝트를 그대로 복사한 후에 추적을 위한 코드가 추가된 프로젝트로, 실행시 추적을 위한 로그를 남기도록 되어 있으며, 더미를 만들어 추적 코드를 삽입하는 이유는 원본 프로젝트의 수정을 막기 위함이다.② 'Make Project' icon is a dummy generating unit 72, and if pressed, a dummy project, that is, a copy of the original project is created in the original project on the workspace, and the dummy project is a copy of the original project as it is. It is a project with tracking code added later. It is to leave a log for tracking at run time. The reason for inserting tracking code by making a dummy is to prevent modification of the original project.

③의 『Start』,『Stop』,『Clear Logs』,『Draw Diagram』아이콘 중 『Start』를 누르면 추적을 위한 현재 실행되고 있는 프로세스의 로그가 올라오게 되고, 『Stop』을 누르면 로그 생성이 멈춰지며, 시작과 종료 사이에 로그가 쌓이는 것은 ④인 배열 소스부(73)에 보여지고, 『Draw Diagram』을 누르면 쌓인 로그를 기반으로 ⑤의 클래스 배열 표시부(74)에에 그림으로 클래스 간 흐름도를 도시하게 된다.
If you press 『Start』 among 『Start』, 『Stop』, 『Clear Logs』, 『Draw Diagram』 icons of ③, the log of the currently running process for tracking is uploaded. If you press 『Stop』, the log generation is stopped. Logging between start and end is shown in the array source unit 73 which is ④, and when 『Draw Diagram』 is pressed, the flow chart between classes is shown on the class array display unit 74 of ⑤ based on the stacked logs. Done.

도 18은 도 16의 클래스 배열 플러그인이 실행된 프로그램 화면이다. 도 18a에 도시된 바와 같이, K 아이콘을 눌러 워크 스페이스 상의 ApiDemos 라는 안드로이드 프로젝트 리스트가 보이고, 이를 클릭하여 타겟으로 설정하며, 도 18b와 같이 Make Project라는 버튼을 눌러 복사본을 생성하면, 워크 스페이스 상에 ApiDemos_Sequencer라는 더미 프로젝트가 생성된다.FIG. 18 is a program screen on which the class array plug-in of FIG. 16 is executed. As shown in FIG. 18A, a list of Android projects called ApiDemos is displayed by pressing the K icon, and clicking on it sets as a target, and when a button called Make Project is created as shown in FIG. 18B, a copy is created on the workspace. A dummy project named ApiDemos_Sequencer is created.

도 18c와 같이, Start 버튼을 클릭하면 추적을 위한 현재 실행되고 있는 프로세스의 로그가 올라오고, Stop 버튼을 클릭하면 로그 생성이 멈춰지며, Draw Diagram의 버튼을 클릭하면 각 클래스 간 연결이 그림으로 도시된다.
As shown in FIG. 18C, when the Start button is clicked, the log of the currently running process for tracking is uploaded, and when the Stop button is clicked, the log generation is stopped, and when the button in the Draw Diagram is clicked, the connection between classes is shown in the figure. do.

본 출원에 개시된 로그독, 로그퍼피, 레이아웃 최적화, 클래스 배열 플러그인 중 적어도 하나를 포함한 이클립스 플랫폼 기반 플러그인 모듈은 기존의 인터페이스와 동일하게 생성하여 개발자에게 거부감이 없으며, 멀티 태그 기능을 추가하여 쉽게 디버깅이 가능하고, 마우스 오른쪽 버튼을 이용하여 태그 기반으로 쉽게 필터를 생성 및 수정이 가능하고, 정렬되는 최대 로그의 수를 단계적으로 또는 선형적으로 증가 및 감소시킬 수 있으며, 검증 대상을 선택하여 수행할 수 있어 재검증 작업이 용이하고, 검토 결과를 표로 나타내어 알아보기 용이하며, 더블 클릭으로 해당 소스로 이동하여 수정 작업이 간편하고, 런타임 환경에서 동작하여 실제 프로세스 로그를 보여주고, 시작 및 종료 버튼을 통해 확인하고 싶은 부분만 그림으로 표현할 수 있으며, 확인하고 싶은 배열을 클릭하면 해당 소스로 바로 이동할 수 있어 사용자에게 직관적인 인터페이스를 제공할 수 있다.
The Eclipse platform-based plug-in module including at least one of the log dog, log puppy, layout optimization, and class array plug-in disclosed in the present application is created in the same way as the existing interface, and there is no objection to the developer. You can easily create and modify filters on a tag basis using the right mouse button, and incrementally and linearly increase or decrease the maximum number of logs to be sorted. It is easy to re-verify, easy to see by reviewing the results in a table, easy to modify by double-clicking to the corresponding source, and shows the actual process log by operating in the runtime environment. Only the parts you want to check can be expressed in pictures. When you click the array you want to cut and can go directly to that source can provide an intuitive interface for the user.

상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 출원의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit and scope of the present invention as set forth in the following claims It can be understood that

1: 이클립스 플랫폼 기반 플러그인 모듈
10: 데이터베이스 20: 제어부
30: 디스플레이부 40: 로그독 플러그인
41: 로그독 활성부 42: 파일 로딩부
43: 로그독 표시부 43a: 로그 표시부
43b: 태그메뉴 표시부 43(1): 제1 필터 표시부
43(n): 제n 필터 표시부 50: 로그퍼피 플러그인
51: 로그퍼피 활성부 52: 디바이스 선택부
53: 로그단계 설정부 54: 로그퍼피 표시부
54a: 로그 표시부 54b: 태그 메뉴 표시부
54(1): 제1 필터 표시부 54(n): 제n 필터 표시부
60: 레이아웃 최적화 플러그인 61: 레이아웃 최적화 활성부
62: 레아이웃 표시부 70: 클래스 배열 플러그인
71: 배열 활성부 72: 더미 생성부
73: 배열 소스부 74: 클래스 배열 표시부
1: Eclipse platform based plug-in module
10: Database 20:
30: display unit 40: log dog plug-in
41: Log reading active unit 42: File loading unit
43: log display unit 43a: log display unit
43b: Tag menu display unit 43 (1): First filter display unit
43 (n): Control filter display section 50: Logpuppy plug-in
51: Log Puppy Activation unit 52: Device selection unit
53: Log step setting unit 54: Log Puppy display unit
54a: log display portion 54b: tag menu display portion
54 (1): First Filter Display 54 (n): nth Filter Display
60: Layout Optimization plug-in 61: Layout Optimization Active Part
62: layout display 70: class array plug-in
71: array active unit 72: dummy generation unit
73: array source portion 74: class array display portion

Claims (21)

컴퓨터 프로그램으로서 실행하는 이클립스 플랫폼 기반 플러그인 장치에 있어서,
안드로이드 기반 어플리케이션에 대한 로그 파일을 읽어서 태그 이름에 따른 로그 분석 결과를 디스플레이하는 로그독 플러그인;
안드로이드 기반 디바이스에 대한 로그 파일을 읽어서 태그 이름에 따른 로그 분석 결과를 디스플레이하는 로그퍼피 플러그인;
상기 어플리케이션에 대한 레이아웃의 진단 결과를 디스플레이하는 레이아웃 최적화 플러그인; 및
상기 어플리케이션에 대한 실행 시퀀스의 분석 결과를 디스플레이하는 클래스 배열 플러그인을 포함하는 이클립스 플랫폼 기반 플러그인 장치.
In the Eclipse platform-based plug-in device that runs as a computer program,
A log docking plug-in that reads a log file for an Android-based application and displays a log analysis result according to a tag name;
A log-puppy plug-in that reads log files for Android-based devices and displays log analysis results according to tag names;
A layout optimization plug-in for displaying a diagnosis result of a layout for the application; And
Eclipse platform-based plug-in device including a class array plug-in for displaying the analysis result of the execution sequence for the application.
제1항에 있어서, 상기 로그독 플러그인은
안드로이드 기반 어플리케이션 프로그램 및 로그 파일을 저장하는 데이터베이스;
각 구성 요소를 제어하는 제어부;
상기 제어부의 명령에 따라 프로그램을 도시하는 디스플레이부;
상기 로그를 분석하기 위한 아이콘인 로그독 활성부;
상기 로그를 분석하기 위한 로그 파일을 불러오는 파일 로딩부;
상기 파일 로딩부를 통해 출력된 상기 로그의 원본을 제1 탭에 생성하여 상기 제1 탭 내에 출력시키는 로그 표시부;
상기 로그 표시부 내에서, 사용자 인터페이스에 상기 사용자의 입력이 있으면 태그 메뉴를 디스플레이시키는 태그 메뉴 표시부; 및
상기 태그 메뉴 표시부에서 태그 이름 및 필터가 설정되면, 제2 탭을 생성하여 상기 제2 탭 내에 재정렬시키는 필터 표시부;
를 포함하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 1, wherein the log read plug-in
A database that stores an Android-based application program and log files;
A control unit for controlling each component;
A display unit for showing a program according to a command of the controller;
A log reading activator which is an icon for analyzing the log;
A file loading unit which loads a log file for analyzing the log;
A log display unit generating an original of the log output through the file loading unit in a first tab and outputting the log in the first tab;
A tag menu display unit configured to display a tag menu in the log display unit when the user input is input to the user interface; And
A filter display unit which generates a second tab and rearranges the tag within the second tab when a tag name and a filter are set in the tag menu display unit;
Eclipse platform-based plug-in device comprising a.
제2항에 있어서, 상기 태그 메뉴 표시부는
『NEW』,『Move Tag』및『Remove Tag』로 구성되는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 2, wherein the tag menu display unit
Eclipse platform-based plug-in device, consisting of "NEW", "Move Tag" and "Remove Tag".
제3항에 있어서, 상기『NEW』는
상기 로그 표시부에서 상기 사용자 인터페이스가 입력된 적어도 하나 이상의 위치의 해당 태그를 검색조건으로 하는 새로운 필터를 생성하되, 상기 새로운 필터 내에 정렬되는 로그들을 상기 제2 탭 내에 정렬시키는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 3, wherein the "NEW"
The log display unit generates a new filter having a search condition for a corresponding tag of at least one or more positions in which the user interface is input, and arranges logs arranged in the new filter in the second tab. Plug-in device.
제3항에 있어서, 상기『Move Tag』는
상기 필터 표시부가 적어도 하나 이상 형성된 경우에만 활성화되며, 상기 로그 표시부에서 상기 사용자 인터페이스가 입력된 적어도 하나 이상의 위치의 해당 태그가 포함된 로그를 상기 필터 표시부의 상기 제2 탭 내에 정렬시키는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 3, wherein the "Move Tag"
It is activated only when at least one filter display unit is formed, and the log including a corresponding tag of at least one position where the user interface is input from the log display unit is arranged in the second tab of the filter display unit. Eclipse platform based plug-in device.
제3항에 있어서, 『Remove Tag』는
상기 필터 표시부가 적어도 하나 이상 형성된 경우, 상기 필터 표시부 내에서만 활성화되며, 상기 필터 표시부 내에서 상기 사용자 인터페이스가 입력된 적어도 하나 이상의 위치의 해당 태그가 포함된 로그를 상기 필터 표시부 내에서 삭제하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 3, wherein the "Remove Tag"
When at least one filter display unit is formed, the filter is activated only in the filter display unit, and the log including the corresponding tag of at least one or more positions where the user interface is input in the filter display unit is deleted in the filter display unit. Eclipse platform-based plug-in device.
제2항에 있어서, 상기 파일 로딩부는
드래그 앤 드롭(Drag and Drop)에 의해 작동되는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 2, wherein the file loading unit
Eclipse platform based plug-in device, characterized by being operated by drag and drop.
제1항에 있어서, 상기 로그퍼피 플러그인은
안드로이드 기반 어플리케이션 프로그램 및 로그 파일을 저장하는 데이터베이스;
각 구성 요소를 제어하는 제어부;
상기 제어부의 명령에 따라 프로그램을 도시하는 디스플레이부;
연결된 디바이스의 로그를 분석하기 위한 아이콘인 로그퍼피 활성부;
상기 연결된 디바이스 중 분석할 디바이스를 선택하기 위한 디바이스 선택부;
상기 디바이스의 로그가 정렬되는 수를 단계적 또는 선형적으로 조절가능한 로그 단계 설정부;
상기 디바이스 선택부 및 로그 단계 설정부를 통해 출력된 상기 로그의 원본을 제1 탭을 생성하여 상기 제1 탭 내에 출력시키는 로그 표시부;
상기 로그 표시부 내에서, 사용자 인터페이스에 사용자의 입력이 있으면 태그 메뉴를 디스플레이시키는 태그 메뉴 표시부;
상기 태그 메뉴 표시부에서 태그 이름 및 필터가 설정되면, 제2 탭을 생성하여 상기 제2 탭 내에 재정렬시키는 필터 표시부;
를 포함하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 1, wherein the log Puppy plug-in
A database that stores an Android-based application program and log files;
A control unit for controlling each component;
A display unit for showing a program according to a command of the controller;
A logpuppy active unit which is an icon for analyzing a log of a connected device;
A device selector for selecting a device to be analyzed among the connected devices;
A log level setting unit which can adjust the number of logs of the device stepwise or linearly;
A log display unit which generates a first tab and outputs the original of the log output through the device selection unit and a log step setting unit in the first tab;
A tag menu display unit configured to display a tag menu when a user input is input to the user interface in the log display unit;
A filter display unit which generates a second tab and rearranges the tag within the second tab when a tag name and a filter are set in the tag menu display unit;
Eclipse platform-based plug-in device comprising a.
제8항에 있어서, 상기 로그 단계 설정부는
상기 로그가 정렬되는 수를 일정 단위로 증감할 수 있도록 구비된 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 8, wherein the log step setting unit
Eclipse platform-based plug-in device, characterized in that provided to increase or decrease the number by which the log is sorted.
제8항에 있어서, 상기 태그 메뉴 표시부는
『NEW』,『Move Tag』및『Remove Tag』로 구성되는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 8, wherein the tag menu display unit
Eclipse platform-based plug-in device, consisting of "NEW", "Move Tag" and "Remove Tag".
제10항에 있어서, 상기『NEW』는
상기 로그 표시부에서 상기 사용자 인터페이스가 입력된 적어도 하나 이상의 위치의 해당 태그를 검색조건으로 하는 새로운 필터를 생성하되, 상기 새로운 필터 내에 정렬되는 로그들을 상기 제2 탭 내에 정렬시키는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 10, wherein the "NEW"
The log display unit generates a new filter having a search condition for a corresponding tag of at least one or more positions in which the user interface is input, and arranges logs arranged in the new filter in the second tab. Plug-in device.
제10항에 있어서, 상기『Move Tag』는
상기 필터 표시부가 적어도 하나 이상 형성된 경우에만 활성화되며, 상기 로그 표시부에서 상기 사용자 인터페이스가 입력된 적어도 하나 이상의 위치의 해당 태그가 포함된 로그를 상기 필터 표시부의 상기 제2 탭 내에 정렬시키는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 10, wherein the "Move Tag"
It is activated only when at least one filter display unit is formed, and the log including a corresponding tag of at least one position where the user interface is input from the log display unit is arranged in the second tab of the filter display unit. Eclipse platform based plug-in device.
제10항에 있어서, 『Remove Tag』는
상기 필터 표시부가 적어도 하나 이상 형성된 경우, 상기 필터 표시부 내에서만 활성화되며, 상기 필터 표시부 내에서 상기 사용자 인터페이스가 입력된 적어도 하나 이상의 위치의 해당 태그가 포함된 로그를 상기 필터 표시부 내에서 삭제하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 10, wherein "Remove Tag"
When at least one filter display unit is formed, the filter is activated only in the filter display unit, and the log including the corresponding tag of at least one or more positions where the user interface is input in the filter display unit is deleted in the filter display unit. Eclipse platform-based plug-in device.
제1항에 있어서, 상기 레이아웃 최적화 플러그인은
안드로이드 기반 어플리케이션 프로그램 및 로그 파일을 저장하는 데이터베이스;
각 구성 요소를 제어하는 제어부;
상기 제어부의 명령에 따라 프로그램을 도시하는 디스플레이부;
상기 어플리케이션 프로그램 내의 프로젝트의 레이아웃이 최적화되도록 진단하는 레이아웃 최적화 활성부;
상기 레이아웃 최적화 활성부에서 진단된 결과를 표시하는 레이아웃 표시부;
를 포함하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 1, wherein the layout optimization plug-in
A database that stores an Android-based application program and log files;
A control unit for controlling each component;
A display unit for showing a program according to a command of the controller;
A layout optimization activator for diagnosing the layout of the project in the application program to be optimized;
A layout display unit displaying a result diagnosed by the layout optimization activator;
Eclipse platform-based plug-in device comprising a.
제14항에 있어서, 상기 레이아웃 최적화 활성부는
워크 스페이스 상에 존재하는 상기 프로젝트 목록 중 하나의 프로젝트에 대한 레이아웃 진단을 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 14, wherein the layout optimization active unit
An Eclipse platform based plug-in device for performing layout diagnosis on one of the project lists present in the workspace.
제14항에 있어서, 상기 레이아웃 표시부는
팝업 창 또는 테이블 형식으로 상기 결과를 정렬하여 디스플레이하며, 상기 결과는 레이아웃 리소스 명칭, 위치, 문제점 및 라인 번호를 포함하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
15. The display device of claim 14, wherein the layout display unit
And sort the results in a pop-up window or a table format, and the results include layout resource names, locations, problems, and line numbers.
제16항에 있어서, 상기 레이아웃 표시부는
상기 레이아웃 표시부 내에서 사용자 인터페이스에 사용자의 입력이 있으면, 상기 사용자 입력이 입력된 위치에 해당하는 상기 리소스를 열어 디스플레이하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 16, wherein the layout display unit
If there is a user input in the user interface in the layout display unit, Eclipse platform-based plug-in device, characterized in that for opening and displaying the resource corresponding to the input position.
제1항에 있어서, 상기 클래스 배열 플러그인은
안드로이드 기반 어플리케이션 프로그램 및 로그를 저장하는 데이터베이스;
각 구성 요소를 제어하는 제어부;
상기 제어부의 명령에 따라 프로그램을 도시하는 디스플레이부;
상기 어플리케이션 프로그램 내의 프로젝트의 클래스 간 흐름이 도시되도록 활성화시키는 배열 활성부;
상기 프로젝트의 복사본을 생성하는 더미 생성부;
상기 어플리케이션 프로그램이 런타임 중에 발생하는 로그를 디스플레이하는 배열 소스부;
상기 더미 생성부 및 배열 소스부의 어플리케이션 프로그램 및 로그를 이용하여 클래스 간 논리적 흐름을 도식화하여 디스플레이하는 클래스 배열 표시부;
를 포함하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
The method of claim 1, wherein the class array plug-in
A database that stores an Android-based application program and logs;
A control unit for controlling each component;
A display unit for showing a program according to a command of the controller;
An array activator for activating a flow between classes of a project in the application program;
A dummy generator for generating a copy of the project;
An array source unit for displaying a log generated by the application program during runtime;
A class array display unit configured to display and display a logical flow between classes using an application program and a log of the dummy generator and the array source unit;
Eclipse platform-based plug-in device comprising a.
제18항에 있어서, 상기 클래스 배열 플러그인은
상기 런타임 중 발생하는 로그 수집을 시작, 중지, 삭제할 수 있는 인터페이스;
를 더 포함하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
19. The method of claim 18, wherein the class array plug-in
An interface for starting, stopping, and deleting log collection occurring during the runtime;
Eclipse platform-based plug-in device further comprising a.
제18항에 있어서, 상기 클래스 배열 표시부는
상기 클래스 배열 표시부 내에서 사용자 인터페이스에 사용자의 입력이 있으면, 상기 사용자 입력이 입력된 위치에 해당하는 메소드를 열어 디스플레이하는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
19. The apparatus of claim 18, wherein the class array display unit
If there is a user input in the user interface in the class array display unit, Eclipse platform-based plug-in device, characterized in that for opening and displaying a method corresponding to the input position.
제18항에 있어서, 상기 클래스 배열 표시부는
상기 클래스 배열 표시부 내에서 사용자 인터페이스에 사용자의 입력이 있으면, 상기 사용자 입력이 입력된 위치에 도식화된 논리적 흐름이 이동되는 것을 특징으로 하는 이클립스 플랫폼 기반 플러그인 장치.
19. The apparatus of claim 18, wherein the class array display unit
If there is a user input in the user interface in the class array display unit, the graphical platform-based plug-in device is moved to the position where the user input is input.
KR1020110096538A 2011-09-23 2011-09-23 Plug­in module based on eclipse platform KR101368044B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110096538A KR101368044B1 (en) 2011-09-23 2011-09-23 Plug­in module based on eclipse platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110096538A KR101368044B1 (en) 2011-09-23 2011-09-23 Plug­in module based on eclipse platform

Publications (2)

Publication Number Publication Date
KR20130032756A KR20130032756A (en) 2013-04-02
KR101368044B1 true KR101368044B1 (en) 2014-02-27

Family

ID=48435467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110096538A KR101368044B1 (en) 2011-09-23 2011-09-23 Plug­in module based on eclipse platform

Country Status (1)

Country Link
KR (1) KR101368044B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700827A (en) * 2016-01-07 2016-06-22 福建天晴数码有限公司 Android APP migration method and system
CN109117231A (en) * 2018-08-16 2019-01-01 福建天泉教育科技有限公司 The quick interface arrangement method of Android application, storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988852A (en) * 2015-12-25 2016-10-05 武汉安天信息技术有限责任公司 Android program plugin realization method and system
CN107688536A (en) * 2017-08-23 2018-02-13 上海与德科技有限公司 A kind of method and device for obtaining terminal system daily record

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276770A1 (en) 2008-04-30 2009-11-05 International Business Machines Corporation Systems, methods and computer program products for automating packaging and provisioning of j2ee web modules to eclipse-based rich clients

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276770A1 (en) 2008-04-30 2009-11-05 International Business Machines Corporation Systems, methods and computer program products for automating packaging and provisioning of j2ee web modules to eclipse-based rich clients

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700827A (en) * 2016-01-07 2016-06-22 福建天晴数码有限公司 Android APP migration method and system
CN109117231A (en) * 2018-08-16 2019-01-01 福建天泉教育科技有限公司 The quick interface arrangement method of Android application, storage medium

Also Published As

Publication number Publication date
KR20130032756A (en) 2013-04-02

Similar Documents

Publication Publication Date Title
CN102087597B (en) J2EE and component set-based visualized development platform
US20240045850A1 (en) Systems and methods for database orientation transformation
CN108351764B (en) Data processing method and system
US8726226B2 (en) Integrated work lists for engineering project change management
US8239831B2 (en) Visual interface for automated software testing
US20050183059A1 (en) Hosted application as a designer in an integrated development environment
US20020166081A1 (en) System and method for graphically detecting differences between test executive sequence files
US20050278728A1 (en) Recording/playback tools for UI-based applications
US20100251155A1 (en) Placeholder activities and in-lining of code editors in workflow designer
CN106844181B (en) Method, system and mobile terminal for recording user behavior
US20210303271A1 (en) Providing services for assisting programming
US20180024816A1 (en) Code snippet content recommendation to define an object literal
US10489167B2 (en) Dynamically binding data in an application
KR101368044B1 (en) Plug­in module based on eclipse platform
Wielenga Beginning netbeans ide: For java developers
US8850407B2 (en) Test script generation
CN117215556A (en) Modularized page rapid construction method, system, equipment and medium
Bowen et al. UI-design driven model-based testing
CN115269101A (en) Method for realizing Excel data pivot table pickup based on RPA
CN115705250A (en) Monitoring stack usage to optimize programs
Bennett et al. Working with’monster’traces: Building a scalable, usable, sequence viewer
Desjardins Visual Studio Condensed: For Visual Studio 2013 Express, Professional, Premium and Ultimate Editions
US11526366B2 (en) Dynamically binding data in an application
Pipero Redesign and improvement of a test system configuration tool
Lerner Getting Started with Little-JIL Case Study: Measuring Stream Discharge

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170103

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 7