KR20110074156A - Method for software equity building and storage device - Google Patents

Method for software equity building and storage device Download PDF

Info

Publication number
KR20110074156A
KR20110074156A KR1020090131045A KR20090131045A KR20110074156A KR 20110074156 A KR20110074156 A KR 20110074156A KR 1020090131045 A KR1020090131045 A KR 1020090131045A KR 20090131045 A KR20090131045 A KR 20090131045A KR 20110074156 A KR20110074156 A KR 20110074156A
Authority
KR
South Korea
Prior art keywords
workflow
event
process control
control application
data
Prior art date
Application number
KR1020090131045A
Other languages
Korean (ko)
Other versions
KR101264633B1 (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 KR1020090131045A priority Critical patent/KR101264633B1/en
Publication of KR20110074156A publication Critical patent/KR20110074156A/en
Application granted granted Critical
Publication of KR101264633B1 publication Critical patent/KR101264633B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4493Object persistence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: A software asset driving method and recording medium are provided to reduce existing wasteful factors which repetitively redesigns by designing software using set asset DB when constructing a new process control application. CONSTITUTION: Feature points of process control application is received and a feature model is generated(S302). event DB showing data construct of each event is generated(S304). Workflow items related to each feature of the feature model is written. A workflow DB construct describing generated events according to each work flow is generated(S306).

Description

소프트웨어 자산구축 방법 및 기록매체{Method for software equity building and storage device}Method for software equity building and storage device

본 발명은 소프트웨어 개발 환경을 구축하는 방법 및 기록매체에 관한 것으로서 기존의 소프트웨어 애플리케이션을 분석하여 재사용 가능한 자산 DB를 구축하는 방법에 관한 것이다.The present invention relates to a method for building a software development environment and a recording medium, and to a method for constructing a reusable asset DB by analyzing an existing software application.

일반적으로 제철소의 철강 공정을 위한 시스템 가운데 공정제어 연산장치(P/C; Process Computer)는 철강 공정 시스템들 중에서 중간 계층에 위치하는 시스템이다.In general, a process computer (P / C) among the systems for steel processing in steel mills is a system located in the middle tier among steel processing systems.

공정제어 연산장치(P/C)는 PLC(Rrogrammable Logic Controller)를 통해 액츄에이터를 구동시켜 특정의 철강 공정 설비를 정밀 제어하며, 또한, 상기 철강 공정 설비에서 측정된 센서 정보와 PLC의 데이터를 수집하여 상부의 처리장치로 전송한다.The process control operation unit (P / C) drives an actuator through a PLC (Rrogrammable Logic Controller) to precisely control a specific steel process facility, and also collects sensor information and PLC data measured by the steel process facility. Transfer it to the upper processing unit.

공정제어 연산장치(P/C)는 상기의 작업들을 수행하는 소프트웨어가 애플리케이션으로 실장되어 운영되는데, 각 공장별 설비의 변화 및 소프트웨어 개발자의 역량, 운용 환경 및 외부 여건 등의 차이로 인해 유사한 공정임에도 불구하고 다양한 형태의 응용 소프트웨어 형태의 애플리케이션이 개발되어 사용되고 있다.The process control operation unit (P / C) is operated by application of the software that performs the above tasks, although the process is similar due to the change of facilities of each plant and the difference of software developer's capability, operating environment and external conditions. Nevertheless, various types of application software applications have been developed and used.

그러나 이로 인해 매번 새로운 설비를 도입했을 때마다 소프트웨어를 개발하는데 시간과 비용이 많이 소요되며, 개발된 소프트웨어의 품질도 상이한 문제가 있다. 또한, 어느 정도 해당 공정에 대한 이해를 가진 운용자라도 다양한 공장의 애플리게이션에 설계되어 있는 소프트웨어를 이해하는데 한계가 있어서 개발자 이외에는 애플리케이션에 적용된 소프트웨어를 수정하거나 보완하는데 많은 어려움이 야기되고 있다.However, because of this, each time a new facility is introduced, it takes time and money to develop the software, and the quality of the developed software is also different. In addition, even if the operator with a certain understanding of the process has a limitation in understanding the software designed for the application of various factories, it is difficult to modify or supplement the software applied to the application except the developer.

이를 보완하기 위해서 기존에는 Ration ROSE나 Together같은 재사용 도구에서 제공하는 방법론에 기초하여 소프트웨어를 개발하고자 시도를 하였으나, 개발 방법론 자체가 무척 어렵고, 각 단계가 너무 많아 산출물을 작성하는데 상당한 시간과 노력이 소요되는 문제점이 있다.In order to compensate for this, in the past, an attempt was made to develop software based on a methodology provided by a reuse tool such as Ration ROSE or Together, but the development methodology itself is very difficult, and there are so many steps that it takes considerable time and effort. There is a problem.

그리하여 각 도구 개발사에서 방법론을 교육시키기 위해 컨설턴트를 파견하여 장기간 개발자를 교육시키고 재사용 효과를 보고자 했으나, 산출물 작성에 과다한 시간이 소요되는 문제가 있었다. 또한, 초기 설계안을 바탕으로 하여 소스 코드를 생성하였으나, 개발 후반기에 요구사항 변경 등으로 인한 소스코드 변경에 대해 초기 설계안이 업데이트되지 못하는 문제점이 발생해 기대만큼 효과를 보지 못하였다.Therefore, each tool developer sent a consultant to educate the methodology to educate the developers for a long time and to see the effect of reuse, but there was a problem that it took too much time to produce the output. In addition, although the source code was generated based on the initial design, there was a problem that the initial design could not be updated for the source code change due to the change of requirements in the second half of the development.

이러한 기존 방법들이 가진 가장 큰 문제점은 직전에 만든 단 하나의 공장에서 구축된 소프트웨어 하나만을 분석하여 일부 변경하는 수준에서 재사용을 하려다보니, 새로운 공장을 지어서 공정제어 연산장치를 구축할 때마다 매번 비슷한 기본 설계, 상세설계 작업을 반복해서 수행해야 하는 낭비 요소가 있었다.The biggest problem with these existing methods is that they analyze only one piece of software that was built in a single factory that was made just before, and reuse it at the level of making some changes. There was a waste of having to repeat the design and detailed design work.

본 발명의 기술적 과제는 기존의 공정제어 애플리케이션에 적용된 소프트웨어를 분석하여 새로운 공정제어 애플리케이션 설계를 위한 자산 DB를 구축하는데 있다. 또한, 본 발명의 기술적 과제는 구축된 자산 DB를 이용하여 효율적인 소프트웨어 개발 환경을 제공하는데 있다. 또한, 본 발명의 기술적 과제는 공정제어하고자 하는 공정설비의 특징점을 기술한 휘처를 기반으로 하여 다양한 자산 DB를 구축하는데 있다.The technical problem of the present invention is to analyze the software applied to the existing process control application to build an asset DB for designing a new process control application. In addition, the technical problem of the present invention is to provide an efficient software development environment using the built asset DB. In addition, the technical problem of the present invention is to build a variety of asset DB based on the feature that describes the feature points of the process equipment to be controlled.

본 발명의 실시 형태는, 공정제어 애플리케이션의 특징점들을 입력받아 휘처 모델을 생성하는 휘처 모델 생성 과정과, 기존의 사용되는 공정제어 애플리케이션에서 수행하는 이벤트를 입력받아, 각 이벤트의 데이터 구조를 나타낸 이벤트 DB를 생성하는 이벤트 DB 생성 과정과, 상기 휘처 모델의 각 특징점별로 관련되는 워크플로우 항목을 기술하고, 각 워크플로우별로 발생되는 이벤트들을 기술한 워크플로우 DB를 생성하는 워크플로우 DB 생성 과정과, 상기 워크플로우 DB 내의 워크플로우간에 발생되는 이벤트 흐름을 도시한 다이어그램 형태의 워크플로우 다이어그램을 생성하는 워크플로우 다이어그램 생성 과정과, 상기 워크플로우 다이어그램에 있는 각 워크플로우가 작업 수행해야 하는 컴포넌트들을 순서대로 기술한 워크플로우 작업 리스트를 생성하는 워크플로우 작업 리스트 생성 과정을 포함한다.In the embodiment of the present invention, a feature model generation process of receiving feature points of a process control application to generate a feature model, and an event performed in an existing process control application, an event DB showing a data structure of each event An event DB generation process for generating an event, a workflow item related to each feature point of the feature model, a workflow DB generation process for generating a workflow DB describing events generated for each workflow, and the work Workflow diagram creation process that creates a workflow diagram in the form of a diagram showing the flow of events occurring between workflows in the flow DB, and a work that sequentially describes the components that each workflow in the workflow diagram should perform. Flow task list Including gender workflow task list generation process.

본 발명의 다른 실시 형태는, 기존의 사용되는 공정제어 애플리케이션에서 수행하는 이벤트를 입력받아, 각 이벤트의 데이터 구조를 나타낸 이벤트 DB와, 공정제어 애플리케이션의 각 특징점별로 관련되는 워크플로우 항목을 기술하고, 각 워크플로우별로 발생되는 이벤트들을 기술한 워크플로우 DB와, 상기 워크플로우 DB 내의 워크플로우간에 발생되는 이벤트 흐름을 도시한 다이어그램 형태의 워크플로우 다이어그램과, 상기 워크플로우 다이어그램에 있는 각 워크플로우가 작업 수행해야 하는 컴포넌트들을 순서대로 기술한 워크플로우 작업 리스트가 기록되어 있는 기록매체이다.Another embodiment of the present invention receives an event performed in an existing process control application, describes an event DB representing a data structure of each event, and a workflow item associated with each feature point of the process control application, Workflow DB describing the events that occur in each workflow, a workflow diagram in the form of a diagram illustrating the event flow occurring between the workflows in the workflow DB, and each workflow in the workflow diagram performs a task. It is a recording medium that records a workflow task list describing the components that should be in order.

본 발명의 실시예들은 기존의 공정제어 애플리케이션들에 적용된 소프트웨어를 분석하여 효과적으로 자산 DB를 구축할 수 있다. 새로운 공정제어 애플리케이션 설계 시에 상기 구축된 자산 DB를 이용하여 소프트웨어를 설계함으로써 반복 재설계되는 기존의 낭비적 요소를 없앨 수 있다. 또한, 소프트웨어 개발자의 역량이나 이해도, 개발 환경의 차이, 재사용 방법론 차이, 설비의 차이 등에 따라 다르게 개발되는 기존의 공정제어 애플리케이션의 소프트웨어로부터 공통점 및 차이점을 추출하여 객체지향적 관점에서 모듈화하여 자산 DB로 생성할 수 있다. 또한, 워크플로우 다이어그램을 제공하기 때문에, 소프트웨어 가독성 및 재사용성이 향상되는 효과가 있다. 또한, 종래의 소프트웨어는 개발자만 이해 가능하여 다른 이들에 의한 수정/보완이 어려운 문제가 있었으나, 본 발명의 실시예에 의해 구축되는 자산 DB를 통해 가독성이 향상되어 다른 이들에 의한 신속한 유지 보수가 가능한 효과가 있다.Embodiments of the present invention can effectively build an asset DB by analyzing software applied to existing process control applications. When designing a new process control application, the software can be designed using the built-in asset DB to eliminate existing wasteful redesign. In addition, it extracts commonalities and differences from software of existing process control application developed differently according to software developer's ability, understanding, development environment, reuse methodology, facility, etc. Can be generated. In addition, by providing a workflow diagram, software readability and reusability are improved. In addition, the conventional software has a problem that it is difficult to modify / supplement by other people because only the developer can understand, but the readability is improved through the asset DB built by the embodiment of the present invention can be quickly maintained by others It works.

이하, 본 발명의 실시예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 하기에서 각 도면의 구성요소들에 참조부호를 부가함에 있어 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.DETAILED DESCRIPTION Hereinafter, detailed descriptions of embodiments of the present invention will be described with reference to the accompanying drawings. In the following description of the reference numerals to the components of the drawings it should be noted that the same reference numerals as possible even if displayed on different drawings.

이하, 도면 및 상세한 설명에서는 철강 공정 설비 상에서 동작하는 공정제어 연산장치의 예시를 들어 설명하겠으나, 철강 공정 설비 뿐만 아니라 반도체 공정 설비, 자동차 공정 설비 등과 같이 제어 공정을 갖는 설비라면 본 발명이 적용될 수 있음은 자명할 것이다.Hereinafter, the drawings and the detailed description will be described by taking an example of a process control operation apparatus operating on a steel processing equipment, but the present invention can be applied to a facility having a control process such as a semiconductor processing equipment, an automotive processing equipment, as well as a steel processing equipment. Will be self explanatory.

본 발명의 이해를 돕기 위하여 철강 공정 설비를 공정제어하는 공정제어 애플리케이션의 동작 모습에 대해서 도 1과 함께 간단히 설명하기로 한다.In order to facilitate the understanding of the present invention, the operation of the process control application for process control of the steel process equipment will be briefly described with reference to FIG. 1.

도 1은 철강 공정 설비에서의 공정제어 연산장치의 동작 예를 도시한 도면이다.1 is a diagram illustrating an operation example of a process control computing device in a steel processing facility.

공정제어 연산장치(110;P/C; Process Computer)는 제철소의 철강 공정을 위한 시스템 중에서 중간 계층에 위치한 프로세서(processor)로서 공정제어 애플리케이션(112)을 통해 공정 제어 동작을 수행한다.The process computer 110 (P / C) is a processor located in a middle layer of a system for steel processing in an ironworks, and performs a process control operation through the process control application 112.

상기 공정제어 애플리케이션(112)은 상단의 B/C(100;Bussiness Computer)로부터 작업 계획에 대한 정보를 받아서 세부 작업을 스케줄하고, 원하는 제어로직을 적용해서 하단의 PLC(120;Programmable Logic Controller)를 통해 액츄에이터를 구동시켜 실제 철강 공정 설비(130)를 정밀 제어하게 된다.The process control application 112 receives detailed information on the work plan from the B / C (Bussiness Computer) at the top, schedules detailed work, and applies the desired control logic to control the PLC 120 (Programmable Logic Controller) at the bottom. The actuator is driven to precisely control the actual steel processing equipment 130.

또한, 공정제어 애플리케이션(112)은 실제 철강 공정 설비(130)의 센서 정보와 PLC(120)의 I/O(Input/Output) 데이터를 수집하고 그 결과 중 일부를 통신을 통해 상단의 B/C(100)로 전송하게 된다.In addition, the process control application 112 collects the sensor information of the actual steel process equipment 130 and the input / output (I / O) data of the PLC 120 and communicates some of the results to the top B / C through communication. Will be sent to (100).

또한, 공정제어 애플리케이션(112)은 철강 공정 설비(130)에서 철강재가 흘러가는 정보를 실시간으로 이력 관리를 하여 트래킹 상태를 파악함으로서 PLC(120)와 B/C(100)에 전송해주어 실시간 제어 및 계획에 도움을 준다. 이때 수집되고 제어되는 데이터들은 HMI(Human Machine Interface)를 통해서 실시간으로 조업자에게 보여지게 된다.In addition, the process control application 112 performs a real-time history management of the information flowing through the steel material in the steel processing equipment 130 to determine the tracking status by transmitting to the PLC 120 and the B / C (100) real-time control and Help with planning At this time, the collected and controlled data is displayed to the operator in real time through the HMI (Human Machine Interface).

또한, 공정제어 애플리케이션(112)은 제조되는 철강 품질을 실시간으로 트래킹하여 품질에 따른 일부 제어 및 데이터 수집을 하는 역할도 수행하며, 경우에 따라서는 수집된 데이터를 물성 정보와 설비 정보와 연동해서 철강재의 제어 상태를 예측한다.In addition, the process control application 112 also tracks the steel quality to be manufactured in real time to perform some control and data collection according to the quality, and in some cases, the collected data in conjunction with the material information and facility information Predict the control state of the.

이를 위하여 상기 공정제어 애플리케이션(112)은 제어하고자 하는 철강 공정 설비(130)의 환경 조건을 바탕으로 철강 공정 설비(130)를 제어한다. 즉, 공정제어 애플리케이션(112)은 제어하고자 하는 철강 공정 설비(130)에 맞는 장치 환경, 운용 환경, 외부 환경 등의 환경 조건에 따라 소프트웨어 설계되어 제어를 수행한다.To this end, the process control application 112 controls the steel processing equipment 130 based on the environmental conditions of the steel processing equipment 130 to be controlled. That is, the process control application 112 is software designed according to the environmental conditions such as the device environment, operating environment, external environment, etc., suitable for the steel process equipment 130 to be controlled to perform the control.

예를 들어, A 철강 공정 설비를 제어하는 A 공정제어 애플리케이션은 A 철강 공정 설비에 맞는 환경 조건에 따라 소프트웨어 설계된 후 제어를 수행한다. 마찬가지로, B 철강 공정 설비를 제어하는 B 공정제어 애플리케이션은 B 철강 공정 설비에 맞는 환경 조건에 따라 소프트웨어 설계된 후 제어를 수행한다.For example, the A process control application, which controls A steel process facility, performs software design and control according to the environmental conditions for A steel process facility. Similarly, the B process control application, which controls B steel process equipment, performs software design and control according to environmental conditions for B steel process equipment.

따라서 새로운 신규 철강 공정 설비로 교체된다면, 공정제어 연산장치 내의 공정제어 애플리케이션은 새롭게 교체된 신규 철강 장비의 환경 조건에 맞도록 소프트웨어 설계되어야 한다.Thus, if a new steel process facility is to be replaced, the process control application within the process control computing unit must be software designed to meet the environmental conditions of the newly replaced new steel machine.

그런데, 새로운 공정제어 애플리케이션의 소프트웨어 설계 시에, 바로 직전에 단 하나의 공장에서 구축된 소프트웨어 하나만을 분석하여 일부 변경하는수준에서 재사용을 하려다 보니, 새로운 공장을 지어서 공정제어 애플리케이션을 구축할 때마다 매번 비슷한 분석 및 설계 작업을 반복해서 수행해야 하는 낭비적 요소가 있다.However, when designing a new process control application software, we tried to reuse it at the level of changing and analyzing only one piece of software that was built in just one factory immediately, so every time we build a new plant and build a process control application There is a waste of having to repeat similar analysis and design tasks.

따라서 본 발명의 실시예는 이미 사용되고 있어 신뢰성을 가지고 있는 기존의 공정제어 애플리케이션들을 분석하여 이들의 차이점 또는 공통점 등을 파악하여 자산 DB를 구축하는 것이다. 따라서 새로운 공정제어 애플리케이션 설계 시에 상기 구축된 자산 DB를 이용하여 설계함으로써 반복 재설계 등의 낭비적 요소를 없앨 수 있다.Therefore, an embodiment of the present invention is to analyze the existing process control applications that are already used and have reliability to grasp the differences or commonalities between them and build an asset DB. Therefore, when designing a new process control application, it is possible to eliminate wasteful elements such as iterative redesign by designing using the constructed asset DB.

도 2는 본 발명의 실시예에 따른 소프트웨어 자산구축 애플리케이션의 동작 을 도시한 그림이다.2 is a diagram illustrating the operation of a software asset building application according to an embodiment of the present invention.

도 2를 참고하면 본 발명의 소프트웨어 자산구축 애플리케이션(200)은, 연산이 가능한 컴퓨터와 같은 프로세서에 실리는 소프트웨어로 구현된 프로그램으로서 자산 DB를 생성한다.2, the software asset building application 200 of the present invention generates an asset DB as a program implemented in software mounted on a processor such as a computer that can operate.

이를 위하여 소프트웨어 자산구축 애플리케이션(200)은, 각 공정제어 연산장 치(P/C; Process Computer)에 있는 기존의 공정제어 애플리케이션들에 적용되는 소프트웨어들의 특징 등을 분석하여 새로운 철강 공정 설비에 적용할 자산 DB로서 생성해낸다.To this end, the software asset building application 200 analyzes characteristics of software applied to existing process control applications in each process control operation unit (P / C) and applies them to a new steel process facility. Generated as an asset DB.

개발자가 새로운 공동제어 애플리케이션의 소프트웨어 설계 시에 상기 구축된 자산 DB를 이용하도록 하기 위함이다. 새로운 철강 공정 설비에 적용하고자 공정제어 애플리케이션을 설계할 경우, 소프트웨어 자산구축 애플리케이션(200)이 구축해 놓은 자산 DB를 이용할 경우 수월한 개발을 할 수 있다.This is to allow the developer to use the constructed asset DB in software design of a new joint control application. When designing a process control application to be applied to a new steel process facility, it is possible to easily develop using an asset DB built by the software asset building application 200.

소프트웨어 자산구축 애플리케이션(200)에서 생성되는 자산 DB는 이벤트 DB, 워크플로우 DB, 워크플로우 다이어그램, 워크플로우 작업 리스트를 포함한다. 소프트웨어 자산구축 애플리케이션(200)이 상기 자산 DB들을 생성하는 과정을 도 3의 플로차트와 함께 상술한다.The asset DB generated by the software asset building application 200 includes an event DB, a workflow DB, a workflow diagram, and a workflow task list. The process of generating the asset DBs by the software asset building application 200 will be described in detail with the flowchart of FIG. 3.

도 3은 본 발명의 일 실시예에 따른 소프트웨어 자산구축 애플리케이션의 동작 과정을 도시한 플로차트이다.3 is a flowchart illustrating an operation process of a software asset building application according to an embodiment of the present invention.

소프트웨어 자산구축 애플리케이션은 휘처 모델 생성 과정(S302), 이벤트 DB 생성 과정(S304), 워크플로우 DB 생성 과정(S306), 워크플로우 다이어그램 생성 과정(S308) 및 워크플로우 작업 리스트 생성 과정(S310)을 포함한다.The software asset building application includes a feature model generation process (S302), an event DB generation process (S304), a workflow DB generation process (S306), a workflow diagram generation process (S308), and a workflow task list generation process (S310). do.

휘처 모델 생성 과정(S302)은 철강 공정 설비의 명칭과 해당 철강 공정 설비의 특징점을 입력받아 해당 철강 공정 시스템의 특징점 모델인 휘처 모델(Feature Model)을 생성하는 기능을 수행한다. The feature model generation process (S302) receives the name of the steel processing equipment and the feature points of the steel processing equipment, and performs a function of generating a feature model, which is a feature model of the steel processing system.

철강 공정 설비의 명칭과 특징점 입력을 받기 위하여, 별도의 사용자 입력 인터페이스를 GUI(Graphic User Interface) 형태로 된 입력 에디터 툴(input editor tool)을 제공한다. 상기 입력 에디터 툴은 공정제어 애플리케이션 설계자로부터 설계되는 대상의 명칭 및 특징점을 입력받는다. 이때, 소프트웨어 자산을 구축하는 구축자로부터 상기 입력 에디터 툴을 통해 입력받을 수 있다.In order to receive input of the name and feature point of the steel processing equipment, an input editor tool having a separate user input interface in the form of a graphical user interface (GUI) is provided. The input editor tool receives a name and a feature point of an object to be designed from a process control application designer. In this case, an input editor tool may receive an input from a builder who builds a software asset.

휘처(feature)란 특정 영역의 개발 환경에서 관심을 가지는 영역 내의 속성 또는 특징점을 의미한다. 예를 들어, 철강 공정 설비를 제어하는 소프트웨어의 경우, 철강 공정 설비 중에서 관심있는 특정 공정 설비의 특징점이 해당된다.A feature is an attribute or feature point in a region of interest in a development environment of a particular region. For example, in the case of software that controls steel processing equipment, this is the characteristic of the particular processing equipment of interest in the steel processing equipment.

따라서 철강 공정 설비는 연주 공정 설비, 제강 공정 설비 등과 같은 다양한 공정 설비를 가질 수 있는데, 특정한 공정 설비의 명칭을 입력받은 후 이에 대응하는 특징점(휘처)들을 입력받는다.Therefore, the steel processing equipment may have a variety of processing equipment, such as a reproducing process equipment, steel making process equipment, etc., after receiving the name of a specific process equipment is received corresponding feature points (features).

입력받는 공정 설비의 명칭은 표준 용어로서 입력받는데, 기존 공정제어 애플리케이션의 개발에 사용된 설계서를 통해서, 또는, 공정제어 애플리케이션의 개발자와 운영자들과의 인터뷰를 통해서 해당 공정 설비에서 사용되는 용어(Terminologies)들이 해당된다.The name of the process equipment to be input is entered as a standard term, terminology used in the process equipment through the design used in the development of the existing process control application, or through interviews with the developers and operators of the process control application. )

예를 들어, 철강 공정 설비가 연주 공정과 관련된 설비라면, 입력받는 용어들은 하기의 표와 같다.For example, if the steel processing equipment is equipment related to the playing process, the terms received are as shown in the following table.

용어(한글)Terminology (Korean) 용어(영어)Terminology (English) 설 명Explanation 유 사 어Yu Sa 어 원Oh 연주 공정Playing process Continuos Casting SystemContinuos Casting System 연속 주조 공정Continuous casting process 주조, CCCasting, CC --

상기 표에서, 용어(한글/영어) 필드는 이벤트 표준화에서 사용하기로 결정된 한글 및 영어 이름, 설명 필드는 해당 용어에 대한 설명, 유사어 필드는 표준 용어는 아니지만 유사하게 통용되어 사용되는 용어, 어원 필드는 정의되는 용어가 특정 시스템에서만 사용되는 경우 용어의 출처를 나타낸다.In the above table, the term (Korean / English) field is a Korean and English name determined for use in event standardization, the description field is a description of the term, and the synonym field is not a standard term but similarly used term, etymology field. Indicates the source of a term when the term being defined is used only in a particular system.

상기 제어하고자 하는 공정 설비의 명칭을 입력받은 후, 특징점인 휘처(feature)들을 입력받아 휘처 모델(Feature Model)을 구성한다. After receiving the name of the process equipment to be controlled, the feature model is configured by receiving the features that are the feature points.

