RSS

Chương 1 (cont): Example (p2)

06 Jun

Đây là một vài ví dụ “vertical” hơn mà ở đó domain-specific development có thể được áp dụng.

Software Defined Circuitry

Nhiều sản phẩm điện tử có circuitry được lập trình bằng cách dùng phần mềm. Ví dụ, các FPGA (Field Programable Gate Arrays) là các chip có thể lập trình được sử dụng trong các lĩnh vực như software defined radio, xử lý tính hiệu số, mô tả hình tượng y khoa và nhận dạng giọng nói. Lập trình các chip như thế một cách trực tiếp trong Hardware Description Language (HDL) (ngôn ngữ mô tả phần cứng) của chúng là một nhiệm vụ ở mức thấp và đòi hỏi phải rất cẩn thận. Hướng tiếp cận Domain-Specific Development có thể được sử dụng để nâng mức độ trừu tượng cho tới khi nó thể hiện một cách trực tiếp hơn domain được cài đặt; ví dụ, một DSL hướng tới software defined radio được thảo luận trong một bài báo bởi Bruce Track của PrismTech tại http://www.mil-embedded.com/articles/authors/track/.

Embedded Systems

Nhiều hệ thống nhúng thời gian thực có thể được khái niệm hóa như là một tập hợp các communicating finite state machine (cỗ máy trạng thái có giới hạn liên lạc). Tách biệt sự thiết kế của các hệ thống này vào các explicit state machine, cộng với một platform tổng quát cho các executing state machine có thể đơn giản hóa rất nhiều việc nghĩ về các hệ thống như thế. Trong trường hợp này, DSL là một ngôn ngữ cho việc thể hiện các state machine bao gồm các state và các transition giữa chúng¸trong khi execution platform (platform thực thi) thì hầu như được build sử dụng custom code.

Device Interfaces

Nhiều thiết bị hiện đại, như điện thoại di động, thiết bị HiFi, và v.v…, có các giao diện người dung phức tạp. Các giao diện này được tổ chức một cách điển hình thông qua các luật mà làm cho giao diện có thể tiên đoán được, như một luật mà nhấn một nút cancel luôn luôn dẫn bạn về một trạng thái đã biết, hay input text luôn luôn theo sau cùng một tập các rule dự đoán trước. Một DSL có thể được tạo ra cho việc thiết kế các hệ thống như thế, mà diện mạo đồ họa của ngôn ngữ tương ứng một cách chính xác với diện mạo của giao diện thực sự được thiết kế, và các luật tương tác tác của giao diện được capture trong cấu trúc của ngôn ngữ. Các ví dụ hay của hướng tiếp cận này có thể tìm thấy tại Domain-Specific Modeling Forum website tại http://www.dsmforum.org.

Software Development Process Customization

Ví dụ được sử dụng xuyên suốt cuốn sách này để minh họa DSL Tools trình bày làm thế nào sử dụng các DSL để định nghĩa các khía cạnh của tiến trình phát triển phần mềm, như việc xử lý các bug và issue, và làm thế nào sử dụng model để cấu hình các công cụ để thực thi tiến trình.

Tất cả những ví dụ này và nhiều ví dụ khác chia sẻ cùng một hướng tiếp cận:

(1) chỉ ra các khía cạnh của vấn đề mà cố định cho tất cả các sự xuất hiện và capture những khía cạnh đó trong một framework hay platform chung.

(2) chỉ ra các khía cạnh khác mà biến đổi giữa các sự xuất hiện và việc thiết kế một Domain-Specific Language mà các biểu thức hay model của nó sẽ chỉ một giải pháp cho vấn đề.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: