A-SW Hub / Repositories
Local Gitea · READ ONLY
← 저장소 Repositories
REPOSITORY

ontariotech/path-optimization Private

[참조 MVP] 농작업 경로 최적화 A-SW — 작업 구간을 최근접 휴리스틱으로 재정렬해 공차 이동거리를 줄입니다.

https://git.agrithing.ai/ontariotech/path-optimization.git
7 commits
COMMIT DETAIL

docs: define component scope and interface contract

A-SW Reference Factory <[email protected]> · 2026. 8. 2. 오전 7:38:04
fe5cc8b4fcb4ca864247a0147e3d087ec70c0898
4 changed files +87 −0
added NOTICE.md +1−0 View file
@@ -0,0 +1 @@
1 + 이 코드는 A-SW Hub 연동 교육과 파이프라인 시험을 위한 비아의 참조 MVP입니다. Ontario Tech University의 공식 연구개발 결과물이 아닙니다.
added README.md +37−0 View file
@@ -0,0 +1,37 @@
1 + # 농작업 경로 최적화 A-SW
2 +
3 + > **연동 검증용 참조 MVP** — 본 저장소는 주식회사 비아가 A-SW Hub 사용 흐름을 검증하기 위해 제작한 참조 구현입니다. Ontario Tech University의 공식 납품 코드나 연구성과를 대체하지 않습니다.
4 +
5 + ## 목적
6 +
7 + 작업 구간을 최근접 휴리스틱으로 재정렬해 공차 이동거리를 줄입니다.
8 +
9 + - 사업 역할 기관: **Ontario Tech University**
10 + - 기술 영역: **Optimization**
11 + - 성숙도: 인터페이스 협의 및 파이프라인 검증용 MVP
12 + - 실행환경: Python 3.11 이상, 외부 패키지 없음
13 +
14 + ## 실행
15 +
16 + ```bash
17 + python run.py examples/input.json
18 + python -m unittest discover -s tests -v
19 + ```
20 +
21 + CLI는 JSON 입력 하나를 받아 JSON 결과 하나를 출력합니다. 실제 기관 구현으로 교체할 때도 `contracts/component.interface.json``release/manifest.json`의 식별자를 유지하면 통합 릴리스에서 버전을 추적할 수 있습니다.
22 +
23 + ## 저장소 구성
24 +
25 + - `asw_component/component.py`: 최소 실행 로직
26 + - `examples/input.json`: 재현 가능한 입력
27 + - `contracts/`: 기계 판독형 인터페이스 계약
28 + - `tests/`: 기준 동작 시험
29 + - `release/manifest.json`: 소유기관·버전·호환성 선언
30 + - `.gitea/workflows/verify.yml`: 계약→시험→증빙 패키지 CI
31 +
32 + ## 완료 기준
33 +
34 + 1. 예제 입력이 오류 없이 실행됩니다.
35 + 2. 계약 JSON과 단위시험이 통과합니다.
36 + 3. Gitea Actions가 증빙 패키지와 SHA-256을 생성합니다.
37 + 4. 실제 기관 코드는 동일 계약을 구현한 뒤 별도 승인·MIL/HIL 검증을 거칩니다.
added contracts/component.interface.json +29−0 View file
@@ -0,0 +1,29 @@
1 + {
2 + "$schema": "https://json-schema.org/draft/2020-12/schema",
3 + "title": "농작업 경로 최적화 A-SW interface",
4 + "type": "object",
5 + "required": [
6 + "component",
7 + "inputContract",
8 + "outputContract"
9 + ],
10 + "properties": {
11 + "component": {
12 + "const": "ontariotech/path-optimization"
13 + },
14 + "inputContract": {
15 + "type": "string"
16 + },
17 + "outputContract": {
18 + "type": "string"
19 + },
20 + "transport": {
21 + "enum": [
22 + "JSON/CLI",
23 + "ROS2-adapter",
24 + "HTTP-adapter",
25 + "CAN-adapter"
26 + ]
27 + }
28 + }
29 + }
added release/manifest.json +20−0 View file
@@ -0,0 +1,20 @@
1 + {
2 + "schemaVersion": "asw.release/v1",
3 + "component": "ontariotech/path-optimization",
4 + "displayName": "농작업 경로 최적화 A-SW",
5 + "owner": "Ontario Tech University",
6 + "implementationAuthor": "주식회사 비아 (연동 검증용 참조 구현)",
7 + "version": "0.1.0-mvp",
8 + "domain": "Optimization",
9 + "status": "REFERENCE_MVP",
10 + "compatibility": {
11 + "product": "unmanned-autonomous-agri-machine",
12 + "api": "asw-component/v1"
13 + },
14 + "evidence": [
15 + "unit-test",
16 + "interface-contract",
17 + "example-run",
18 + "sha256"
19 + ]
20 + }