이때, 입력받는 특징점들은 상기에서 입력받은 용어를 바탕으로 하여 입력받는다. 예를 들어, 상기 입력된 공정 용어가 '연주 공정'이라면, 입력받을 특징점들은 '연주 공정'과 관련된 특징점들의 입력 필드를 디스플레이하여 구축자로부터 연주 공정과 관련된 특징점들(예컨대, 공정 제어 서비스, 제품 등)을 입력받는다. 각 공정별로 특징점의 목록을 별도의 DB로 가지고 있어, 입력되는 용어와 관련된 특징점 입력 필드를 통해 입력받을 수 있다.At this time, the input feature points are received based on the terms received above. For example, if the input process term is 'playing process', the feature points to be input display the input fields of the feature points related to the 'playing process' so that the feature points related to the playing process from the builder (e.g., process control service, product Etc.). Each process has a list of feature points as a separate DB, which can be input through the feature point input field associated with the term being entered.

소프트웨어 자산구축 애플리케이션을 구축하는 구축자로부터 입력받는 특징점들은, 예컨대, '연주 공정'과 관련된 휘처들의 경우, 도 4에 도시한 바와 같이 공정 제어 서비스(Process Control Service), 제품(Product), 시스템 서비스(System Service), 외부 시스템 네트워크 링크 (External System Network Link), 장비(Equipments), 개발언어(Language), 플랫폼(Flatform), 공정 방식(Some Process Method), 통신 방식(Communication Method) 등의 특징점(feature) 중에서 어느 하나 이상을 포함한다.The feature points input from the builders who build the software asset building application are, for example, features related to the 'playing process', as shown in FIG. 4, a process control service, a product, and a system service. (System Service), External System Network Link, Equipment, Language, Platform, Platform, Some Process Method, Communication Method, etc. feature).

상기 각각의 휘처에 대한 설명은 하기와 같다. Description of each feature is as follows.

- 공정 제어 서비스(Process Control Service); 새롭게 운영될 공정제어 애 플리케이션이 공정 제어와 관련하여 제공하고자 하는 서비스를 나타내는 것으로서, 예컨대, 트래킹(tracking), 실적수집, 그리고 제품 계획과 관련된 내용들이 될 수 있다. 하위 휘처로 추가될 수 있다.Process Control Service; The new process control application, which represents the service to be provided in relation to process control, may be related to tracking, performance collection, and product planning. Can be added as a child feature.

- 제품(Product); 공정제어 애플리케이션의 공정제어에 의해 철강 공정 설비가 생산하는 제품에 관련된 내용들임Product; These are related to the products produced by steel processing facilities by process control in process control applications.

- 시스템 서비스(System Service); 공정제어 애플리케이션이 해당 철강 공정 설비의 운영상 필요한 정보를 제공하는 서비스로서, 유지보수에 관련된 기능이나 HMI(Human Machine Interface) 관련된 내용들임System service; The process control application is a service that provides the information necessary for the operation of the steel process facility, and is related to maintenance functions or human machine interface (HMI).

- 외부 시스템 네트워크 링크 (External System Network Link); 공정제어 연산장치(Process Computer)와 연결되는 외부 시스템으로서, 아키텍쳐에 따라서 계층별로 구분될 수 있음.External System Network Link; An external system that is connected to the Process Control Process Computer, which can be divided into layers according to the architecture.

- 장비(Equipments); 공정제어 애플리케이션의 공정제어를 받는 장비들로서, 실제로 철강 공정 설비에 영향을 주는 주요 요소임-Equipments; Equipment under process control in process control applications, which is a major factor that actually affects steel processing equipment

- 개발언어(Language); 공정제어 연산장치 내의 공정제어 애플리케이션을 구현할 때 사용된 프로그래밍 언어임Language; Programming language used to implement process control applications within process control computing units.

- 플랫폼(Flatform); 공정제어 연산장치 내의 공정제어 애플리케이션에서 사용하는 기반 구조로서, 예컨대, 미들웨어나 DBMS(DataBase Management System)가 이에 해당됨.Platform; An infrastructure used by a process control application in a process control computing device, for example, middleware or a DBMS (Database Management System).

- 공정 방식(Some Process Method); 공정제어 애플리케이션에서 특별히 사용하는 기술(알고리즘)이 해당되는데, 예컨대, 각종 동작 태스크의 명칭dl기술될 수 있으며, 태스크 내부의 워크플로우 아이디(ID)들이 기술될 수 있음Some Process Method; A technique (algorithm) specifically used in the process control application may be used. For example, names of various operation tasks may be described, and workflow IDs may be described in the task.

- 통신 방식(Communication Method); 공정제어 애플리케이션이 사용하는 통신 기술이 해당됨A communication method; Communication technology used by process control applications

도 4에 도시된 각 휘처들은 트리 구조로서 CA, OE, DT, IT 레벨별로 나누어 구성된다. CA(Capability) 레벨은 시스템 능력을 나타내는 레벨이며, OE(Operating Environment)는 OS, 개발언어 등과 같은 동작 환경의 레벨이며, DT(Domain Technology)는 공정 수행하는 알고리즘 레벨이며, IT(Information Technology)는 외부 통신 레벨이다. 이러한 레벨별 그룹내 휘처 목록은 미리 정의되어 있다.Each feature shown in FIG. 4 is a tree structure and is divided into CA, OE, DT, and IT levels. CA (Capability) level is a level that indicates the system capability, OE (Operating Environment) is the level of operating environment such as OS, development language, etc., DT (Domain Technology) is the algorithm level to perform the process, Information Technology (IT) is External communication level. The list of features in the group by level is predefined.

이벤트 DB 생성 과정(S304)은 현재 사용되고 있는 다수의 공정제어 애플리케이션들의 소프트웨어에서 수행하는 이벤트(event)를 분석하여 이벤트 DB를 생성하는 이벤트 표준화 작업을 수행한다.The event DB generation process S304 analyzes an event performed by software of a plurality of process control applications currently being used to perform an event standardization operation of generating an event DB.

상기 이벤트 표준화는 기존에 사용되던 각 공정제어 애플리케이션들의 소프에서 발생되는 이벤트를 파악하여 분류하는 것이다. 즉, 기존의 각 공정제어 애플리케이션이 공정 제어 시에 수행하는 이벤트를 파악하여 공통되는 이벤트 집합과 의존 이벤트 집합으로 분류하여 DB화 하는 것이다.The event standardization is to identify and classify events generated in the soap of each process control application. In other words, each existing process control application grasps the events performed at the process control and classifies them into a common event set and a dependent event set to form a DB.

참고로, 각 공정제어 애플리케이션의 이벤트 파악은 다양한 방식으로 이루어질 수 있는데, 예컨대, 각 공정제어 애플리케이션의 소스 코드를 입력받아, 해당 소스 코드에 있는 이벤트 주석문 부분이나 이벤트 ID를 리딩하여 각 공정제어 애플 리케이션에서 수행되는 이벤트의 내용들을 파악할 수 있다. 또는, 각 공정제어 애플리케이션에서 별도로 만들어 저장해 놓은 이벤트 주석문 파일을 리딩하여 각 공정제어 애플리케이션에서 수행하는 이벤트의 내용들을 파악할 수 있다.For reference, event identification of each process control application may be performed in various ways. For example, each process control application may be read by inputting source code of each process control application and reading an event comment portion or event ID in the corresponding source code. You can find the contents of the event performed in. Alternatively, by reading event comment files that are separately created and stored in each process control application, the contents of events performed in each process control application can be grasped.

이벤트는 도 5와 같이 두 가지 종류로 구분된다. 공통 이벤트들(Common Events)은 각 공정제어 애플리케이션에서 동일하게 수행하는 이벤트이고, 의존 이벤트들(Subordinate Events)은 공장의 설비에 따라서 특정 공동제어 애플리케이션에서만 수행하는 이벤트들이다. 따라서 이벤트 DB는 공통 이벤트 DB 및 의존 이벤트 DB 두가지 형태로 구성된다.Events are divided into two types as shown in FIG. Common events are events that perform the same in each process control application, and subordinate events are events that are performed only in a specific common control application depending on the facility of the factory. Therefore, the event DB consists of two types: common event DB and dependent event DB.

공통 이벤트 DB(Common Event DB)는 공통 이벤트들에게 공통된 이벤트 아이디(ID)를 부여하여 데이터베이스화한다. 각 공정제어 애플리케이션에서 발생시키는 이벤트들은 시스템 내에서 서로 다른 고유 아이디를 비록 가지고 있지만, 실질적으로 동일한 의미를 갖는 이벤트들에 대해서는 공통 아이디를 부여하여 공통 이벤트 DB에 포함시키는 것이다.Common Event DB (Common Event DB) is a database by giving a common event ID (ID) to the common events. The events generated by each process control application have different unique IDs in the system, but the common IDs are included in the common event DB for events having the same meaning.

의존 이벤트 DB(Subordinate Event DB)는 상호 대체 가능한 이벤트들과 상호 대체 불가능한 고유의 이벤트들에 대하여 각각 분류하여 데이터베이스화한다. 의존 이벤트들 중에서 상호간에 대체 가능한 이벤트들의 경우에는, 해당 공정제어 애플리케이션에서 쓰이는 고유 이벤트 아이디와 동일한 아이디로 설정한 후 상호 대체할 수 있음을 별도로 표시하여 의존 이벤트 집합에 포함시킨다.Subordinate Event DB (Subordinate Event DB) is classified into a database for each of the events that are mutually replaceable and unique events that cannot be replaced. In case of the mutually replaceable events among the dependent events, it is set to the same ID as the unique event ID used in the corresponding process control application, and it is separately indicated that it can be replaced with each other and included in the dependent event set.

의존 이벤트들 중에서 특정 공정제어 애플리케이션에서만 수행되는 상호 대체 불가능한 고유 이벤트들의 경우에는, 해당 공정제어 애플리케이션에서 쓰이는 고유 이벤트 아이디와 동일한 아이디로 설정한 후 상호 대체 불가능함을 별도로 표시하여 의존 이벤트 집합에 포함시킨다.Among the dependent events, non-interchangeable unique events that are performed only in a specific process control application are set to the same ID as the unique event ID used in the corresponding process control application, and are included in the dependent event set by separately indicating that they cannot be replaced. .

도 6은 공통 이벤트 DB(Common Event DB)의 예시를 도시한 그림으로서, 각 필드에 대한 설명은 다음과 같다. 참고로, 의존 이벤트 DB 역시 동일한 목록을 갖는다.6 is a diagram illustrating an example of a common event DB, and description of each field is as follows. For reference, the dependent event DB also has the same list.

- 이벤트 ID; 공정제어 애플리케이션에서 사용할 이벤트의 표준 아이디Event ID; Standard ID of the event to be used in the process control application

- 이벤트 설명; 이벤트에 대한 설명-Event description; Description of the event

- 발생조건; 이벤트가 발생되는 조건을 기술- occurrence condition; Describe the conditions under which an event occurs

- 소스 레벨; 이벤트를 발생시키는 소스(source)의 레벨Source level; Level of source that fires the event

- 데이터 구조 타입; 이벤트에 의해서 전달되는 데이터의 구조 타입Data structure type; Structure type of the data carried by the event

- 구분; 외부/내부 이벤트, 이벤트의 발생 원인이 외부 시스템으로부터 받는 데이터인 경우에는 외부 이벤트로 명시- division; External / internal event, if the source of event is data from external system, specify as external event

- 변화요인; 모든 공정제어 애플리에케이션에서 사용되는 공통 이벤트(common event)인지, 아니면 특정 공정제어 애플리케이션에서만 사용되는 의존 이벤트(sub event)인지를 표시-Change factors; Indicates whether it is a common event used by all process control applications or a sub event used only by a specific process control application.

도 6에 도시한 예에서, E_TEST 이벤트 발생 시에 'BASIC'이라는 타입을 갖는 데이터 구조를 가지고 있음을 알 수 있다. 따라서 E_TEST 이벤트 발생 시에 'BASIC'이라는 타입을 갖는 데이터 구조가 호출되어야 함을 이벤트 DB를 통해 알 수 있게 된다.In the example shown in FIG. 6, it can be seen that the E_TEST event has a data structure having a type of 'BASIC'. Therefore, when the E_TEST event occurs, it can be known through the event DB that a data structure of type 'BASIC' should be called.

이벤트의 종류에 따라서 다양한 자료구조 타입으로서 정의될 수 있다. 각각의 자료구조 타입은 일반적으로 C Language의 데이터 구조체로서 정의된다.Depending on the type of event, it can be defined as various data structure types. Each data structure type is usually defined as a data structure in C Language.

각 데이터 구조 타입별로 구조체가 정의되는데, 'BASIC'이라는 타입의 데이터 구조체의 예시를 도 7에 도시하였다. 이벤트 DB는 각 데이터 구조의 타입이 어떤 형태의 데이터 구조체인지를 정의하여 DB로서 함께 가지고 있다.Structures are defined for each data structure type. An example of a data structure of type 'BASIC' is illustrated in FIG. 7. Event DB defines what type of data structure each type of data structure has and holds it together as DB.

데이터 구조체의 각 필드에 대한 설명은 다음과 같다.Each field of the data structure is described as follows.

- 데이터 명칭(Data Name); 이벤트와 함께 전달되는 데이터의 이름Data Name; Name of the data that is passed with the event

- 타입(Type); 데이터의 타입Type; Type of data

- 데이터 설명(Data Comment); 데이터에 대한 설명으로서, 주로 공정제어 애플리케이션에서 사용할 이벤트의 고유 아이디인 이벤트 아이디를 기록함Data Comment; A description of the data, usually the event ID, which is the unique ID of the event to be used in the process control application.

상기에서 설명한 이벤트 DB를 생성한 후에는, 이를 바탕으로 새로운 공정제어 애플리케이션에서 동작되어야 하는 워크플로우 DB 생성 과정(S306)과 워크플로우 다이어그램(S308)을 생성한다. 워크플로우(Workflow)란 어떤 일을 수행하기 위해 요구되는 절차나 작업 단위의 묶음이다.After generating the event DB described above, a workflow DB generation process (S306) and a workflow diagram (S308) to be operated in a new process control application are generated based on the event DB. A workflow is a set of procedures or units of work required to accomplish a task.

워크플로우 DB는 휘처 모델 생성 과정(S302)에서 생성한 휘쳐 모델에서의 각 휘처별로 관련되는 워크플로우 항목들을 리스트로 하여 생성된다.The workflow DB is generated with a list of workflow items related to each feature in the feature model generated in the feature model generation process (S302).

예컨대, 도 4에 '연주 공정'의 휘처 모델 중에서 '공정방식(some process method)'라는 휘처의 경우, 'Message_Receive', 'Message_Send' 등을 포함한 다양 한 워크플로우 항목들을 가질 수 있는데, 이러한 워크플로우 항목들을 리스트로서 생성하는 것이다.For example, in the feature model of the 'playing process' in FIG. 4, the feature 'some process method' may have various workflow items including 'Message_Receive' and 'Message_Send'. To create items as a list.

이러한 워크플로우 항목은 기존의 개발되어 운영되는 각 공정제어 애플리케이션의 소프웨어에서 수행되는 워크플로우를 분석하여 파악할 수 있다. 예컨대, 각 공정제어 애플리케이션의 소스 코드를 입력받아, 해당 소스 코드에 있는 워크플로우 주석문 부분을 리딩하여 각 공정제어 애플리케이션에서 수행되는 워크플로우의 내용들을 파악할 수 있다. 또는, 각 공정제어 애플리케이션에서 별도로 만들어 저장해 놓은 워크플로우 주석문 파일을 리딩하여 각 공정제어 애플리케이션에서 수행하는 이벤트의 내용들을 파악할 수 있다.These workflow items can be identified by analyzing the workflow performed by the software of each existing process control application. For example, the source code of each process control application may be input, and the contents of the workflow performed in each process control application may be grasped by reading a workflow comment portion of the corresponding source code. Alternatively, you can read the workflow comment file that is created and saved separately in each process control application to understand the contents of events performed in each process control application.

도 8은 'some process method'라는 휘처가 가지는 워크플로우 DB의 일례를 도시한 도면으로서, 각 필드의 설명은 다음과 같다.8 is a diagram illustrating an example of a workflow DB of the feature 'some process method', and description of each field is as follows.

- 워크플로우 아이디(Workflow ID); 사용할 고유의 영문 이름Workflow ID; Unique English name to use

- 이름; 사용자들의 이해를 돕기 위한 한글 이름- name; Hangul names to help users understand

- 역할; 워크플로우에서 수행해야 하는 역할-Role; Role to play in the workflow

- 외부 시스템과의 연관성; 워크플로우의 종류로서, 예컨대, 외부 시스템과의 통신을 담당하는 워크플로우일때는 연결(link)로 표기함Association with external systems; As a type of workflow, for example, a workflow that communicates with an external system is referred to as a link.

- 연관 이벤트; 워크플로우에서 처리해야 하는 이벤트들의 목록으로서, 이벤트 DB 과정에서 작성된 이벤트 집합에 포함되어 있어야 하며, 또한, 주기적으로 발생되는 이베트도 포함될 수 있음An associated event; A list of events that need to be processed in the workflow, which must be included in the event set created during the event DB process, and can also include events that occur periodically.

- 변화요인; 워크플로우 변화요소가 되게 하는 요인으로서, 모든 공정제어 애플리케이션에서 사용되는 워크플로우인지 아니면 특정 공정제어 애플리케이션에서 사용되는 워크플로우인지를 표시-Change factors; A factor that causes a workflow change, indicating whether the workflow is used in all process control applications or in a specific process control application.

따라서 워크플로우 DB 내의 각 워크플로우 항목별로 해당 워크플로우에서 발생되는 연관 이벤트가 기술되는데, 이를 통해서 개발자는 각 워크플로우에서 발생되는 이벤트의 목록을 알 수 있게 된다. 이러한 이벤트의 설명 및 이벤트의 데이터 구조체는 도 6 및 도 7의 이벤트 DB를 통해 얻어낼 수 있다.Therefore, related events that occur in the workflow are described for each workflow item in the workflow DB. This enables the developer to know the list of events that occur in each workflow. The description of such an event and the data structure of the event can be obtained through the event DB of FIGS. 6 and 7.

워크플로우 다이어그램 생성 과정(S308)은, 상기 워크플로우 리스트에 나타난 워크플로우간에 발생되는 이벤트 흐름을 다이어그램 형태로 표시하여 출력한다.The workflow diagram generation process (S308) displays and outputs the event flow generated between the workflows shown in the workflow list in diagram form.

도 9에 워크플로우 상호작용 다이어그램의 예시를 도시하였다. 도 9를 참조하면, 메시지리시브(MessageRessive) 라는 아이디를 갖는 워크플로우는 스케쥴관리자 워크플로우에게 E_DCstSCh, E_DCStOrd라는 이벤트를 발생시키며, 더불어, 분석 관리자(AnalysisManager)라는 아이디를 갖는 워크플로우에게 E_TEST, E_SMlm라는 이벤트를 발생시킴을 알 수 있다.An example of a workflow interaction diagram is shown in FIG. 9. Referring to FIG. 9, a workflow having an ID of MessageRessive generates an event called E_DCstSCh and E_DCStOrd to a schedule manager workflow, and an E_TEST and E_SMlm to a workflow having an ID of Analysis Manager. It can be seen that it generates an event.

기존의 공정제어 애플리케이션들에서 수행되는 워크플로우에서 발생되는 이벤트들의 흐름은, 상기 워크플로우 DB에 기술된 워크플로우 항목들을 추출하여 이들의 상호 발생 이벤트를 연관 분석하여 다이어그램 상호간의 흐름을 표시할 수 있다. 따라서 개발자는 도 9의 워크플로우 다이어그램을 통해서 워크플로우간에 발생되는 이벤트의 흐름을 알 수 있게 된다.The flow of events generated in the workflows performed in the existing process control applications may extract the workflow items described in the workflow DB and associate and analyze their mutual events to display the flow between diagrams. . Therefore, the developer can know the flow of events occurring between workflows through the workflow diagram of FIG. 9.

한편, 도 9의 워크플로우 다이어그램은 워크플로우 상호간에 이벤트 동작 흐름만을 도시한 것으로서, 각 워크플로우 내에서 수행되는 잡(job)은 기술되어 있지 않다. 따라서 각 워크플로우 내에서 수행되는 잡의 목록을 워크플로우 작업 리스트로서 생성하는 과정(S310)을 가진다.On the other hand, the workflow diagram of FIG. 9 shows only the flow of event operations between the workflows, and a job performed in each workflow is not described. Therefore, a process of generating a list of jobs performed in each workflow as a workflow task list (S310).

워크플로우 작업 리스트 생성 과정(S310)은, 상기 워크플로우 다이어그램에 있는 각 워크플로우가 작업 수행해야 하는 컴포넌트들을 순서대로 기술한 리스트를 생성하는 과정이다. 상기 컴포넌트란 각 워크플로우 내에서 세부적으로 수행해야 하는 잡(job)을 프로그래밍할 때 필요한 데이터이다.The workflow task list generation process (S310) is a process of generating a list describing components in order for each workflow in the workflow diagram to perform work. The component is data necessary for programming a job to be performed in detail within each workflow.

도 10은 워크플로우 작업 리스트를 도시한 그림으로서, 예시로서 메시지 리시브(MessageReceive)라는 워크플로우에 대한 워크플로우 작업 리스트를 도시하였다. 각 필드의 설명은 다음과 같다.FIG. 10 is a diagram illustrating a workflow task list, and illustrates a workflow task list for a workflow called MessageReceive as an example. Description of each field is as follows.

- 순서; 컴포넌트를 실행하는 순서- order; Order of running components

- 컴포넌트; 실행할 컴포넌트의 이름- component; Name of component to run

- 인터페이스 이름; 컴포넌트의 사용자 인터페이스 이름Interface name; The user interface name of the component

따라서, 개발자는 도 9의 워크플로우 다이어그램에서 'MessageReceive'라는 워크플로우가 활성화되면 도 10의 컴포넌트들이 순서대로 실행됨을 알 수 있다.Accordingly, the developer may know that the components of FIG. 10 are executed in order when the workflow 'MessageReceive' is activated in the workflow diagram of FIG. 9.

상기 생성된 워크플로우 작업 리스트는 DB형태로 제공되며, 개발자가 새로운 철강 공정 설비에 적용될 공정제어 애플리케이션을 구축할 때 이러한 워크플로우 작업 리스트를 통해서, 특정 워크플로우에서 수행되는 컴포넌트 목록을 알 수 있게 된다.The generated workflow task list is provided in a DB form, and when the developer builds a process control application to be applied to a new steel processing facility, the workflow task list can identify a list of components to be performed in a specific workflow. .

상기에서 각 컴포넌트에는 인터페이스 이름이 할당되어 있는데, 개발자가 애플리케이션 설계 시에 해당 컴포넌트의 데이터 특성을 함수 호출하여 얻도록 하기 위함이다.In the above, each component is assigned an interface name, so that the developer can obtain the data property of the component by calling a function when designing an application.

이를 위하여 컴포넌트 라이브러리를 생성한다. 상기 컴포넌트 라이브러리는 인터페이스별로 컴포넌트가 할당되어 컴파일된 것으로서, 특정 인터페이스 호출이 있을 때 해당 인터페이스와 대응되는 컴포넌트의 데이터 특성이 호출한 함수로 제공된다.To do this, create a component library. The component library is compiled by assigning components to each interface. When a specific interface call is made, the component library is provided as a function called by a data property of a component corresponding to the interface.

상기 컴포넌트 라이브러리는 컴포넌트 리스트를 컴파일하여 생성한다. The component library compiles and generates a component list.

상기 컴포넌트 리스트의 예를 도 11에 도시하였다.An example of the component list is illustrated in FIG. 11.

- 인터페이스 이름; 공정제어 애플리케이션 개발자에게 제공될 컴포넌트 라이브러리의 컴포넌트 인터페이스의 이름Interface name; The name of the component interface in the component library that will be provided to process control application developers.

- 컴포넌트 아이디; 공정제어 애플리케이션에서 수행해야 할 작업 내용을 나타내는 아이디(ID)Component ID; ID representing the work to be done in the process control application

- 데이터 처리 단위; 해당 컴포넌트 아이디(ID) 호출이 있을 때 처리해야 하는 데이터 및 그 데이터의 처리 단위를 기록, 데이터는 심볼로 표기 가능함Data processing unit; Record the data to be processed when the component ID (ID) call is made and the processing unit of the data, and the data can be represented by symbols

- 작업 설명; 해당 컴포넌트 데이터가 쓰이는 작업 설명-Job description; Description of the job that component data is used for

- 변화요인; 모든 공정제어 애플리케이션에서 사용되는 컴포넌트인지, 아니면 특정 공정제어 애플리케이션에서만 사용되는 컴포넌트인지를 표시-Change factors; Indicates whether the component is used in all process control applications or only in a specific process control application

따라서 공정제어 애플리케이션 개발자가 프로그램 코딩 시에 특정 인터페이스 이름을 컴포넌트 라이브러리에서 호출하면, 컴포넌트 라이브러리는 호출된 해당 인터페이스에 할당된 도메인 컴포넌트 아이디, 데이터 처리 단위, 변화요인 등을 제공한다.Therefore, when a process control application developer calls a specific interface name in a component library when coding a program, the component library provides domain component IDs, data processing units, and change factors assigned to the called interface.

한편, 상기 휘처 모델 생성 과정(S302), 이벤트 DB 생성 과정(S304), 워크플로우 DB 생성 과정(S306), 워크플로우 다이어그램 생성 과정(S308) 및 워크플로우 작업 리스트 생성 과정(S310)을 통해 생성된 자산DB들은 서버, 이동식 메모리 등의 기록매체에 기록되어, 새로운 공정제어 애플리케이션을 설계하는 개발자가 상기 기록매체에 기록된 자산 DB를 이용하여 효율적인 소프트웨어 설계를 수행할 수 있다.On the other hand, the feature model generation process (S302), the event DB generation process (S304), the workflow DB generation process (S306), the workflow diagram generation process (S308) and the workflow work list generation process (S310) The asset DBs are recorded on a recording medium such as a server or a removable memory, so that a developer designing a new process control application can perform an efficient software design using the asset DB recorded on the recording medium.

한편, 이러한 컴포넌트 리스트에서 각 데이터마다 심볼을 할당하여 이용할 수 있다. 이는 다수의 소프트웨어에서 컴포넌트 리스트에 있는 데이터를 서로 공유하여 사용하기 위하여 특정 데이터를 공통된 심볼로서 정의한 것이다.Meanwhile, symbols may be allocated to each data in the component list. This is to define specific data as a common symbol in order to share and use the data in the component list with each other in multiple software.

즉, 컴포넌트 리스트를 구성할 때 '데이터 처리 단위'에서 처리해야 하는 데이터를 심볼로 표기함으로써, 상기 컴포넌트 라이브러리를 이용하는 모든 공정제어 애플리케이션에서는 해당 데이터를 공유하여 사용할 수 있다.In other words, when constructing a component list, data to be processed in a 'data processing unit' is represented by a symbol, so that all the process control applications using the component library can share the corresponding data.

이러한 심볼을 저장하는 공유 심볼 테이블에 대하여 간단히 설명한다.The shared symbol table for storing such symbols will be briefly described.

공유 심볼 테이블은, 공정제어 애플리케이션에서 사용할 데이터가 메모리에 저장되는데 유지보수성을 향상시키기 위하여 각 데이터마다 심볼을 할당해놓은 DB이다.The shared symbol table is a database in which symbols are allocated to each data to improve maintainability while data used in the process control application is stored in the memory.

공유 심볼 테이블은, 기존의 공정제어 애플리케이션에서 사용하고 있는 공유 메모리를 구성하는 데이터 구조에 대해서 1차적으로 중복적인 데이터들에 대한 표준 구조로서 테이블을 구성한다.The shared symbol table configures the table as a standard structure for data that is primarily redundant with respect to the data structure constituting the shared memory used in the existing process control application.

도 12는 공유 심볼 테이블 예시를 도시한 그림으로서, 데이터 부분에는 심볼 아이디 호출 시에 실제 반환할 실제 데이터가 기록된다.12 is a diagram illustrating an example of a shared symbol table. In the data portion, actual data to be actually returned when a symbol ID is called is recorded.

한편, 사용하는 모든 공유메모리를 1차원적으로 심볼로 맵핑하는 것은 비효율적이므로 기본적인 n차원 배열구조까지 하나의 심볼에 할당할 수 있게 한다. 배열의 인덱스를 위한 키(key)가 존재하며, 도 11을 참조하면, 'key' 필드의 '이름(name)'에는 실제로 배열의 차수(number)가 기록될 수 있다. 맵핑 대상이 되는 공유메모리가 1차원인 기본 타입(primitive)일 경우에는 'key' 필드를 기록하지 않는다. 이에 대한 자세한 내용은 본 발명인에 의해 출원된 '연주 시스템의 데이터 접근을 위한 인터페이스 시스템 및 방법(출원번호: 2009-0026473)에 기술되어 있다.On the other hand, it is inefficient to map all the shared memories to symbols in one dimension, so that a basic n-dimensional array structure can be allocated to one symbol. There is a key for the index of the array. Referring to FIG. 11, the number of the array may be actually recorded in the 'name' of the 'key' field. If the shared memory to be mapped is a one-dimensional primitive, the 'key' field is not recorded. Details of this are described in the 'interface system and method for accessing data of the performance system (application number: 2009-0026473) filed by the inventor.

상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 특허 범위는 상기 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위뿐 아니라 균등 범위에도 미침은 자명할 것이다.In the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention is not to be determined by the embodiments described above, but will be apparent in the claims as well as equivalent scope.

도 1은 철강 공정 시스템에서의 공정제어 연산장치의 동작 예를 도시한 도면이다.1 is a view showing an operation example of a process control computing device in a steel processing system.

도 2는 본 발명의 실시예에 따른 소프트웨어 자산구축 애플리케이션의 동작 을 도시한 그림이다.2 is a diagram illustrating the operation of a software asset building application according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 소프트웨어 자산구축 애플리케이션의 동작 과정을 도시한 플로차트이다.3 is a flowchart illustrating an operation process of a software asset building application according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 '연주 공정'의 휘처모델을 도시한 그림이다.4 is a view showing a feature model of the 'playing process' according to an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 공통 이벤트 집합 및 의존 이벤트 집합을 도시한 그림이다.5 is a diagram illustrating a common event set and a dependent event set according to an embodiment of the present invention.

도 6은 본 발명의 실시예에 따른 이벤트 DB의 예를 도시한 그림이다.6 is a diagram illustrating an example of an event DB according to an embodiment of the present invention.

도 7은 본 발명의 실시예에 따른 이벤트의 데이터 구조체의 예시를 도시한 그림이다.7 is a diagram illustrating an example data structure of an event according to an embodiment of the present invention.

도 8은 본 발명의 실시예에 따른 워크플로우 DB의 예시를 도시한 그림이다.8 is a diagram illustrating an example of a workflow DB according to an embodiment of the present invention.

도 9는 본 발명의 실시예에 따른 워크플로우 상호작용 다이어그램의 예시를 도시한 그림이다.9 is a diagram illustrating an example of a workflow interaction diagram according to an embodiment of the present invention.

도 10은 본 발명의 실시예에 따른 워크플로우 작업 리스트의 예시를 도시한 그림이다.10 is a diagram illustrating an example of a workflow task list according to an embodiment of the present invention.

도 11은 본 발명의 실시예에 따른 컴포넌트 리스트의 예시를 도시한 그림이 다.11 is a diagram illustrating an example of a component list according to an embodiment of the present invention.

도 12는 본 발명의 실시예에 따른 공유 심볼 테이블의 예시를 도시한 그림이다.12 is a diagram illustrating an example of a shared symbol table according to an embodiment of the present invention.

Claims (15)

공정제어 애플리케이션의 특징점들을 입력받아 휘처 모델을 생성하는 휘처 모델 생성 과정;A feature model generation process of receiving feature points of the process control application and generating a feature model; 기존의 사용되는 공정제어 애플리케이션에서 수행하는 이벤트를 입력받아, 각 이벤트의 데이터 구조를 나타낸 이벤트 DB를 생성하는 이벤트 DB 생성 과정;An event DB generation process of receiving an event performed by an existing process control application and generating an event DB indicating a data structure of each event; 상기 휘처 모델의 각 특징점별로 관련되는 워크플로우 항목을 기술하고, 각 워크플로우별로 발생되는 이벤트들을 기술한 워크플로우 DB를 생성하는 워크플로우 DB 생성 과정;A workflow DB generation process of describing a workflow item related to each feature point of the feature model and generating a workflow DB describing events generated by each workflow; 상기 워크플로우 DB 내의 워크플로우간에 발생되는 이벤트 흐름을 도시한 다이어그램 형태의 워크플로우 다이어그램을 생성하는 워크플로우 다이어그램 생성 과정; 및A workflow diagram generation process of generating a workflow diagram in diagram form illustrating an event flow generated between workflows in the workflow DB; And 상기 워크플로우 다이어그램에 있는 각 워크플로우가 작업 수행해야 하는 컴포넌트들을 순서대로 기술한 워크플로우 작업 리스트를 생성하는 워크플로우 작업 리스트 생성 과정Process for creating a workflow task list that generates a workflow task list that sequentially describes the components that each workflow in the workflow diagram should perform 을 포함하는 소프트웨어 자산구축 방법.Software asset construction method comprising a. 청구항 1에 있어서, 상기 휘처 모델 생성 과정은, 새롭게 설계하는 공정제어 애플리케이션이 제어하고자 하는 공정 설비의 용어 및 입력되는 공정 설비 용어와 관련된 특징점들을 입력받는 소프트웨어 자산구축 방법.The method of claim 1, wherein the feature model generation process receives a feature of a process facility to be controlled by a newly designed process control application and feature points associated with an input process facility term. 청구항 1에 있어서, 상기 휘처 모델 생성 과정은, 제품, 시스템 서비스, 외부 시스템 네트워크 링크, 장비, 개발언어, 플랫폼, 공정방식, 통신방식을 포함하는 특징점 중에서 적어도 어느 하나 이상을 입력받아 휘처 모델을 생성하는 소프트웨어 자산구축 방법.The method of claim 1, wherein the feature model generation process comprises generating a feature model by receiving at least one of feature points including a product, a system service, an external system network link, equipment, a development language, a platform, a process method, and a communication method. How to build software assets. 청구항 1에 있어서, 상기 이벤트 DB는 모든 공정제어 애플리케이션에 적용되는 공통 이벤트 DB와 특정 공정제어 애플리케이션에 적용되는 의존 이벤트 DB로 분류하여 DB를 생성하는 소프트웨어 자산구축 방법.The method of claim 1, wherein the event DB is classified into a common event DB applied to all process control applications and a dependent event DB applied to a specific process control application to generate a DB. 청구항 4에 있어서, 의존 이벤트 DB는 상호 대체 가능한 이벤트들과 상호 대체 불가능한 고유의 이벤트들에 대하여 각각 분류하여 데이터베이스화하는 소프트웨어 자산구축 방법.The method of claim 4, wherein the dependent event DB classifies and databases each of the interchangeable events and the unique events that are not interchangeable. 청구항 1에 있어서, 상기 이벤트 DB는, 이벤트의 아이디, 이벤트의 설명, 이벤트의 발생조건, 이벤트를 발생시키는 소스 레벨, 이벤트의 데이터 구조 타입, 내부/외부 이벤트 여부, 변화요인(공통 이벤트인지 의존 이벤트인지 표시)의 항목 중에서 하나 이상 포함하는 소프트웨어 자산구축 방법.The method according to claim 1, wherein the event DB, the ID of the event, the description of the event, the condition of generating the event, the source level for generating the event, the data structure type of the event, whether the internal / external event, the change factor (common event or dependent event A software asset building method comprising one or more of the items in the (a). 청구항 1에 있어서, 상기 이벤트 DB는 데이터 구조 타입별로 데이터 구조체 를 정의해 놓은 소프트웨어 자산구축 방법.The method of claim 1, wherein the event DB defines data structures for each data structure type. 청구항 7에 있어서, 상기 데이터 구조체는, 데이터 명칭, 데이터의 타입, 데이터의 설명을 포함하는 소프트웨어 자산구축 방법.8. The method of claim 7, wherein the data structure includes a data name, a type of data, and a description of the data. 청구항 1에 있어서, 상기 워크플로우 DB는, 워크플로우 아이디, 이름, 워크플로우에서 수행하는 역할, 외부시스템과의 연관성, 워크플로우에서 발생되는 이벤트, 변화요인(모든 공정제어 애플리케이션에서 사용되는 워크플로우인지 아니면 특정 공정제어 애플리케이션에서 사용되는 워크플로우인지를 표시) 중에서 하나 이상을 포함하는 소프트웨어 자산구축 방법.The method of claim 1, wherein the workflow DB, the workflow ID, name, the role played in the workflow, the relationship with the external system, events generated in the workflow, change factors (workflow used in all process control applications whether Or whether the workflow is used by a specific process control application). 청구항 1에 있어서, 상기 워크플로우 작업 리스트는, 워크플로우별로 실행되어야 하는 작업 단위 목록인 컴포넌트의 목록이 인터페이스 이름과 함께 기술되어 있는 소프트웨어 자산구축 방법.The method according to claim 1, wherein the workflow task list includes a list of components, which is a list of unit of work to be executed for each workflow, together with an interface name. 청구항 10에 있어서, 각 컴포넌트의 데이터 특성이 기술된 컴포넌트 라이브러리를 생성하는 과정을 더 포함하는 소프트웨어 자산구축 방법.The method according to claim 10, further comprising generating a component library in which data characteristics of each component are described. 청구항 11에 있어서, 상기 컴포넌트 라이브러리는, 컴포넌트 아이디, 컴포넌트의 인터페이스 이름, 데이터 처리 단위, 작업 설명, 변화 요인(모든 공정제어 애 플리케이션에서 사용되는 컴포넌트인지, 아니면 특정 공정제어 애플리케이션에서만 사용되는 컴포넌트인지를 표시) 중에서 하나 이상을 포함하는 소프트웨어 자산구축 방법.The method according to claim 11, wherein the component library, component ID, the interface name of the component, data processing unit, job description, change factors (components used in all process control applications or only used in a specific process control application Method of building a software asset. 청구항 1에 있어서, 상기 심볼 호출 시에 이에 대응되는 데이터를 반환받도록, 각 데이터마다 심볼을 할당한 공유 심볼 테이블을 생성하는 과정을 더 포함하는 소프트웨어 자산구축 방법.The method of claim 1, further comprising generating a shared symbol table in which a symbol is allocated to each data so that data corresponding to the symbol call is returned. 청구항 1항 내지 청구항 13항 중 어느 하나의 항에 있어서, 상기 공정제어 애플리케이션은 철강 공정 설비를 제어하는 애플리케이션임을 특징으로 하는 소프트웨어 자산구축 방법.The method according to any one of claims 1 to 13, wherein the process control application is an application for controlling steel processing equipment. 기존의 사용되는 공정제어 애플리케이션에서 수행하는 이벤트를 입력받아, 각 이벤트의 데이터 구조를 나타낸 이벤트 DB;An event DB that receives an event performed by an existing process control application and shows a data structure of each event; 공정제어 애플리케이션의 각 특징점별로 관련되는 워크플로우 항목을 기술하고, 각 워크플로우별로 발생되는 이벤트들을 기술한 워크플로우 DB;A workflow DB describing a workflow item related to each feature of the process control application and describing events generated by each workflow; 상기 워크플로우 DB 내의 워크플로우간에 발생되는 이벤트 흐름을 도시한 다이어그램 형태의 워크플로우 다이어그램; 및A workflow diagram in diagram form illustrating an event flow generated between workflows in the workflow DB; And 상기 워크플로우 다이어그램에 있는 각 워크플로우가 작업 수행해야 하는 컴포넌트들을 순서대로 기술한 워크플로우 작업 리스트Workflow task list describing in order the components that each workflow in the workflow diagram should perform 가 기록되어 있는 기록매체.Recording medium having recorded thereon.
KR1020090131045A 2009-12-24 2009-12-24 Storage device for software equity building and storage device KR101264633B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090131045A KR101264633B1 (en) 2009-12-24 2009-12-24 Storage device for software equity building and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090131045A KR101264633B1 (en) 2009-12-24 2009-12-24 Storage device for software equity building and storage device

Publications (2)

Publication Number Publication Date
KR20110074156A true KR20110074156A (en) 2011-06-30
KR101264633B1 KR101264633B1 (en) 2013-05-23

Family

ID=44404564

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090131045A KR101264633B1 (en) 2009-12-24 2009-12-24 Storage device for software equity building and storage device

Country Status (1)

Country Link
KR (1) KR101264633B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101290847B1 (en) * 2011-11-11 2013-07-29 포항공과대학교 산학협력단 Method for creating a feature model from legacy system source code
KR101328346B1 (en) * 2011-12-15 2013-11-11 포항공과대학교 산학협력단 Method of developing application and apparatus for the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10509649B2 (en) * 2017-12-04 2019-12-17 Tasktop Technologies, Incorporated Value stream graphs across heterogeneous software development platforms

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101290847B1 (en) * 2011-11-11 2013-07-29 포항공과대학교 산학협력단 Method for creating a feature model from legacy system source code
KR101328346B1 (en) * 2011-12-15 2013-11-11 포항공과대학교 산학협력단 Method of developing application and apparatus for the same

Also Published As

Publication number Publication date
KR101264633B1 (en) 2013-05-23

Similar Documents

Publication Publication Date Title
Mittal et al. Smart manufacturing: Characteristics, technologies and enabling factors
CN101990659B (en) Systems and methods for correlating meta-data model representations and asset-logic model representations
US20140229212A1 (en) Method and system for managing construction projects
US20100257464A1 (en) System and method for immersive operations intelligence
McLean et al. The expanding role of simulation in future manufacturing
Bhaskar et al. Analyzing and re-engineering business processes using simulation
Akinradewo et al. Key requirements for effective implementation of building information modelling for maintenance management
Bemthuis et al. An agent-based process mining architecture for emergent behavior analysis
Rehse et al. Business process management for Industry 4.0–Three application cases in the DFKI-Smart-Lego-Factory
Ensafi et al. Challenges and gaps in facility maintenance practices
Poma et al. Industry 4.0 and big data: role of government in the advancement of enterprises in Italy and UAE
KR101264633B1 (en) Storage device for software equity building and storage device
McLean et al. The role of simulation in strategic manufacturing
He et al. Cyber-Physical systems for maintenance in Industry 4.0
Muñoz et al. Ontological framework for the enterprise from a process perspective
Zgodavova et al. Launching new projects in industry 4.0: best practices of automotive suppliers
JP2006293548A (en) Business process tracking program, recording medium with same program recorded thereon, and business process tracking device
Hendriks Data Governance Structures in Data Mesh Architectures
Zhen et al. A structured modelling approach to simulating dynamic behaviours in complex organisations
Arena Towards semantics-driven modelling and simulation of context-aware manufacturing systems
Zada et al. Development of a Dynamic Model for Data-Driven DSS
Schoech et al. Optimising plant layout decisions based on emulation models–technical framework and practical insights
Jiang et al. A framework for requirements engineering process development (FRERE)
Ershadi et al. Effective application of information technology tools for real-time project management
JP2005165988A (en) Method and system for displaying table to manage state of performance evaluation index item, and display program

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: 20160510

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170511

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180510

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190509

Year of fee payment: 7