2010-12-30 32 views
6

Tôi đang sử dụng một số kỹ thuật lập trình Dataflow trong chương trình clojure nhưng tôi gặp khó khăn trong việc tìm kiếm nhiều thông tin từ các dự án sử dụng Java, C# hoặc các ngôn ngữ chính khác đã sử dụng các kỹ thuật đó trong thế giới thực. Tôi sẽ biết ơn nếu có ai có bất kỳ cuộc hẹn hò nào họ có thể chia sẻ về điều này.Có ai sử dụng lập trình dataflow trong một dự án thực với ngôn ngữ chính thống không?

+0

Như trong: LabVIEW? – PleaseStand

+0

Vâng, Labview là một sản phẩm tôi thực sự thích giao diện. Những ngôn ngữ nào nó hỗ trợ? – Zubair

Trả lời

5

Đây, chúng tôi! Chúng tôi đã thực hiện ... (trích dẫn từ một trong những bài cũ của tôi):

Chúng tôi đã thiết kế và thực hiện một máy chủ DF cho dự án của chúng tôi tự động hóa (điều phối, thành phần iterface, một bó của các thành phần , DF ngôn ngữ, DF trình biên dịch, giao diện người dùng). Nó được viết bằng số C++ và chạy trên một số hệ thống giống như Unix (Linux x86, MIPS, avr32, v.v., Mac OSX). Nó thiếu một số tính năng, ví dụ: kiểm soát luồng tinh vi, điều khiển chuỗi phức tạp (chỉ có thành phần không quá tiên tiến cho nó), do đó, nó chỉ là một mẫu thử nghiệm, ngay cả khi nó hoạt động . Chúng tôi hiện đang làm việc trên một máy chủ đầy đủ tính năng . Chúng tôi đã học được rất nhiều trong khi triển khai và sử dụng nguyên mẫu .

Ngoài ra, chúng tôi sẽ tạo một trình chỉnh sửa trực quan một số ngày.

Như vậy là hệ thống dataflow Mà thậm chí không đề cập đến cách tiếp cận dataflow:

  • SynthEdit: http://www.synthedit.com/ - Đây là một âm thanh liên quan khuôn khổ và thành phần thiết lập để tạo plugin VST
  • TinyOS: http://www.tinyos.net/ - Đó là một hệ điều hành/khung được nhúng vào
  • Bộ tổng hợp/lấy mẫu kỹ thuật số là các hệ thống dataflow, được lập trình - được cho là - trong C hoặc một số phần trong Assembly, kiểm tra my answer to another post about some examples.
  • Quartz Composer, một công cụ ma thuật đồ họa cho Mac,
  • Blender có hệ thống con dataflow để tạo hình ảnh.

Viết hệ thống truyền dữ liệu không phải là khoa học tên lửa. Đây là bài cũ hơn của tôi about the basics of dataflow framework.

Thuật ngữ dữ liệu dài hạn rộng. Có các hệ thống dataflow đồng bộ thời gian thực, như synthetisers và samplers, có những phần không đồng bộ, giống như aut của chúng tôi. hệ thống (hệ thống không hoạt động trừ khi người dùng nhấn nút hoặc bộ hẹn giờ hết giờ) và thậm chí còn có các kiến ​​trúc khác nhau, chẳng hạn như bảng tính hoặc tạo.

Muốn đọc thêm về lập trình dataflow không? Đọc J. Paul Morrison's site and book.

+0

Tôi đã tạo ra một khái niệm biên tập dữ liệu sử dụng SGV/Raphaël https://github.com/ern0/dataflow-editor-concept - demo cũng có sẵn – ern0

1

Pervasive DataRush là một khuôn khổ cho lập trình dữ liệu song song cho bất kỳ ngôn ngữ JVM nào, bao gồm Clojure.

DataRush phổ biến sử dụng kiến ​​trúc dataflow. Kiến trúc thực hiện một chương trình thực hiện như là một biểu đồ của các nút tính toán kết nối với nhau bởi các hàng đợi dataflow. Các nút sử dụng hàng đợi để chia sẻ dữ liệu.Khi dữ liệu được truyền trực tuyến, chỉ dữ liệu được yêu cầu bởi bất kỳ hoạt động hoạt động nào cần phải có trong bộ nhớ tại bất kỳ thời điểm nào, cho phép phân tích các tập dữ liệu rất lớn. Bên cạnh việc cung cấp khả năng mở rộng quy mô cho các vấn đề lớn hơn bộ nhớ có sẵn, biểu đồ dataflow khai thác nhiều hình thức song song.

Khách hàng đang sử dụng DataRush để phân tích dữ liệu lớn và chuẩn bị dữ liệu (ETL).

1

Chúng tôi đã làm một số khác: bảng tính cộng tác với giao diện người dùng MySQL/PHP và giao diện AJAX. Phần mềm đang ở trạng thái beta, tài liệu đang được xây dựng.

+0

Bạn có liên kết trang web mà tôi có thể truy cập để đọc về nó không? – Zubair

+0

Chưa. Tôi đang viết tài liệu này, và có những vấn đề nhỏ. Unfortunatelly, nó đòi hỏi một "công việc nền", được viết bằng PHP, phải bắt đầu sau mỗi giây, mà hầu hết các dịch vụ lưu trữ không hỗ trợ (bao gồm cả dịch vụ của chúng tôi), vì vậy nó là một thách thức để hiển thị trên internet, nhưng chúng tôi phải * giải quyết nó. – ern0

Các vấn đề liên quan