MDA 기반 태양광 에너지 모니터링 시스템의 유지보수를 위한 비용 감소 방안 사례

Slides:



Advertisements
Similar presentations
생산관리 직무이해. Contents 생산관리란 ? 1 기업이 유형ㆍ무형의 자원을 이용하여 제품이나 서비스를 가공하는 생산시스템을 계획, 운영, 통제 하는 일련의 관리활동 일반정의 : 제품과 서비스를 생산하기 위하여 필요한 원자재를 구입하여 이들을 완제품으로 가공하는.
Advertisements

전공 : 컴퓨터 공학 전공 과목 : 인터넷 정보 검색 학번 : , 이름 : 조 항 두, 오 철 원.
팀 명 : 커 피 팀 원 : 정수현 외 4 명 ( 다른 학교분들 ). 목차목차 결과물 시현 및 설명 DB 설계 서비스 흐름도 개발 환경 개발 개요 개발 과정의 기술 개발 동기.
데이터마이닝 & 정보검색 연구실 신 현 일.  검색 시스템에 필요한 요소  인터넷 검색의 유형 / 태그란 ?  Blog 검색 시스템 설계  Target : Blog ? / 국내 Blog 사이트 분류  Collection : 어디서 무엇을 추출할 것인가 ? 
데이터 베이스 (MYSQL) 장수용. MYSQL 이란 ? -MySQL 은 DBMS( 데이터베이스 관리 시스템 ) 이다. - MySQL 은 RDBMS( 관계형 데이터베이스 ) 이다. - MySQL 은 오픈소스이다. - MySQL 은 빠르고, 안정적이고.
이혁재 /KASA NoSQL. 요약 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머.
WCL 이민학 Big Data & Hadoop.
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
성공적 취업을 위한 청년취업아카데미 과정 소개 2012 년 4 월 청년취업아카데미 사업 소개 (1) 학부졸업 최소 70% ~100% 취업 최소 70% ~100% 취업 전국 대학의 학부 졸업 후 취업률 약 60% 청년취업아카데미 를 통한 맞춤형 취업교육프로그램.
관세환급 제도 개요 수출용원재료에 대한 관세환급제도의 의의

任員 在·不在 案內 시스템.
소프트웨어시스템 실험 Software Systems Lab. (2012년 2학기) 강의 소개
Vision System Lab, Sang-Hun Han
WHAT IS ANT ? (TI CC2570, CC2571) Jae-hoon Woo.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
C++ Espresso 제1장 기초 사항.
데이터베이스 시스템.
SAP QUERY SAP R/3 4.6C.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
전자책도서관 스마트폰 및 태블릿 PC 이용 안내.
Python Bottle Web Framework
Web Programming 강의 소개
C#에서 데이터베이스 연동 방법.
Hello, My name is Woo Sung Jang I’m Hongik University Student
Chapter 32 Analyzing Web Traffic
팀 명: Con Spirito 팀 원: 경주리 김다정 김소담 최은미
Information Technology
동호회 구축 제안서 인터넷전문가그룹 4biz.
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
PV (Photovoltaic) 모니터링 시스템 소개 UNIMAX.
11장. 데이터베이스 서버 구축과 운영.
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
유비 쿼터스 시대의 선두주자 UMS 서버 구축 최고의 서비스를 제공하겠습니다..
자동 소프트웨어 프로세스 구축을 위한 공개 소프트웨어 툴 체인 연구
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
CRM에서의 Data Quality Management
Processing resulting output
Embeded 기초 다지기 2015년 10월 26일 intern Sally
I. Find out information about hydraulic management facilities (monitoring and control devices)    in Internet such as Dam, weir, gate, pump, turbine(6장),
Network Programming(1)
SOAP 클라이언트 개발 Guide
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
DataScience Lab. 박사과정 김희찬 (월)
A Web-Based Little Man Computer Simulator
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
CGI (Common Gateway Interface)
제 8 장 객체지향 데이타베이스와 데이타베이스의 새로운 응용 분야
Part 5. MS-SQL Server Basic
Introduction to Programming Language
요구사항 추적성을 위한 소프트웨어 프로세스 가시화 구축 자동화 (Automatic Construction of Software Process Visualization for Requirement Traceability) 홍익대학교 소프트웨어공학.
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
Transmission Control Protocol (TCP)
CGI (Common Gateway Interface)
User Datagram Protocol (UDP)
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
4장 - PHP의 표현식과 흐름 제어-.
myfood.com 상명대 맛집 홈페이지 구축 제안서
Java의 정석 제 4 장 조건문과 반복문 Java 정석 남궁성 강의
차량 관제시스템 제안서 신흥콘트롤㈜ 031 / 705 / 6923(代).
자바 5.0 프로그래밍.
3D ONLINE PLAMODEL PRODUCTION
Chapter 17 BOOTP and DHCP.
이번 시간에는... 지난 시간까지 2회차에 걸쳐 WML의 택스트 포맷, 이미지 처리, 페이지 이동, 태스크 수행과 이벤트 처리 및 WML 사용자 Input 처리 태그 등, WML 개발에 대해서 알아보았습니다. 이번 시간에는 2회차에 걸쳐, WML 스크립트 개발에 대해서.
실시간 음성 채팅 서비스 (Voice Chatting Programe)
DataScience Lab. 박사과정 김희찬 (화)
기존 태양광 모니터링 시스템 내 소비전력 데이터 전송 프로그램 구현
Choi Younghwan CSE HUFS
Presentation transcript:

