1. INTRODUCTIONWhen teaching concurrent and distributed programming, i dịch - 1. INTRODUCTIONWhen teaching concurrent and distributed programming, i Việt làm thế nào để nói

1. INTRODUCTIONWhen teaching concur

1. INTRODUCTION
When teaching concurrent and distributed programming, it is extremely
important that you demonstrate to students the strange behavior that such
programs can show. For concurrent programming, acceptable software has
been available for quite some time. Concurrency simulators [Ben-Ari 1983;
Burns and Davies 1993] are excellent for demonstrating concurrent programming
concepts. Programming languages like Ada 95 and Java that
support concurrency make it easy to write portable programs for advanced
algorithms.
Demonstrating distributed programs is much more difficult. Almost by
definition, such programs should be run on separate CPUs, but multiprocessorcomputers are still rare. While networks are common, it may be difficult to
schedule time for demonstrations or homework assignments. In addition,
network programming is tricky and nonportable, more suitable for large
projects than for ordinary coursework. In Ben-Ari [1990] (see also Ben-Ari
[1996]), I showed how distributed algorithms can be simulated using Ada
tasks; but in the implementations it was hard to distinguish between tasks
that are simulating distributed nodes and those that are used for concurrency
within a node. My next approach was to construct portable software
systems that would enable students to write programs for distributed
algorithms, while hiding the communications details [Tzruya and Ben-Ari
1998; Ben-Ari and Silverman 1999]. Hartley [1998] also advocates this
approach. Though technically successful, I was never satisfied with these
systems, since the educational requirement is not so much to write programs
but to understand and analyze distributed algorithms.
This article describes DAJ (Distributed Algorithms in Java), which is a
framework for writing portable Java programs that implement distributed
algorithms. The programs automate the display of the nodes’ internal
states, but require that the student create scenarios step-by-step. Using the
framework makes implementing another algorithm elementary, only requiring
facility in general Java programming. The GUI programming (and
the communications programming in the earlier version) are completely
encapsulated.
The article is organized as follows: Section 2 describes the pedagogical
and technical rationale behind the development of DAJ. Section 3 explains
how to run a program, using the Byzantine generals algorithm as an
example. Section 4 gives details of the structure of the software system.
The article concludes with a discussion of two systems for animation of
distributed algorithms.
An archive including source, class, and documentation files is available
from the author’s website and from the Computer Science Teaching Center
,http://www.cstc.org..
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
1. GIỚI THIỆUKhi giảng dạy đồng thời và phân phối chương trình, nó là vô cùngquan trọng rằng bạn chứng minh cho học sinh hành vi lạ rằng nhữngchương trình có thể hiển thị. Đối với chương trình đồng thời, chấp nhận được phần mềm cóđược sẵn sàng cho thời gian khá lâu. Mô phỏng concurrency [Ben-Ari 1983;Bỏng và Davies 1993] là tuyệt vời cho trình diễn đồng thời lập trìnhkhái niệm. Ngôn ngữ lập trình như Ada 95 và Java màhỗ trợ concurrency làm cho nó dễ dàng để viết chương trình di động để nâng caothuật toán.Thể hiện mức độ chương trình phân phối là khó khăn hơn. Hầu như bằngđịnh nghĩa, các chương trình như vậy nên được chạy trên CPU riêng biệt, nhưng multiprocessorcomputers vẫn còn ít. Trong khi các mạng được phổ biến, nó có thể được khó khăn đểlịch thời gian cho các cuộc biểu tình hoặc bài tập về nhà. Ngoài ralập trình mạng là khôn lanh và nonportable, phù hợp hơn cho lớndự án hơn cho các khóa học bình thường. Ở Ben-Ari [1990] (xem Ben-Ari[1996]), tôi đã cho thấy làm thế nào phân phối các thuật toán có thể được mô phỏng bằng cách sử dụng Adanhiệm vụ; nhưng việc triển khai khó có thể phân biệt giữa nhiệm vụđó mô phỏng phân phối nút và những người được sử dụng cho concurrencytrong vòng một nút. Phương pháp tiếp cận kế tiếp của tôi là xây dựng phần mềm xách tayHệ thống sẽ cho phép sinh viên viết chương trình cho phân phốithuật toán, trong khi ẩn các thông tin chi tiết [Tzruya và Ben-Arinăm 1998; Ben-Ari và Silverman 1999]. Hartley [1998] cũng chủ trương nàyphương pháp tiếp cận. Mặc dù về mặt kỹ thuật thành công, tôi đã không bao giờ hài lòng với nhữngHệ thống, từ yêu cầu giáo dục không phải là quá nhiều để viết chương trìnhnhưng để hiểu và phân tích thuật toán phân phối.Bài viết này mô tả DAJ (phân phối các thuật toán trong Java), là mộtkhuôn khổ cho văn bản di động chương trình Java mà thực hiện phân phốithuật toán. Các chương trình tự động hóa việc hiển thị các nút bên trongtiểu bang, nhưng đòi hỏi rằng học sinh tạo ra kịch bản từng bước. Bằng cách sử dụng cácKhung làm cho việc thực hiện một thuật toán tiểu học, chỉ yêu cầucơ sở ở chung lập trình Java. Lập trình GUI (vàtruyền thông lập trình trong các phiên bản trước đó) là hoàn toànđóng gói.Bài viết được tổ chức như sau: phần 2 mô tả các sư phạmvà các lý do kỹ thuật đằng sau sự phát triển của DAJ. Giải thích phần 3làm thế nào để chạy một chương trình, bằng cách sử dụng các thuật toán Byzantine tướng như mộtVí dụ. Mục 4 cung cấp cho các chi tiết cấu trúc của hệ thống phần mềm.Bài viết kết thúc với một cuộc thảo luận của hai hệ thống cho các hoạt hình củathuật toán phân phối.Một kho lưu trữ bao gồm các tập tin nguồn, lớp học, và tài liệu có sẵntừ trang web của tác giả và từ Trung tâm giảng dạy khoa học máy tính, http://www.cstc.org...
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
1. GIỚI THIỆU
Khi dạy lập trình đồng thời và phân phối, nó là vô cùng
quan trọng là bạn chứng minh cho học sinh những hành vi kỳ lạ như vậy
chương trình có thể hiển thị. Đối với lập trình đồng thời, phần mềm chấp nhận được đã
được sẵn sàng cho một số thời gian khá. Mô phỏng đồng thời [Ben-Ari 1983;
Burns và Davies 1993] là tuyệt vời để chứng minh lập trình đồng thời
khái niệm. Ngôn ngữ lập trình như Ada 95 và Java
hỗ trợ đồng thời làm cho nó dễ dàng để viết các chương trình di động cho tiến
thuật toán.
Thể hiện chương trình phân phối là nhiều khó khăn hơn. Hầu như bằng
định nghĩa, các chương trình như vậy cần được chạy trên các CPU riêng biệt, nhưng multiprocessorcomputers cũng rất hiếm. Trong khi các mạng là phổ biến, nó có thể khó khăn để
sắp xếp thời gian cho các cuộc biểu tình hoặc bài tập về nhà. Ngoài ra,
lập trình mạng là khó khăn và nonportable, phù hợp hơn cho lớn
các dự án hơn cho các khóa học thông thường. Trong Ben-Ari [1990] (xem thêm Ben-Ari
[1996]), tôi thấy làm thế nào các thuật toán phân tán có thể được mô phỏng sử dụng Ada
nhiệm vụ; nhưng trong việc triển khai rất khó để phân biệt giữa các tác vụ
được mô phỏng các nút phân phối và những người được sử dụng để đồng thời
trong vòng một nút. Phương pháp tiếp theo của tôi là xây dựng phần mềm di động
hệ thống sẽ cho phép học sinh viết chương trình cho phân phối
các thuật toán, trong khi ẩn các chi tiết thông tin liên lạc [Tzruya và Ben-Ari
năm 1998; Ben-Ari và Silverman 1999]. Hartley [1998] cũng ủng hộ này
cách tiếp cận. Mặc dù thành công về mặt kỹ thuật, tôi đã không bao giờ hài lòng với những
hệ thống, kể từ khi yêu cầu giáo dục không phải là quá nhiều để viết các chương trình
nhưng để hiểu và phân tích thuật toán phân tán.
Bài viết này mô tả DAJ (Algorithms phân tán trong Java), mà là một
khuôn khổ để viết Java di động chương trình thực hiện phân phối
các thuật toán. Các chương trình tự động hiển thị của nội bộ của các nút
tiểu bang, nhưng yêu cầu học sinh tạo ra các kịch bản bước từng bước. Sử dụng
khung làm cho việc thực hiện một tiểu thuật toán, chỉ cần
cơ sở trong lập trình Java nói chung. Các giao diện lập trình (và
các chương trình thông tin liên lạc trong các phiên bản trước đó) được hoàn toàn
đóng gói.
Bài báo được tổ chức như sau: Phần 2 mô tả các vụ sư phạm
và lý do kỹ thuật đằng sau sự phát triển của DAJ. Mục 3 giải thích
làm thế nào để chạy một chương trình, sử dụng các thuật toán tướng Byzantine là một
ví dụ. Phần 4 sẽ cho thông tin chi tiết về cấu trúc của các hệ thống phần mềm.
Bài viết kết luận bằng một cuộc thảo luận của hai hệ thống hình ảnh động của
thuật toán phân tán.
Một kho lưu trữ bao gồm nguồn, lớp học, và các tập tin tài liệu có sẵn
từ trang web của tác giả và từ Trung tâm Dạy Khoa học Máy tính
, http: //www.cstc.org ..
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: