Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 125 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
125
Dung lượng
2,01 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM VĂN HƯỞNG MÔI TRƯỜNG PHÁT TRIỂN PHẦN MỀM NHÚNG CHO CÁC THIẾT BỊ DI ĐỘNG Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm Mã số: LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Ngọc Bình Hà Nội-2008 MỤC LỤC BẢNG KÝ HIỆU BẢNG CÁC HÌNH VẼ MỞ ĐẦU ………………………………………………………….7 Chương Tổng quan hệ thống nhúng 1.1 Các khái niệm 1.1.1 Hệ thống nhúng 1.1.3 Phần mềm nhúng 1.1.3 Hệ thống nhúng thời gian thực 1.2 Đặc điểm khác biệt phần mềm nhúng phần mềm thơng thường máy tính cá nhân 1.3 Ứng dụng hệ nhúng Chương Hệ điều hành thời gian thực 2.1 Khái niệm 2.2 Kiến trúc nhân RTOS 2.3 Các vấn đề RTOS 2.3.1 Hệ thống tiền cảnh/hậu cảnh 2.3.2 Miền găng 2.3.3 Tài nguyên 2.3.4 Tính đa nhiệm 2.3.5 Tác vụ trạng thái tác vụ 2.3.6 Chuyển ngữ cảnh 2.3.7 Nhân thời gian thực 2.3.8 Bộ lập lịch 2.4 Phát triển ứng dụng thời gian thực RTOS 2.4.1 Mơ hình tích hợp 2.4.2 Phát triển ứng dụng nhúng thời gian thực C/OS Chương Môi trường phát triển phần mềm nhúng cho thiết bị di động ……………… 3.1 Hệ điều hành thiết bị di động 3.2 Mơi trường lập trình Symbian 3.2.1 Hệ điều hành Symbian 3.2.2 Thực thi ứng dụng Symbian 3.2.2.1 Phân loại ứng dụng 3.2.2.2 Cấu trúc ứng dụng 3.2.2.3 Thực thi ứng dụng Symbian 3.2.3 Xây dựng ứng dụng Symbian với C/C++ 3.2.3.1 Symbian Flatform 3.2.3.2 Các SDK IDE phổ biến 3.2.3.3 Các bước xây dựng ứng dụng Series 60 với Carbide C/C++ 3.3 Môi trường NET Compact Framework Windows Mobile 3.3.1 Hệ điều hành Windows Mobile 3.3.2 .NET Compact Fr Luận văn Thạc sĩ 3.3.2.1 Kiến trúc tổng quan NET Compact Framework 37 3.3.2.2 Mơi trường lập trình NET Compact Framework 40 3.3.2.3 Các bước xây dựng ứng dụng NET Compact Framework với Visual Studio.net .42 3.4 J2ME 45 3.4.1 Kiến trúc J2ME 45 3.4.1.1 Máy ảo Java (KVM) 47 3.4.1.2 Tầng CLDC (Connected Limited Device Configuration): .48 3.4.1.3 MIDP (Mobile Information Device Profile) 50 3.4.2 Phát triển ứng dụng nhúng thiết bị di động với J2ME .50 3.4.2.1 MIDlet 50 3.4.2.2 Tệp tin JAR 51 3.4.3 Xây dựng ứng dụng chạy mô 52 Chương Xây dựng ứng dụng nhận dạng chữ NƠM Pocket PC ……………………………………………………… 56 4.1 Bài tốn nhận dạng chữ NÔM 56 4.2 Giải pháp công nghệ .56 4.3 Phân tích thiết kế hệ thống 59 4.3.1 Biểu đồ Use Case 59 4.3.1.1 Biểu đồ ca sử dụng cho gói Desktop 59 4.3.1.2 Biểu đồ ca sử dụng cho gói Mobile 60 4.3.2 Biểu đồ lớp phân tích 61 4.3.2.1 Phân tích ca sử dụng gói Desktop 61 4.3.2.2 Phân tích ca sử dụng gói Mobile 62 4.3.3 Biểu đồ lớp thiết kế 63 4.3.3.1 Biểu đồ lớp thiết kế cho gói Desktop .63 4.3.3.2 Biểu đồ lớp thiết kế cho gói Mobile 64 4.3.4 Biểu đồ 65 4.3.4.1 Biểu đồ tuần gói Desktop 65 4.3.4.2 Biểu đồ gói Mobile .66 4.4 Cài đặt 69 4.4.1 Cài đặt gói huấn luyện Desktop 69 4.4.2 Cài đặt gói nhận dạng Mobile 71 4.5 Kết thực nghiệm 74 KẾT LUẬN 78 TÀI LIỆU THAM KHẢO 79 PHỤ LỤC A Windows Embedded CE 6.0 81 A.1 Các hệ điều hành họ Windows CE 81 A.2 Windows Embedded CE 6.0 83 A.2.1 Tính Windows Embedded CE 6.0 83 A.2.2 Kiến trúc Windows Embedded CE 6.0 83 A.2.3 Lập trình ứng dụng Windows Embedded CE 6.0 85 PHỤ LỤC B Mã nguồn lớp gói Mobile .87 B.1 Lớp giao diện gói Mobile: frmMainApp .87 B.2 Lớp lưu kết đầu vào xử lý: MobileInputResult 90 Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ B.3 Lớp xử lý đầu vào: MobileInputProcess 91 B.4 Lớp cấu hình mạng: NetworkConfig .95 B.5 Lớp lưu kết nhận dạng: RecognitionProcessResult 97 B.6 Lớp nhận dạng: RecognitionProcess .98 B.7 Lớp lưu ngữ nghĩa kết tra cứu nghĩa từ: SemanticMap 102 B.8 Lớp tra cứu nghĩa từ: LookupSemantic .104 PHỤ LỤC C Mã nguồn phương thức gói Desktop 106 Khoa Cơng Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ Ký hiệu Thuật ngữ ANN CPU DLL DOM Artifical Ne Network Application Interface cl Center Proc Dynamic li Data Objec GUI Graphic Us IDE J2ME Intergrated Developme Environme Interrupt Se Routine Intergrated Software Java to Mic JVM KVM Java Virtua K Virtual M MIDLet Mobile Info Device app Random Ac Memory Read Only Real time o system Software D Kit Simple Obj Protocol AppUI ISR ISS RAM ROM RTOS SDK SOAP UML Uniform Language XML Extensible Language Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ BẢNG CÁC HÌNH VẼ Số thứ tự Hình Hình 1.1 Hình 2.1 Hình 2.2 Hình 2.3 Hình 2.4 Hình 2.5 Hình 2.6 Hình 2.7 Hình 2.8 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 Hình 3.1 Hình 3.2 Hình 3.3 Hình 3.4 Hình 3.5 Hình 3.6 Hình 3.7 Hình 3.8 Hình 3.9 Hình 3.10 Hình 3.11 Hình 3.12 Hình 3.13 Hình 3.14 Hình 3.15 Hình 3.16 Hình 3.17 Hình 3.18 29 Hình 3.19 30 31 32 Hình 3.20 Hình 3.21 Hình 4.1 33 34 35 36 Hình 4.2 Hình 4.3 Hình 4.4 Hình 4.5 37 Hình 4.6 Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ 38 Hình 4.7 39 Hình 4.8 40 Hình 4.9 41 42 43 Hình 4.10 Hình 4.11 Hình 4.12 44 Hình 4.13 45 Hình 4.14 46 Hình 4.15 47 48 49 50 51 Hình 4.16 Hình 4.17 Hình 4.18 Hình 4.19 Hình 4.20 52 53 54 Hình 4.21 Hình 4.22 Hình 4.23 55 56 57 Hình A.1 Hình A.2 Hình A.3 58 Hình A.4 59 Hình A.5 60 Hình A.6 61 62 Hình A.7 Hình A.8 Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ MỞ ĐẦU Trong phát triển công nghệ thông tin, sau giai đoạn bùng nổ internet từ 1980-2000 [2], cơng nghệ nhúng xem xu công nghệ thông tin Hệ thống nhúng phần cốt lõi tạo lên sản phẩm nhúng môi trường thông minh Thị trường hệ thống nhúng lớn gấp khoảng 100 lần thị trường PC mạng LAN, PC Internet bề công nghệ thơng tin cịn phần chìm cơng nghệ thơng tin chiếm 99% số vi xử lý toàn cầu nằm hệ nhúng cịn biết đến [2] Các sản phẩm nhúng có mặt lĩnh vực đời sống kinh tế xã hội từ giải trí đến thiết bị gia dụng, thiết bị công nghiệp Sự hội tụ công nghệ truyền thông khơng dây với thiết bị tính tốn cầm tay, sức đẩy công nghệ vi điện tử, công nghệ vi điện, công nghệ sinh học hội tụ tạo nên chip công nghệ nano, tảng cho thay đổi công nghệ thông tin truyền thơng Sức kéo thị trường địi hỏi thiết bị phải có nhiều chức thân thiện với người dùng, có mức độ thơng minh ngày cải thiện đưa đến vai trò tầm quan trọng hệ thống nhúng ngày cao kinh tế quốc dân Từ tất yếu khách quan, công nghệ phần mềm nhúng trở thành lĩnh vực công nghệ then chốt cho phát triển kinh tế nhiều quốc gia giới tiêu biểu Mỹ, Nhật Bản, Hàn Quốc, Phần Lan Trung quốc Tại Mỹ có nhiều chương trình hỗ trợ Nhà nước để phát triển hệ thống phần mềm nhúng Hàn Quốc có dự án lớn nhằm phát triển công nghệ phần mềm nhúng thiết bị gia dụng nối mạng Internet, hệ thống phần mềm nhúng cho phát triển thành phố thông minh, dự án phát triển ngành công nghiệp phần mềm nhúng, trung tâm hỗ trợ ngành cơng nghiệp hậu PC Phần Lan có sách quốc gia tích cực cho nghiên cứu phát triển hệ nhúng đặc biệt phần mềm nhúng Những quốc gia thành lập nhiều viện nghiên cứu trung tâm phát triển hệ nhúng [2] Ở Việt Nam, hầu hết công ty phần mềm tập trung xây dựng phần mềm ứng dụng mà phần nhiều ứng dụng quản lý ứng dụng web Một số cơng ty phát triển phần mềm hệ thống phát triển hệ nhúng chủ yếu làm theo yêu cầu đối tác nước Nghĩa đa khai thác bề công nghệ thông tin dần bão hồ Do vậy, phủ, ngành cơng nghiệp, viện nghiên cứu, trường đại học Việt Nam có chiến lược phát triển cơng nghệ thơng tin truyền thơng có điều chỉnh phù hợp để theo kịp, rút ngắn khoảng cách tụt hậu lĩnh vực công nghệ thông tin truyền thông nước khu vực giới q trình hội Khoa Cơng Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ nhập kinh tế toàn cầu Cần đưa sách thính đáng để nghiên cứu, xây dựng hệ thống nhúng mà ban đầu cần tập trung vào phát triển phần mềm nhúng [1] Từ xu phát triển khách quan công nghệ thông tin trạng công nghệ nước ta việc nghiên cứu, phát triển hệ nhúng tất yếu Phạm vi nghiên cứu tầm ứng dụng hệ nhúng lớn, giới hạn luận văn, chúng tơi tập trung trình bày vấn đề môi trường phát triển phần mềm nhúng cho thiết bị di động (mobile) Cấu trúc luận văn gồm phần sau: Phần mở đầu: Nội dung phần mở đầu vai trò tầm quan trọng công nghệ nhúng, trạng phát triển công nghệ nhúng giới Việt Nam Chương Tổng quan hệ thống nhúng: Nội dung chương trình bày tổng quan hệ thống nhúng, khái niệm liên quan như: hệ thống nhúng, phần mềm nhúng, hệ thời gian thực, hệ nhúng thời gian thực; so sánh ứng dụng desktop ứng dụng nhúng Chương Hệ điều hành thời gian thực: Nội dung chương trình bày vấn đề phát triển phần mềm nhúng môi trường hệ điều hành thời gian thực Chương Môi trường phát triển ứng dụng nhúng cho thiết bị di động: Nội dung chương trình bày mơi trường phát triển ứng dụng nhúng thiết bị di động như: môi trường hệ điều hành Symbian, môi trường NET Compact Framework, môi trường java J2ME Chương Xây dựng ứng dụng nhận dạng chữ Nôm Pocket PC: Nội dung chương trình bày thực nghiệm xây dựng ứng dụng nhận dạng chữ Nôm Pocket PC Hệ thống sử dụng ngơn ngữ UML để phân tích thiết kế cài đặt ngôn ngữ C# tảng NET Compact Framework Đồng thời ứng dụng sử dụng kỹ thuật mạng nơ-ron Perceptron đa tầng để nhận dạng Phần kết luận: Nội dung phần tổng kết, đánh giá luận văn phần mềm thực nghiệm đưa số hướng phát triển Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ Chương Tổng quan hệ thống nhúng 1.1 Các khái niệm 1.1.1 Hệ thống nhúng Hệ thống nhúng (Embedded system) hệ thống tiń h toán có khả tự trị nhúng vào môi trường hay hệ thống lớn Đó các hệ thống tích hợp phần cứng phần phềm phục vụ các toán chuyên dụng Một hệ thống nhúng chứa nhiều hệ thống nhúng khác [7] Hệ thống nhúng thường thiết kế để thực chức chun biệt Khác với máy tính đa chức năng, chẳng hạn máy tính cá nhân, hệ thống nhúng thực một vài chức định, thường kèm với yêu cầu cụ thể bao gồm số thiết bị máy móc phần cứng chuyên dụng Trong số trường hợp, hệ nhúng hoạt động hệ thống tồn độc lập Ví dụ định tuyến router Bộ định tuyến xây dựng sử dụng vi xử lý đặc biệt, nhớ, cổng giao tiếp mạng phần mềm cài đặt thuật tốn định hướng gói tin Theo đó, định tuyến làm nhiệm vụ định hướng gói tin đến từ cổng tới cổng khác, tồn độc lập [9] 1.1.3 Phần mềm nhúng Phần mềm nhúng phần mềm tích hợp các hệ thống nhúng Mục đích phần mềm nhúng nhằm điều khiển phần cứng, cho phép đáp ứng tương tác người dùng cung cấp môi trường để phát triển các phần mềm nhúng tích hợp khác Phần mềm nhúng tạo nên phần hồn, phần trí tuệ sản phẩm nhúng Phần mềm nhúng ngày có tỷ lệ giá trị cao giá trị sản phẩm nhúng Hiện phần lớn phần mềm nhúng nằm sản phẩm truyền thông sản phẩm điện tử tiêu dùng (consumer electronics), tiếp đến sản phẩm ô tô, phương tiện vận chuyển, máy móc thiết bị y tế, thiết bị lượng, thiết bị cảnh báo bảo vệ sản phẩm đo điều khiển Phần mềm nhúng có mức kiến trúc khác tuỳ theo yêu cầu cụ thể hệ thống Dưới số kiến trúc phần mềm nhúng với độ phức tạp tăng dần [7]: - Kiến trúc xoay vòng RR (Round-Robin) - Kiến trúc xoay vòng kết hợp với ngắt Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ B.5 Lớp lưu kết nhận dạng: RecognitionProcessResult using System; using System.Collections.Generic; using System.Text; namespace MobileDevNOMRegconition1._0.AppClasses { / / Lop chua output cho qua trinh tinh toan tren mang: / - So toi da ky tu / - So ky tu hien tai / - Mang ouput nhi phan / class RecognitionProcessResult { / / So ky tu toi da / public static int MaxOfOutputCharacters = 100; / / / Mang cac vector bit cho moi ky tu: chi so ky tu, chi so bit ky tu public static int [,] arOutputSet = new int[MaxOfOutputCharacters, NetworkConfig.NumOfOutNodes]; } } Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ B.6 Lớp nhận dạng: RecognitionProcess using System; using System.Collections.Generic; using System.Text; using System.IO; namespace MobileDevNOMRegconition1._0.AppClasses { / / Lop chua cac phuong thuc nhan dang theo mang noron: / - Ham nap mang so: LoadNetwork() / - Ham tinh output cho tap mau vao: CreateOutputForAllInput() / - Ham tinh output cho mot mau vao: CreateOutputForAInput() / class RecognitionProcess { #region Cac thuoc tinh dung chung cho cac ham lop / / Mang chua cac noron tang vao hien tai / private float[] current_input = new float[NetworkConfig.NumOfInputNodes]; / /So nut tren moi tang Mang chieu: Chi so tang, So noron toi da / private float[,] node_output = new float[NetworkConfig.NumOfLayer, NetworkConfig.NumOfHidenNodes]; #endregion #region Cac ham tinh toan tren mang / / Ham nap mang so, luu weight / / public void LoadNetwork( StreamReader objSR) { Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ //Cau hinh khung mang NetworkConfig.CreateFormNetwork(); string line; char[] weight_char = new char[20]; string weight_text = ""; int title_length, weight_length; for (int i = 0; i < 9; i++) { objSR.ReadLine(); } for (int i = 1; i < NetworkConfig.NumOfLayer; i++) { for (int j = 0; j < NetworkConfig.layers[i]; j++) { for (int k = 0; k < NetworkConfig.layers[i - 1]; k++) { weight_text = ""; line = objSR.ReadLine(); title_length = ("Weight[" + i.ToString() + " , " + j.ToString() + " , " + k.ToString() + "] = ").Length; weight_length = line.Length - title_length; line.CopyTo(title_length, weight_char, 0, weight_length); for (int counter = 0; counter < weight_length; counter++) { weight_text = weight_text + weight_char[counter].ToString(); } NetworkConfig.weight[i, j, k] = (float)Convert.ToDouble(weight_text); } } } Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội 100 Luận văn Thạc sĩ Môi trường phát triển phần mềm nhúng cho thiết bị di động } / / Ham tinh output cho moi input / public void CreateOutputForAllInput() { for (int i = 0; i < MobileInputResult.NumOfCharacters; i++) { //Lay vector bit vao tuong ung for (int j = 0; j < NetworkConfig.NumOfInputNodes; j++) { current_input[j] = MobileInputResult.input_set[j,i]; } //Goi ham tinh output cho moi input tuong ung CreateOutputForAInput(i); } } private void CreateOutputForAInput(int index) { //Gia tri tinh duoc float f_net; //So so tren tang int number_of_weights; for (int i = 0; i < NetworkConfig.NumOfLayer; i++) { for (int j = 0; j < NetworkConfig.layers[i]; j++) { f_net = 0.0F; if (i == 0) { Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ number_of_weights = NetworkConfig.layers[i - 1]; } for (int k = 0; k < number_of_weights; k++) { if (i == 0) { f_net = current_input[j]; } else { f_net = f_net + node_output[i - 1, k] * NetworkConfig.weight[i, j, k]; } } node_output[i, j] = sigmoid(f_net); } } //Danh gia bang ham nghuong va tao output for (int nodeIndex = 0; nodeIndex < NetworkConfig.NumOfOutNodes; nodeIndex++) { RecognitionProcessResult.arOutputSet[index, nodeIndex] = threshold(node_output[2,nodeIndex]); } } / / Ham chuyen tren mang / / / public float sigmoid(float f_net) Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội 102 Luận văn Thạc sĩ Môi trường phát triển phần mềm nhúng cho thiết bị di động { float result = (float)((2 / (1 + Math.Exp(-1 * NetworkConfig.slope * f_net))) - 1); return result; } / / Ham nghuong / / / public int threshold(float val) { if (val < 0.5) { return 0; } else { return 1; } } #endregion } } B.7 Lớp lưu ngữ nghĩa kết tra cứu nghĩa từ: SemanticMap using System; using System.Collections.Generic; using System.Text; namespace MobileDevNOMRegconition1._0.AppClasses { / / Lop chua anh xa ngu nghia / class SemanticMap Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội 103 Luận văn Thạc sĩ Môi trường phát triển phần mềm nhúng cho thiết bị di động { / / So ky tu toi da / public static int MaxOfCharacters = 65355; / / Mang gia tri khoa cua tap ket qua nhan danh / public static int[] arKey = new int[MaxOfCharacters]; / / Mang chua nghia cua cac ky tu da duoc nhan dang / public static String[] arResultMeanning = new String[MaxOfCharacters]; / / Mang chua toan bo nghia tu / public static String[] arSemantic = new String[MaxOfCharacters]; } } Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ B.8 Lớp tra cứu nghĩa từ: LookupSemantic using System; using System.Collections.Generic; using System.Text; using System.IO; namespace MobileDevNOMRegconition1._0.AppClasses { / / Lop chua cac ham anh xa nghu nghia: / - Nap file ngu nghia: LoadDictionary() / - Tao khoa cho ky tu hien tai: CreateKeyOfAChar() / - Tao mang khoa cho tap ket qua nhan dang: CreateKeyArray() / - Tra tu: LookupMeanning() / class LookupSemantic { / / Tao mang nghu nghia / / public void LoadDictionary(StreamReader objRS) { //for (int i = 1; i pictureBox1.Width ) pictureBox1.SizeMode= PictureBoxSizeMode.StretchImage; else pictureBox1.SizeMode= PictureBoxSizeMode.Normal; right=1; image_start_pixel_x=0; image_start_pixel_y=0; identify_lines(); current_line=0; character_present=true; character_valid=true; output_string=""; Khoa Công Nghệ Thông Tin Học viên: Phạm Văn Hưởng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội Luận văn Thạc sĩ label5.Text = "Ảnh vào : [" + image_file_name + ".bmp]"; } } / /Xac dinh ky tu tiep theo / public void detect_next_character() { number_of_input_sets=1; get_next_character(); if(character_present) { for (int i = 0; i < matrix_width; i++) for (int j = 0; j < matrix_height; j++) input_set[i * matrix_height + j, 0] = ann_input_value[i, j]; get_inputs(0); calculate_outputs(); comboBox3.Items.Clear (); comboBox3.BeginUpdate (); //TODO Test: Tao xau String strResult = ""; for(int i=0;i