MDA 기반 태양광 에너지 모니터링 시스템의 유지보수를 위한 비용 감소 방안 사례 홍익대학교 소프트웨어공학 연구실 장우성

Contents 1 개요 2 관련 연구 3 M-PVMS의 개선 4 결론 및 향후 연구

개요 기존 태양광 모니터링 시스템의 문제 인버터 업체 별로 서로 다른 이종의 프로토콜을 사용 다양한 인버터를 사용하는 시공업체는 힘든 통합 모니터링 관리를 수행 일반적으로 인버터 회사에서 모니터링 시스템을 제작 인버터 회사가 도산 또는 바뀐다면, 시스템 유지보수가 필요

M-PVMS Metamodel-based Photovoltaic Monitoring System 메타모델을 이용하여 서로 다른 이종의 인버터 데이터를 효율적으로 관리 Photo Voltaic Cell Inverter A Inverter n Local Monitoring (M-PVMS Client) Server Monitoring (M-PVMS Server) DB MySQL Data Analysis (Hadoop) PHP Server (M-PVMS Monitoring) Power Plant 1 Integrated Monitoring Server TCP/IP Power Plant n

M-PVMS Metamodel-based Photovoltaic Monitoring System 메타모델을 이용하여 서로 다른 이종의 인버터 데이터를 효율적으로 관리 Photo Voltaic Cell Inverter A Inverter n Local Monitoring (M-PVMS Client) Server Monitoring (M-PVMS Server) DB MySQL Data Analysis (Hadoop) PHP Server (M-PVMS Monitoring) Power Plant 1 Integrated Monitoring Server TCP/IP Power Plant n A사 인버터 패킷 S 1 2 3 … B사 인버터 패킷 A B 1 2 3 …

M-PVMS Metamodel-based Photovoltaic Monitoring System 메타모델을 이용하여 서로 다른 이종의 인버터 데이터를 효율적으로 관리 Photo Voltaic Cell Inverter A Inverter n Local Monitoring (M-PVMS Client) Server Monitoring (PVMS Server) DB MySQL Data Analysis (Hadoop) PHP Server (M-PVMS Monitoring) Power Plant 1 Integrated Monitoring Server TCP/IP Power Plant n

M-PVMS Metamodel-based Photovoltaic Monitoring System 메타모델을 이용하여 서로 다른 이종의 인버터 데이터를 효율적으로 관리 Photo Voltaic Cell Inverter A Inverter n Local Monitoring (M-PVMS Client) Server Monitoring (M-PVMS Server) DB MySQL Data Analysis (Hadoop) PHP Server (M-PVMS Monitoring) Power Plant 1 Integrated Monitoring Server TCP/IP Power Plant n

Model to Model 변환 하나의 모델을 새로운 모델로 변환하는 방법 구성요소 소스 모델 : 변환 전의 모델 소스 메타모델 : 소스 모델의 스키마 타깃 모델 : 변환 후의 모델 타깃 메타모델 : 타깃 모델의 스키마 변환 규칙 : 메타모델을 참조하여 소스 모델을 타깃 모델로 변환 변환 엔진 : 변환 규칙을 실행 이클립스에서는 EMF(Eclipse Modeling Framework)의 Ecore 모델을 이용하여 메타모델을 표현할 수 있는 환경을 제공 Source Metamodel Refers to Transformation Language Refers to Target Metamodel Conforms to Executes Conforms to Source Model Transformation Engine Target Model Reads Writes

M-PVMS Metamodel-based Photovoltaic Monitoring System 변환 엔진이 인버터 메타모델을 준수하여 작성된 인버터 모델의 파일을 읽는다. 변환 엔진이 모델 변환 언어(Java)를 실행한다. 모델 변환 언어는 인버터 메타모델과 통합 태양광 메타모델을 참조하여, 인버터 모델을 통합 태양광 모델로 변환한다. 변환 엔진은 변환된 통합 태양광 모델을 파일 형태로 작성한다. Inverter Packet Model WILLINGS Packet DASS Packet HS Packet Integrated Packet Model Inverter Metamodel Refers to Java Language Refers to Integrated SolarEnergy Metamodel DASS Inverter Packet Conforms to Executes Conforms to S 1 2 3 … Inverter Model Transformation Engine Integrated SolarEnergy Model Reads Writes HS Inverter Packet A B 1 2 3 …

M-PVMS Metamodel-based Photovoltaic Monitoring System 변환 엔진이 인버터 메타모델을 준수하여 작성된 인버터 모델의 파일을 읽는다. 변환 엔진이 모델 변환 언어(Java)를 실행한다. 모델 변환 언어는 인버터 메타모델과 통합 태양광 메타모델을 참조하여, 인버터 모델을 통합 태양광 모델로 변환한다. 변환 엔진은 변환된 통합 태양광 모델을 파일 형태로 작성한다. Inverter Packet Model WILLINGS Packet DASS Packet HS Packet Integrated Packet Model Inverter Metamodel Refers to Java Language Refers to Integrated SolarEnergy Metamodel DASS Inverter Packet Conforms to Executes Conforms to S 1 2 3 … Inverter Model Transformation Engine Integrated SolarEnergy Model Reads Writes HS Inverter Packet A B 1 2 3 …

M-PVMS Metamodel-based Photovoltaic Monitoring System 변환 엔진이 인버터 메타모델을 준수하여 작성된 인버터 모델의 파일을 읽는다. 변환 엔진이 모델 변환 언어(Java)를 실행한다. 모델 변환 언어는 인버터 메타모델과 통합 태양광 메타모델을 참조하여, 인버터 모델을 통합 태양광 모델로 변환한다. 변환 엔진은 변환된 통합 태양광 모델을 파일 형태로 작성한다. Inverter Packet Model WILLINGS Packet DASS Packet HS Packet Integrated Packet Model Inverter Metamodel Refers to Java Language Refers to Integrated SolarEnergy Metamodel DASS Inverter Packet Conforms to Executes Conforms to S 1 2 3 … Inverter Model Transformation Engine Integrated SolarEnergy Model Reads Writes HS Inverter Packet A B 1 2 3 …

M-PVMS Metamodel-based Photovoltaic Monitoring System 변환 엔진이 인버터 메타모델을 준수하여 작성된 인버터 모델의 파일을 읽는다. 변환 엔진이 모델 변환 언어(Java)를 실행한다. 모델 변환 언어는 인버터 메타모델과 통합 태양광 메타모델을 참조하여, 인버터 모델을 통합 태양광 모델로 변환한다. 변환 엔진은 변환된 통합 태양광 모델을 파일 형태로 작성한다. Inverter Packet Model WILLINGS Packet DASS Packet HS Packet Integrated Packet Model Inverter Metamodel Refers to Java Language Refers to Integrated SolarEnergy Metamodel DASS Inverter Packet Conforms to Executes Conforms to S 1 2 3 … Inverter Model Transformation Engine Integrated SolarEnergy Model Reads Writes HS Inverter Packet A B 1 2 3 …

M-PVMS Metamodel-based Photovoltaic Monitoring System 변환 엔진이 인버터 메타모델을 준수하여 작성된 인버터 모델의 파일을 읽는다. 변환 엔진이 모델 변환 언어(Java)를 실행한다. 모델 변환 언어는 인버터 메타모델과 통합 태양광 메타모델을 참조하여, 인버터 모델을 통합 태양광 모델로 변환한다. 변환 엔진은 변환된 통합 태양광 모델을 파일 형태로 작성한다. Inverter Packet Model WILLINGS Packet DASS Packet HS Packet Integrated Packet Model Inverter Metamodel Refers to Java Language Refers to Integrated SolarEnergy Metamodel DASS Inverter Packet Conforms to Executes Conforms to S 1 2 3 … Inverter Model Transformation Engine Integrated SolarEnergy Model Reads Writes HS Inverter Packet A B 1 2 3 …

M-PVMS Metamodel-based Photovoltaic Monitoring System 2019 현재, 총 127개의 사이트 관리 중

4년 간, 실무에 M-PVMS를 적용해 본 결과는…

4년 간, 실무에 M-PVMS를 적용해 본 결과는… 통신 방법이 추가됨(기존:Wi-Fi, 추가:LoRa) 계속해서 새로운 종류의 인버터 패킷 적용이 필요함 기존 석/박사들의 졸업 본인 업무 환경 내에 개발환경 다시 구축 필요 가상 OS 이미지 내에 개발환경을 구축하면 UART 통신 속도가 느림 기존 소스코드 해석을 위해 프로젝트의 전체 구조 이해가 필요

개선 방안 기존 Java에 종속적인 모델, 모델 변환 룰을 외부 파일로 변경 XMI, ATL, ECore 적용 M-PVMS 구조 개선 인버터 모델 재설계 모델 변환 엔진 재설계

XMI, ATL, and ECore XMI(XML Metadata Interchange) 메타 모델 정의 언어(MOF)를 XML 기반으로 데이터 관리를 위해 확장한 OMG 표준. 문서형 정의(DTD)와 스키마를 통해 XML로 메타 모델과 모델의 표현(representation)을 표준화 XMI DTD와 스키마는 모델들에 대한 메타데이터가 됨 MDA의 모델은 XMI로 표현될 수 있음 객체 간의 관계를 나타내기 위해 태그 기반의 언어를 사용 ATL(Atlas Transformation Language) 메타 모델 및 텍스트의 구체적인 구문으로 지정된 모델 변환 언어 구문 또는 의미 변환을 수행하는 데 사용 원본 모델 요소가 대상 모델의 요소를 만들고 초기화하는 방법을 정의하는 규칙 ECore EMF(Eclipse Modeling Framework)에서 정의된 메타모델 Ecore 모델은 다음 요소들로 구성됨 EClass : 0 개 이상의 속성과 0 개 이상의 참조가 있는 클래스 EAttribute : 이름과 유형 등의 클래스 속성 EReference : 두 클래스 사이의 연관성 EDataType : 속성의 유형 (예 : int , float 또는 java.util.Date)

M-PVMS의 개선 DBMS 기존 M-PVMS 개선된 M-PVMS Inverter Inverter M-PVMS Client Data Packet Data Packet M-PVMS Client M-PVMS Client Transfer Packet Data Transfer Packet Data InverterA Metamodel.class InverterB Metamodel.class IntegratedSolarEnergy Metamodel.class DataCollect Rule.xmi Inverter Metamodel.ecore TranslateRule.atl IntegratedSolarEnergy Metamodel.ecore included input input Data Collector Transformation Engine based on Java Data Collector Transformation Engine based on ATL input output IntegratedSolar EnergyModel.xmi create Inverter Model.xmi input output IntegratedSolar EnergyModel.xmi Transfer File Transfer File M-PVMS Server M-PVMS Server DBMS input IntegratedSolar EnergyModel.xmi DBMS input IntegratedSolar EnergyModel.xmi 기존 M-PVMS 개선된 M-PVMS

인버터 메타모델의 재설계 A사의 인버터 패킷 구조 재설계 된 인버터 메타모델 B사의 인버터 패킷 구조 HEADER Data CHECK SUM SOP CODE Address Length ID 1byte 2bytes 3bytes 0~20bytes B사의 인버터 패킷 구조 Header Data Tail CHECK SUM ACK Type Command CMD Type Bock Count Data Count ETC 3bytes 5bytes 0~25 bytes 인버터 메타모델을 이용해 생성된 코드 Data 영역에 저장되는 정보의 종류 인버터 기본 정보(ID등) PV 정보 계통(grid) 전압 정보 계통(grid) 전류 정보 인버터 발전량 인버터 상태

변환 엔진의 재설계 Inverter Metamodel (ECore) Integrated SolarEnergy Inverter Refers to ATLAS Transformation Language Refers to Conforms to Executes Conforms to Inverter Model (XMI) Transformation Engine Integrated SolarEnergy Model (XMI) Reads Writes

M-PVMS의 개선 A사 인버터 패킷의 메타모델 변환 과정 ATL로 작성된 변환룰 rule ControlRule { from i : IAM using { check : Boolean = false; current : Float = 0; total : Float = 0; warningId : String = ''; warningName : String = ''; } do { for(p in i.H_item.asOrderedSet() ) { if(p.name = 'CODE' and p.value='D') {check1 <- true;} if(check1 = true and p.name='Address' and p.value='4') { current <- thisModule.getCurrentPower(i.Data.value); total <- thisModule.getTotalPower(i.Data.value); thisModule.getIMMInverters().element <- thisModule.createInverter(current, total); check <- false; else if(check1 = true and p.name='Address' and p.value='6') warningId <- thisModule.getWarningId(i.Data.value); warningName <- thisModule.getWarningName(i.Data.value); thisModule.getIMMLastInverterWarningRoot().element <- thisModule.createWarning(warningId, warningName); [중간 생략]

M-PVMS의 개선 A 인버터의 xmi 데이터가 포함된 통합 모델의 xmi 데이터 A 인버터 모델의 xmi 데이터

결론 및 향후 연구 M-PVMS의 유지보수성을 향상시키기 위한 개선 방안을 제안 기존 시스템의 재컴파일 없이 새로운 메타모델이 추가될 수 있도록 개선 개선 방안 자바 언어로 구현된 변환 엔진을 ECore, XMI, ATL로 재구성 인버터의 메타모델을 개선된 구조에 맞게 재설계 모델 변환룰과 메타모델을 외부파일로 저장하도록 구성 개선 결과 새로운 이종 인버터가 추가된다면, 데이터 요청/응답 패킷의 스키마를 XMI 파일 내에 추가하고, ATL 변환룰이 저장된 ATL 파일을 수정하여 쉽게 메타모델을 추가 및 관리 가능 ECore, ATL 개발 환경은 이클립스 플러그인으로 제공되기 때문에 메타모델 및 변환룰의 쉬운 제작이 가능