Ngôn ngữ rồng - hướng dẫn. Lập trình trực quan bằng ngôn ngữ rồng

Bạn đã nghe nói gì về ngôn ngữ lập trình DRAGON chưa? Chúng tôi không. Nhưng độc giả của chúng tôi khẳng định rằng DRAGON đã được đưa vào chương trình giảng dạy môn khoa học máy tính ở trường trung học.

Bạn đã nghe nói gì về ngôn ngữ lập trình DRAGON chưa? Chúng tôi không. Nhưng độc giả của chúng tôi khẳng định rằng DRAGON đã được đưa vào chương trình giảng dạy môn khoa học máy tính ở trường trung học. Chính tả và dấu câu của tác giả đã được giữ nguyên. - khoảng. biên tập.

Năm 1976, tại Liên Xô, trong điều kiện bí mật nghiêm ngặt nhất, việc phát triển tàu vũ trụ vận tải có thể tái sử dụng Buran bắt đầu như một phần của dự án Buran-Energia. Đó là một dự án lớn. 86 bộ, ngành và 1.286 doanh nghiệp của Liên Xô (tổng cộng khoảng 2,5 triệu người) đã tham gia vào việc thành lập tổ chức này.

Buran thực hiện chuyến bay vào vũ trụ đầu tiên và duy nhất vào ngày 15 tháng 11 năm 1988. Con tàu quỹ đạo được phóng từ Sân bay vũ trụ Baikonur bằng phương tiện phóng Energia. Sau khi bay vòng quanh Trái đất, Buran hạ cánh xuống sân bay Yubileiny được trang bị đặc biệt ở Baikonur. Chuyến bay diễn ra không có phi hành đoàn, ở chế độ hoàn toàn tự động. Không giống như American Shuttle, chỉ có thể hạ cánh bằng điều khiển thủ công. Do sự sụp đổ của Liên Xô và những khó khăn của thời kỳ chuyển tiếp, công việc trong chương trình Energia-Buran đã bị đình chỉ vào năm 1990 và đến năm 1993, chương trình này cuối cùng đã bị đóng cửa.

Phát triển ngôn ngữ lập trình cho Buran

Trong quá trình phát triển Buran, vấn đề phát triển và thử nghiệm phần mềm được coi là một trong những vấn đề khó khăn nhất. Ban đầu người ta cho rằng sẽ cần đến hàng nghìn lập trình viên để giải quyết vấn đề. Cần lưu ý rằng các lập trình viên của chúng tôi đã quen với việc viết chương trình bằng trình biên dịch chương trình, vì dung lượng bộ nhớ của máy tính tích hợp Biser-4 vào thời điểm đó rất hạn chế.

Trong tài liệu của Viện Toán ứng dụng mang tên. MV Keldysh RAS nói về những khó khăn và thành tựu của thời kỳ đó như sau:

"Năm 1983, các nhà phát triển tàu vũ trụ Buran đã tìm đến Viện [Toán ứng dụng] với yêu cầu giúp phát triển phần mềm trên tàu và phần mềm để thử nghiệm con tàu trên mặt đất. Theo ước tính của họ, cần có vài nghìn lập trình viên cho việc này Sau khi nghiên cứu vấn đề, người ta quyết định phát triển các ngôn ngữ hướng vấn đề dựa trên các thuật ngữ, khái niệm và hình thức trình bày các thuật toán điều khiển và thử nghiệm được các nhà phát triển tàu sử dụng. chính các nhà phát triển tàu - tác giả của các thuật toán điều khiển và thử nghiệm - trong việc tạo ra phần mềm thử nghiệm và trên tàu. Việc phát triển ngôn ngữ và các công cụ tương ứng được thực hiện bởi một nhóm nhỏ các lập trình viên có trình độ cao của Viện Toán ứng dụng trong thời gian cực ngắn. Để phát triển phần mềm tích hợp, một ngôn ngữ thời gian thực chuyên dụng PROL2 đã được tạo ra và một hệ thống tự động hóa việc lập trình và gỡ lỗi SAPO PROL2 dựa trên nó... Để phát triển phần mềm cho các bài kiểm tra mặt đất của máy ship, ngôn ngữ định hướng vấn đề DIPOL và hệ thống tự động lập trình và gỡ lỗi dựa trên nó"…

Như vậy, để giải quyết vấn đề thiếu lập trình viên khi tạo Buran, theo yêu cầu của chúng tôi, Viện Toán ứng dụng thuộc Viện Hàn lâm Khoa học Nga đã tạo ra hai ngôn ngữ tiếng Nga:

  • ngôn ngữ thời gian thực PROL2 để phát triển các chương trình tích hợp trên tàu (tác giả Viktor Kryukov)
  • ngôn ngữ định hướng vấn đề để phát triển chương trình thử nghiệm mặt đất DIPOL (tác giả Vladimir Lutsikovich)

Ngoài ra, ngôn ngữ LAX dành cho mô hình hóa đã được phát triển tại Trung tâm Pilyugin dưới sự lãnh đạo của Konstantin Fedorov. Do đó, ba ngôn ngữ mới đã xuất hiện: PROL2, DIPOL và LAX.

Ngôn ngữ RỒNG được sinh ra trong chiếc nôi vũ trụ

Mặc dù các ngôn ngữ đã giải quyết thành công vấn đề của họ, nhưng rõ ràng là sự chuyên môn hóa hạn hẹp của các ngôn ngữ đang cản trở quá trình này. Ý tưởng này được thể hiện vào năm 1986 bởi người đứng đầu bộ phận phức hợp, Yury Trunov (sau này là Tổng thiết kế và Tổng giám đốc của Trung tâm Pilyugin). Trunov đã triệu tập Vladimir Paronjanov, người đứng đầu phòng thí nghiệm phát triển tích hợp hệ thống máy tính Buran và hướng dẫn ông tạo ra một ngôn ngữ phổ quát có thể thay thế ba ngôn ngữ nêu trên. Tuy nhiên, Paronjanov quyết định đặt ra vấn đề theo cách khác. Ông tin rằng ngôn ngữ mới không chỉ đáp ứng nhu cầu thực tế của công nghệ vũ trụ mà còn giải quyết được rất nhiều vấn đề vượt xa phạm vi lập trình truyền thống.

Về vấn đề này, khi tạo ra ngôn ngữ DRAGON, những yêu cầu nhân đạo vốn không bình thường đối với các lập trình viên, nhà toán học và “kỹ thuật viên” đã được đặt ra.

1. Cải thiện hoạt động của tâm trí con người.
2. Đề xuất các phương tiện hiệu quả để mô tả cấu trúc hoạt động của con người.
3. Cung cấp cho một người các công cụ ngôn ngữ giúp đơn giản hóa đáng kể nhận thức về các vấn đề thủ tục phức tạp và giao tiếp với đồng nghiệp, làm cho những điều khó hiểu trở nên dễ hiểu và do đó, buộc một người phải suy nghĩ rõ ràng, sâu sắc và hiệu quả theo đúng nghĩa đen. Trong những điều kiện này, khả năng xảy ra những quan niệm sai lầm, tính toán sai lầm và sai lầm chắc chắn sẽ giảm đi và năng suất sẽ tăng lên.
4. Tạo điều kiện thuận lợi triệt để cho giao tiếp liên ngành và liên ngành giữa đại diện của các tổ chức, phòng, ban, phòng thí nghiệm, trường khoa học và ngành nghề khác nhau.
5. Loại bỏ hoặc giảm bớt rào cản hiểu lầm lẫn nhau giữa những người lao động thuộc nhiều chuyên ngành khác nhau (bác sĩ và nhà vật lý, nhà toán học và nhà thiết kế, nhà sinh vật học và nhà kinh tế, v.v.), cũng như các lập trình viên và những người dị ứng với bất kỳ chương trình nào.
6. Đạt được sự cải thiện căn bản về chất lượng phần mềm theo tiêu chí “khả năng hiểu được các thuật toán và chương trình”.

Phát triển ngôn ngữ DRAGON và phần mềm của nó

Sự phát triển của một ngôn ngữ và hệ thống lập trình mới bắt đầu vào năm 1986. Sau 11 năm, một công nghệ tự động thiết kế các thuật toán và chương trình (công nghệ CASE) có tên “GRAPHITE-FLOX” đã được xây dựng trên cơ sở DRAGON.

Tất cả công việc được hoàn thành vào năm 1996. Sau đó ngôn ngữ DRAGON và hệ thống GRAPHITE-FLOX đi vào hoạt động. Với sự giúp đỡ của họ, các thuật toán và chương trình cho mô-đun tiền tăng tốc của tàu vũ trụ thuộc dự án Phóng biển Quốc tế đã được phát triển. Tổng cộng, phải mất ba năm để phát triển và thử nghiệm phần mềm cũng như các thành phần khác của hệ thống điều khiển. Đến năm 1999, mọi công việc đã hoàn thành. Hệ thống đã sẵn sàng để bắt đầu.

Vụ phóng đầu tiên của hệ thống tên lửa Sea Launch diễn ra vào ngày 28/3/1999. Nó xảy ra lúc 5 giờ. 30 phút. Giờ Moscow (ngày 27 tháng 3 năm 1999 lúc 6:30 chiều theo giờ Thái Bình Dương) từ bệ phóng Odyssey ở Thái Bình Dương gần Quần đảo Kiribati.

Lần ra mắt này là một lễ rửa tội cho ngôn ngữ DRAGON và công nghệ tạo ra các chương trình Graphite-Phlox. Ông đã chứng minh một cách thuyết phục tính hiệu quả và độ tin cậy của chúng. Kể từ đó, 29 vụ phóng tên lửa đã được thực hiện theo chương trình Phóng trên biển. Lần phóng cuối cùng diễn ra vào ngày 24 tháng 9 năm 2008. Ngôn ngữ DRAKON được sử dụng thành công trong nhiều chương trình không gian khác:

  • Giai đoạn trên của tàu vũ trụ Fregat;
  • xe phóng Proton-M hiện đại hóa;
  • mô-đun tiền tăng tốc cho tàu vũ trụ DM-SL-B (dự án “Bắt đầu trên sa mạc” hay “Phóng mặt đất”), v.v.

Do kết quả sử dụng Dragon luôn cao nên ban quản lý Trung tâm Pilyugin đã quyết định sử dụng công nghệ Dragon trong tất cả các dự án tiếp theo.

Lập trình không cần lập trình viên

DRAGON là một ngôn ngữ rất dễ dàng. Dễ dàng đến mức việc phát triển nhiều chương trình máy tính cho tên lửa vũ trụ trên thực tế không phải do các lập trình viên mà do các kỹ sư thực hiện - theo nguyên tắc “lập trình mà không cần người lập trình”. Lý do bỏ rơi lập trình viên rất đơn giản. Khi giải quyết các vấn đề ứng dụng thực tế, các kỹ sư có kiến ​​thức sâu sắc về vật liệu và nhận thức rõ về cách trình bày vấn đề. Ngược lại, các lập trình viên không biết “tính chất vật lý của quy trình” và trở thành “người bổ sung”, không có ai trong một số trường hợp (mặc dù không phải lúc nào cũng vậy) vẫn có thể làm được mà không cần.

Điều này cho phép bạn giảm đáng kể chi phí, cải thiện tỷ lệ chi phí trên kết quả và đẩy nhanh tiến độ công việc. Và loại bỏ hoàn toàn lỗi “điện thoại hỏng” do hiểu lầm lẫn nhau giữa lập trình viên và kỹ sư.

Bí quyết phát triển không gian - cho nền kinh tế quốc dân

RỒNG là phổ quát. Nó có thể được sử dụng để biểu diễn trực quan và phát triển nhanh chóng các thuật toán không chỉ trong “không gian”, mà còn trong các loại hoạt động “trên mặt đất” của con người. Tính hữu ích thực tế của DRAGON được đánh giá cao. Có thể giả định rằng ngôn ngữ DRAGON sẽ trở nên phổ biến ở nhiều lĩnh vực khác nhau, bao gồm cả hệ thống giáo dục. Có một thời, Niklaus Wirth, tác giả của ngôn ngữ Pascal, tin rằng Pascal nên là ngôn ngữ đầu tiên để bắt đầu học lập trình. Quan điểm này gần như đã được chấp nhận rộng rãi.

Vào thời điểm đó, các chương trình được viết dưới dạng văn bản. Đối với lập trình văn bản, Pascal thực sự là ngôn ngữ học tập tốt nhất.

Tuy nhiên, ngày nay tình hình đã thay đổi. Tương lai thuộc về các ngôn ngữ công thái học. Trong những điều kiện đó, ông nội Pascal đã mất đi vinh quang trước đây là một công cụ giáo dục xuất sắc.

Ngày nay vai trò này được chuyển sang ngôn ngữ hình ảnh DRAGON. DRAGON trở thành ngôn ngữ đơn giản nhất, dễ dàng nhất, thuận tiện nhất và hài hòa về mặt logic nhất để bắt đầu nghiên cứu thuật toán và lập trình.

Rồng trong hệ thống giáo dục

Năm 1996, Ủy ban Giáo dục Đại học Nhà nước Liên bang Nga đã đưa việc nghiên cứu ngôn ngữ DRAKON vào chương trình giảng dạy môn khoa học máy tính ở trường trung học. Thực tế này được phản ánh trong văn bản của Ủy ban Nhà nước về các cơ sở giáo dục đại học có tựa đề:

Hiện nay, sách giáo dục dành cho cấp THCS và THPT đang được chuẩn bị. Cuốn đầu tiên trong số đó đã được xuất bản - sách giáo khoa trò chơi dành cho trẻ em ở độ tuổi trung học cơ sở.

Chỉnh sửa lần cuối bởi PBworks 12 năm, 3 tháng trước

ĐIỂM NỔI BẬT CỦA RỒNG NGÔN

PHÊ CHUẨN VỀ SƠ ĐỒ DÒNG CHUYỂN

Một công cụ hiệu quả để cải thiện tính dễ hiểu của các thuật toán là trực quan hóa quá trình lập trình và các sơ đồ trước đó đã được sử dụng cho mục đích này. Tuy nhiên, sơ đồ gần đây đã bị chỉ trích. Những người phản đối sơ đồ cho rằng chúng không phù hợp với lập trình có cấu trúc, không thể chính thức hóa và do đó “không thể được sử dụng làm chương trình để nhập trực tiếp vào máy”. Chúng chiếm nhiều trang và “có thể nhập rất ít thông tin vào các ô của sơ đồ”. Lưu đồ “làm suy giảm khả năng học tập và giảm hiệu suất đọc hiểu.” Ngoài ra, chúng không thuận tiện cho tất cả mọi người - làm việc với sơ đồ chỉ được ưa thích bởi “những cá nhân có bán cầu não trái, thiên về thông tin trực quan, trực quan, nhận dạng mẫu”, nhưng chúng lại bị “những cá nhân có bán cầu não trái, định hướng” tránh. thiên về thông tin bằng lời nói, thiên về lý luận suy diễn”, v.v.

Mặc dù lưu đồ là công cụ được sử dụng rộng rãi nhất trước năm 1980 nhưng ngày nay chúng “không còn được coi là cần thiết và đang ngày càng ít phổ biến”. Mặc dù có những nỗ lực riêng lẻ để điều chỉnh lưu đồ cho phù hợp với nhu cầu hiện đại (ngôn ngữ SDL, v.v.), nhưng nhìn chung, lưu đồ rõ ràng đã đứng ngoài quá trình trực quan hóa lập trình đang phát triển nhanh chóng và khả năng tiềm tàng to lớn của chúng không thực sự được sử dụng. Ngôn ngữ DRAGON cho phép bạn loại bỏ hoặc làm suy yếu đáng kể những thiếu sót đã lưu ý của sơ đồ khối.

Để chỉ định các sơ đồ được xây dựng theo quy tắc của ngôn ngữ DRAKON, thuật ngữ “sơ đồ rồng” được sử dụng.

ƯU ĐIỂM CỦA CHƯƠNG TRÌNH DRAGON

Sơ đồ rồng khác với sơ đồ dòng chảy như thế nào? Lưu đồ không tự động dịch thuật toán sang mã máy. Ngược lại, các sơ đồ rồng phù hợp để ghi chính thức, tự động nhận mã và thực thi mã trên máy tính. Tuy nhiên, sự khác biệt thứ hai (về nhận thức) quan trọng hơn. Mặc dù lưu đồ đôi khi cải thiện tính dễ hiểu của chương trình nhưng điều này không phải lúc nào cũng xảy ra và mức độ cải thiện là nhỏ. Ngoài ra, có nhiều trường hợp sơ đồ thực hiện kém trở nên khó hiểu, khó hiểu. Ngược lại, các sơ đồ rồng đáp ứng tiêu chí về khả năng hiểu cực cao.

Nhờ sử dụng các kỹ thuật nhận thức chính thức và không chính thức đặc biệt, sơ đồ rồng có thể mô tả giải pháp cho bất kỳ vấn đề công nghệ nào, dù phức tạp đến đâu, ở dạng cực kỳ rõ ràng, trực quan và dễ hiểu, có thể làm giảm đáng kể nỗ lực trí tuệ của nhân viên. cần thiết cho nhận thức trực quan, hiểu biết, xác minh và giải quyết các vấn đề không có lỗi.

BIỂU TƯỢNG VÀ MACROICO

Các phần tử đồ thị (chữ cái đồ họa) của ngôn ngữ DRAGON được gọi là biểu tượng (Hình 1). Giống như các chữ cái được kết hợp thành từ, các biểu tượng được kết hợp thành các biểu tượng ghép - biểu tượng vĩ mô(Hình 2).

Bằng cách kết nối các biểu tượng và macroicon theo các quy tắc nhất định, bạn có thể xây dựng các thuật toán khác nhau, ví dụ được hiển thị trong Hình. 3, 4, 6, 8-11.

Khối xiên- một phần của mạch rồng, có một lối vào từ trên và một lối ra từ bên dưới, nằm trên cùng một đường thẳng đứng. Ví dụ về khối xiên là các biểu tượng I3 - I10, I12 - I16, I18, I20, I21 (Hình 1) và macroicons 2-20 (Hình 2).

TẠI SAO BẠN CẦN MỘT CHI NHÁNH?

Khi Công chúa Anne ly hôn với Hầu tước Le Chatelier, tranh chấp nảy sinh về việc phân chia tài sản. Thẩm phán yêu cầu chỉ ra những giao dịch mua nào mà công chúa đã thực hiện trước khi kết hôn và những giao dịch nào sau đó.

Bây giờ chúng ta hãy quên đi bi kịch gia đình này và so sánh hạt gạo với nhau. 3a và 3b. Dễ dàng nhận thấy điều đầu tiên không cho phép trả lời câu hỏi của giám khảo. Đối với thứ hai, ngược lại, nó chứa đựng những thông tin cần thiết. Hơn nữa, thuật toán trong Hình. 3b được cố tình rút ra để các giao dịch mua trước và sau hôn nhân được phân chia rõ ràng thành hai danh sách. Các danh sách này được phân tách trực quan và không gian, do đó việc chia thuật toán thành hai phần, bất kể ý muốn của người đọc, thực sự gây ấn tượng. Kỹ thuật này được gọi là chia thuật toán thành các phần ngữ nghĩa theo nguyên tắc “Tôi đã xem và nó ngay lập tức trở nên rõ ràng!” Và bản thân các khối ngữ nghĩa được gọi là chi nhánh.

Từ “nhánh” có hai nghĩa. Một mặt, đây là một “phần” ngữ nghĩa của thuật toán. Ví dụ, thuật toán trong hình. 3b có hai nhánh (“Mua sắm trước hôn nhân” và “Mua sắm sau hôn nhân”). Trong bộ lễ phục. 4 - bốn nhánh (“Chuẩn bị câu cá”, “Chờ miếng ăn”, “Công việc câu cá”, “Trở về”). Mặt khác, nhánh là một toán tử ghép của ngôn ngữ DRAGON, không có ngôn ngữ tương tự trong các ngôn ngữ đã biết. Toán tử “nhánh” bao gồm ba phần: bắt đầu chủ đề(biểu tượng “tên chi nhánh”), cơ quan chi nhánh(có thể chứa một số lượng lớn các biểu tượng) và cuối nhánh(có chứa một hoặc nhiều biểu tượng “địa chỉ” hoặc biểu tượng “kết thúc”).

Vậy tại sao chúng ta cần một chi nhánh? Để giúp nhân viên tri thức, lập trình viên và nhà phát triển công nghệ chính thức hóa việc phân chia ngữ nghĩa của một vấn đề, chương trình hoặc quy trình kỹ thuật thành các phần và đặt tên ngữ nghĩa thuận tiện cho các phần đó. Đồng thời, chia vấn đề thành N phần ngữ nghĩa được thực hiện bằng cách chia thuật toán thành N chi nhánh.

CHI NHÁNH HOẠT ĐỘNG NHƯ THẾ NÀO?

Một nhánh có một đầu vào và một hoặc nhiều đầu ra. Đầu vào là biểu tượng “tên chi nhánh”, chứa ID chi nhánh. Toán tử trực quan “tên nhánh” không thực hiện bất kỳ hành động nào, nó chỉ là một nhãn khai báo tên của phần ngữ nghĩa của chương trình. Việc thực thi thuật toán rồng luôn bắt đầu từ nhánh ngoài cùng bên trái (Hình 3, 4).

Lối ra từ một nhánh là biểu tượng “địa chỉ”, trong đó ghi tên của nhánh tiếp theo theo thứ tự thực hiện. Biểu tượng “địa chỉ” là một toán tử chuyển tiếp được ngụy trang (goto), nhưng nó không chuyển quyền điều khiển đi bất cứ đâu mà chỉ đến đầu nhánh đã chọn. Việc vào một nhánh chỉ có thể thực hiện được thông qua sự bắt đầu của nó. Việc thoát khỏi nhánh cuối cùng được thực hiện thông qua biểu tượng “kết thúc”.

CÁCH NÊN ĐẶT CHI NHÁNH TRONG TRƯỜNG BẢN VẼ NHƯ THẾ NÀO?

Các nhánh được sắp xếp theo hai cách: logic và không gian. Hợp lý Trình tự thực hiện các nhánh được xác định bởi các dấu được ghi trong biểu tượng “địa chỉ”. Tuy nhiên, trật tự hợp lý không phải là tất cả. Trong bộ lễ phục. 5 cho thấy ba phương pháp khác nhau không gian vị trí của các nhánh có cùng thứ tự logic. Để loại bỏ sự mơ hồ về không gian và tạo điều kiện cho sự hiểu biết về ý nghĩa của sơ đồ rồng, quy tắc “càng về bên phải, càng về sau” được đưa ra. Nó có nghĩa là: nhánh bên phải hoạt động muộn hơn tất cả các nhánh bên trái.

Một thuật toán được vẽ theo quy tắc “càng về bên phải thì càng về sau” được coi là tốt và tiện dụng (Hình 5c). Các chương trình vi phạm quy tắc này sẽ bị coi là xấu (Hình 5a, b) và việc sử dụng chúng bị cấm.

Trong các thuật toán được phép (công thái học), thứ tự vận hành sau diễn ra (Hình 3, 4, 5c, 6a):

  • Nhánh ngoài cùng bên trái làm việc trước, nhánh ngoài cùng bên phải làm việc;
  • các nhánh còn lại chuyển quyền điều khiển cho nhau từ trái qua phải (có thể xảy ra trường hợp một số nhánh bị bỏ qua);
  • đôi khi cái gọi là “chu kỳ nhánh” được hình thành. Điều này xảy ra khi biểu tượng “địa chỉ” chứa tên của nhánh riêng hoặc một trong các nhánh bên trái. Trong bộ lễ phục. 4 và 6a, chu kỳ nhánh được đánh dấu bằng hình tam giác màu đen.

MŨ LÀ GÌ?

Theo quan điểm của người đọc, bất kỳ thuật toán không tầm thường nào không quen thuộc hoặc bị lãng quên đều là một vấn đề cực kỳ khó khăn mà anh ta đang cố gắng hết sức để hiểu, vượt qua “sức đề kháng mạnh mẽ của vật liệu”. Để đơn giản hóa vấn đề và tạo điều kiện thuận lợi cho nhiệm vụ tìm hiểu, người đọc cần phải “nhìn thấy ánh sáng” và sau khi chia vấn đề thành nhiều phần, hãy xem cấu trúc ngữ nghĩa của nó theo lĩnh vực chủ đề. Hơn nữa, tôi nhìn thấy nó không phải theo nghĩa bóng của từ này, không phải nhờ sự trợ giúp của trí tưởng tượng, không phải bằng con mắt tâm linh, mà bằng chính đôi mắt của tôi - trên giấy hoặc trên màn hình.

Nhưng làm thế nào để làm điều đó? Khó khăn là không có ngôn ngữ nào hiện có cung cấp cho người đọc đang nghiên cứu một chương trình hoặc công nghệ phức tạp sự trợ giúp hiệu quả cho phép anh ta hiểu ngay lập tức (trong vài giây) cấu trúc của nó, tức là chia thành các khối ngữ nghĩa. Ngôn ngữ DRAGON có các công cụ đặc biệt cung cấp giải pháp cho vấn đề.

Tiêu đề là phần trên của sơ đồ rồng (Hình 4), bao gồm tiêu đề của thuật toán và một tập hợp các biểu tượng “tên nhánh”. Mục đích của tiêu đề là giúp người đọc ngay lập tức (không quá vài giây) điều hướng vấn đề và nhận được gợi ý mạnh mẽ - câu trả lời cho ba câu hỏi quan trọng nhất:

  1. tên của vấn đề là gì?
  2. Nó bao gồm bao nhiêu phần?
  3. tên từng phần là gì?

Rốt cuộc, chính với những câu hỏi này, việc làm quen của chúng ta với bất kỳ nhiệm vụ nào đều bắt đầu bằng cách tiếp cận vấn đề một cách hợp lý.

Dưới đây là câu trả lời cho hình. 4.

  • Tên của vấn đề là gì?Đánh bắt cá.
  • Vấn đề có bao nhiêu phần? Trong số bốn.
  • Tên của mỗi phần là gì? 1. Chuẩn bị câu cá. 2. Chờ miếng cắn. 3. Công việc đánh cá. 4. Đường về.

Các tiện ích bổ sung gắn liền với thực tế là tiêu đề chiếm một vị trí "nghi lễ" trong trường bản vẽ và tên của các phần ngữ nghĩa được đặt bên trong các khung đặc biệt có hình dạng độc đáo và nhờ đó, ngay lập tức thu hút sự chú ý của người đọc. mà không cần bất kỳ nỗ lực nào từ phía mình.

Do đó, DRAGON cung cấp cho người đọc một phương pháp ba bước hiệu quả để hiểu một vấn đề chưa quen thuộc hoặc bị lãng quên. Ở giai đoạn đầu tiên, bằng cách phân tích tiêu đề, người đọc tìm hiểu mục đích của thuật toán và sự phân chia của nó thành các phần ngữ nghĩa (các nhánh). Vào ngày thứ hai, một phân tích chuyên sâu về từng chi nhánh được thực hiện. Ở giai đoạn thứ ba, sự tương tác của các nhánh được phân tích.

CÁI GÌ TỐT HƠN: NGUYÊN TẮC HAY SILHOUETTE?

Sơ đồ rồng có cành được gọi là hình bóng, không có nhánh - nguyên thủy. Hình bóng được hiển thị trong hình. 6a có thể được mô tả dưới dạng nguyên thủy (Hình 6b). Nguyên thủy là sự kết nối nối tiếp giữa biểu tượng “tiêu đề” của các khối xiên và biểu tượng “kết thúc”. Trong nguyên thủy, các biểu tượng “tiêu đề” và “kết thúc” phải nằm trên cùng một chiều dọc, được gọi là xiên. Các phương thẳng đứng chính của khối xiên nằm trên cùng một đường thẳng. Nói một cách hình tượng, chiếc xiên thấm vào các biểu tượng nguyên thủy (có lẽ không phải tất cả chúng) giống như một chiếc xiên thật thấm vào từng miếng kebab.

Nên sử dụng kiểu nguyên thủy nếu sơ đồ rồng rất đơn giản (nguyên thủy) và chứa không quá 5...15 biểu tượng. Mặt khác, để cải thiện khả năng đọc của chương trình, việc sử dụng hình bóng sẽ có lợi hơn. Vi phạm quy tắc này thường gặp nhiều rắc rối vì nó ngăn cản người đọc xác định bản chất của vấn đề đang được giải quyết và do đó, khiến việc hiểu ý nghĩa của chương trình trở nên khó khăn và chậm chạp.

Ví dụ, thuật toán trong hình. 6b trông cồng kềnh và khó hiểu một cách vô lý. Điều này là do nó chứa 19 biểu tượng, nhưng được mô tả ở dạng nguyên thủy. Tội ác là sơ đồ trong hình. 6b không cho phép người đọc ngay lập tức (trong vòng vài giây) nhận ra cấu trúc hình ảnh và ngữ nghĩa của thuật toán. Trên thực tế, vấn đề đang được giải quyết bao gồm bao nhiêu phần? Nhìn vào hình. 6b, câu hỏi này khá khó trả lời và cũng không thể trả lời nhanh được. Tình hình thay đổi hoàn toàn khi chúng ta nhìn vào hình. 6a, trong đó thuật toán tương tự được mô tả dưới dạng hình bóng. Ở đây, như họ nói, không cần phải đắn đo: thuật toán bao gồm bốn phần: “tìm kiếm xe buýt”, “chờ lên xe”, “lên xe buýt”, “chuyến đi”. Tuy nhiên, đây không phải là tất cả: không kém phần quan trọng là sự phức tạp của mẫu hình ảnh đã biến mất và sơ đồ đã đạt được chất lượng thẩm mỹ (công thái học) mới: sang trọng, rõ ràng và minh bạch.

Do đó, trong những trường hợp phức tạp, hình bóng có thể làm giảm đáng kể nỗ lực trí tuệ dành cho việc tìm hiểu thuật toán. Trong hình bóng, các phần cấu trúc lớn của chương trình (các nhánh) được làm nổi bật rõ ràng, chúng có khoảng cách không gian trong trường bản vẽ, đồng thời tạo thành một hình ảnh trực quan tổng thể, ổn định, dễ nhận biết và dễ nhận biết. Và ở dạng nguyên thủy, các phần cấu trúc không được chọn và trộn lẫn (“mọi thứ nằm trong một đống”), điều này gây khó khăn cho việc đọc và phân tích các thuật toán phức tạp. Tuy nhiên, đối với các trường hợp đơn giản (ít hơn 5...15 biểu tượng), theo quy luật, kiểu nguyên thủy hóa ra lại được ưu tiên hơn.

LÀM THẾ NÀO ĐỂ MÔ TẢ MỘT HÌNH BÓNG SỬ DỤNG NGÔN NGỮ VĂN BẢN?

Từ hình. 7 có thể thấy rằng để mô tả các nhánh, một số thay đổi đã được thực hiện đối với ngôn ngữ văn bản. Đặc biệt, đã xuất hiện hai toán tử văn bản mới không có trong các ngôn ngữ truyền thống:

CHI NHÁNH< идентификатор ветки >

ĐỊA CHỈ< идентификатор ветки >

Toán tử ngôn ngữ văn bản BRANCH khai báo tên của nhánh (được viết bằng ngôn ngữ trực quan bên trong biểu tượng “tên nhánh”). Toán tử ADDRESS chuyển quyền điều khiển một cách vô điều kiện sang toán tử văn bản BRANCH, tên của toán tử này được viết ở bên phải toán tử ADDRESS.

Hãy xem xét vấn đề. Trong một mê cung rối rắm kết nối phần đầu và phần cuối của một thuật toán phức tạp, bạn cần chỉ ra một tuyến đường duy nhất - một “luồng hướng dẫn” mà bạn có thể so sánh trực quan tất cả các tuyến đường khác để dễ dàng điều hướng vấn đề và không bị lạc trong mớ nĩa. Chủ đề hướng dẫn này (hãy gọi nó là “tuyến đường chính”) phải dễ dàng phân biệt bằng trực quan. Nói cách khác, nhìn lướt qua sơ đồ rồng, chúng ta sẽ tìm thấy những điểm mốc rõ ràng, nhờ đó chúng ta có thể nhìn thấy ngay và không thể nhầm lẫn được tuyến đường “hoàng gia” và các tuyến đường khác được sắp xếp liên quan đến nó.

Để làm điều này, một quy tắc được đưa ra: “Con đường chính của người nguyên thủy phải đi theo xiên.” Bằng cách hoán đổi các từ “có” và “không” trong nĩa và các tùy chọn trong công tắc (cũng như các vòng hoa biểu tượng được gắn trên chúng), bạn nên đảm bảo rằng đầu ra của nĩa hoặc công tắc dẫn đến thành công lớn nhất đang trên con đường hoàng gia (Hình 8) . Và các tuyến đường phụ nên bố trí theo nguyên tắc sau: “Càng về bên phải càng tệ”(Hình 9). Nếu những quy tắc này bị vi phạm, mạch rồng bị coi là xấu (Hình 10a). Tuy nhiên, nó luôn có thể được biến thành một thứ tốt (Hình 10b).

Trong trường hợp tiêu chí “tốt hơn-xấu hơn” không hiệu quả thì nên chọn tiêu chí nào khác hợp lý khác thay thế, để việc chuyển sang bên phải tuyến đường chính luôn không tùy tiện, hỗn loạn mà phải chu đáo, trật tự. Ví dụ: khi giải các bài toán, các đầu ra fork và các tùy chọn chuyển đổi có thể được sắp xếp từ trái sang phải theo thứ tự tăng hoặc giảm giá trị (đặc tính) toán học tương ứng với các đầu ra này (Hình 11, 12).

TUYẾN ĐƯỜNG CHÍNH CỦA SILHOUETTE

Trong đoạn trước, chúng ta đã học cách sắp xếp các tuyến đường nguyên thủy. Bây giờ đến lượt hình bóng đó.

Cành xiênđược gọi là một đường thẳng đứng kết nối biểu tượng “tên nhánh” với biểu tượng “địa chỉ” và nếu nhánh có một số đầu ra - với đầu ra bên trái. Đối với chi nhánh, cả hai quy tắc “hoàng gia” vẫn có hiệu lực:

  • đường đi chính của nhánh nên đi theo xiên;
  • các tuyến đường phụ của một nhánh nên được sắp xếp từ trái sang phải theo một tiêu chí nào đó.

Giả sử rằng nguyên tắc “càng về bên phải, càng tệ” được chọn làm tiêu chí. Trong trường hợp này, mỗi nhánh của hình bóng phải được xây dựng theo một quy tắc duy nhất: đường thẳng đứng tiếp theo nằm càng xa về bên phải (càng xa xiên của một nhánh nhất định), chiều dọc tiếp theo càng được đặt thì các hành động mà nó thực hiện càng ít thành công.

Ví dụ, trong hình. 6a đường “lên xe buýt” có ba đường thẳng đứng. Đường dọc bên trái (tuyến đường chính) mô tả thành công lớn nhất vì bạn sẽ ngồi trên xe buýt. Chiều dọc bên phải có nghĩa là ít thành công nhất vì bạn đã xuống xe và chuyến đi bị hoãn lại. Đường dọc ở giữa (nằm phía trên biểu tượng “Bạn có muốn đi xe khi đứng không?”) chiếm vị trí trung gian, bởi vì - tùy thuộc vào câu trả lời - có thể thành công một phần (bạn sẽ đi xe, nhưng không ngồi mà đứng), hoặc thất bại, vì bạn xuống xe buýt với một tiếng xèo xèo nhẹ.

Tuyến đường hình bóng chính- kết nối tuần tự các tuyến đường chính của các nhánh hoạt động luân phiên. Do đó, DRAGON cho phép người đọc nhìn thấy ngay lộ trình chính của bất kỳ thuật toán nào, bất kể phức tạp và phân nhánh đến đâu, hơn nữa, làm cho sự dịch chuyển của tất cả các tuyến phụ so với “hoàng gia” không phải là ngẫu nhiên, nhưng có ý nghĩa và có thể dự đoán được, tức là. dễ hiểu.

ĐƯỜNG NGANG? - Lạy Chúa!

Một số chuyên gia, có xu hướng diễn đạt gay gắt, gọi sơ đồ thuật toán truyền thống là “sơ đồ rác” bởi vì sự phức tạp của các khối được mô tả trên chúng, được kết nối bởi sự hỗn loạn của các đường rách rưới đi khắp nơi, trông giống một đống rác hơn là một cấu trúc thông thường. DRAGON nổi bật bởi thực tế là mẫu đồ họa của nó có cơ sở chặt chẽ về mặt toán học và nhận thức-công thái học, đồng thời phải tuân theo các quy tắc nghiêm ngặt và được tính toán cẩn thận. Trong số đó, một vị trí đặc biệt bị chiếm giữ bởi quy tắc: “Cấm giao cắt và ngắt đường kết nối.”

Khi vẽ sơ đồ khối thông thường, cho phép có hai loại giao điểm của các đường: rõ ràng, được mô tả bằng các đường chéo và được ngụy trang, được thực hiện bằng cách sử dụng cái gọi là đầu nối. Như bạn đã biết, một đầu nối “được sử dụng để ngắt một đường và tiếp tục nó ở một nơi khác… để tránh những giao lộ không cần thiết”.

Trong ngôn ngữ DRAGON, tất cả các thủ thuật được liệt kê (ngã tư, ngắt quãng, kết nối) đều được coi là có hại vì lý do công thái học và bị nghiêm cấm, vì chúng rải rác vào trường vẽ những chi tiết không cần thiết, gây nhiễu thị giác cho mắt và làm phân tán sự chú ý khỏi nội dung chính. .

Vì việc cấm giao nhau là một hạn chế tôpô nghiêm trọng nên câu hỏi đặt ra là: liệu một thuật toán tùy ý có thể được biểu diễn dưới dạng sơ đồ rồng không?

Định lý 1. Bất kỳ chương trình cấu trúc nào cũng có thể được mô tả bằng ngôn ngữ DRAGON theo hai cách: ở dạng nguyên thủy và ở dạng hình bóng.

Định lý 2. Một chương trình tùy ý (phi cấu trúc) trong một số trường hợp không thể được mô tả dưới dạng nguyên thủy; tuy nhiên, với sự trợ giúp của các phép biến đổi tương đương cho phép đưa vào các biến bổ sung (mã định danh nhánh), nó luôn có thể được mô tả dưới dạng hình bóng.

Để làm rõ vấn đề, chúng ta hãy xem các ví dụ. Trong bộ lễ phục. 13a cho thấy một mạch rồng bị cấm: một mạch nguyên thủy trong đó có một giao điểm không thể tháo rời (không đưa ra các biến bổ sung). Trong bộ lễ phục. 13b cho thấy một hình bóng, như bạn có thể dễ dàng nhìn thấy, tương đương với hình gốc trong Hình. 13a đồng thời không có một nút giao thông nào. Vì vậy, ví dụ trong Hình. 13 khẳng định tính đúng đắn của Định lý 2 1.

CỐ ĐỊNH HÌNH ẢNH VÀ VĂN BẢN CỦA DRAGON

DRAGON là ngôn ngữ hình ảnh sử dụng hai loại yếu tố: hình dạng đồ họa ( yếu tố đồ họa) và nhãn văn bản nằm bên trong hoặc bên ngoài các hình đồ họa ( yếu tố văn bản). Do đó, cú pháp DRAGON được chia thành hai phần. Cú pháp trực quan bao gồm bảng chữ cái của các thành phần đồ họa, quy tắc về vị trí của chúng trong trường vẽ và quy tắc kết nối các thành phần đồ họa bằng cách sử dụng các đường kết nối. Cú pháp văn bản chỉ định bảng chữ cái của các ký hiệu, quy tắc kết hợp và ràng buộc của chúng với các thành phần đồ họa (việc ràng buộc là cần thiết vì các loại biểu thức khác nhau được sử dụng bên trong các hình đồ họa khác nhau). Toán tử ngôn ngữ DRAGON là phần tử đồ thị hoặc sự kết hợp của các phần tử đồ thị được chụp cùng với dòng chữ.

Việc sử dụng đồng thời đồ họa và văn bản cho thấy rằng DRAGON không chỉ giải quyết tư duy bằng lời nói và logic của tác giả và người đọc chương trình mà còn kích hoạt tư duy trực quan, giàu trí tưởng tượng, bán cầu não phải, kích thích tư duy đó bằng một chương trình không phải bằng văn bản mà là chương trình được vẽ , tức là một chương trình - một bức tranh.

GIA ĐÌNH NGÔN NGỮ RỒNG

DRAGON không phải là một ngôn ngữ, mà là cả một họ, tất cả các ngôn ngữ đều có cú pháp trực quan giống nhau (điều này làm cho các ngôn ngữ của họ gần như song sinh) và khác nhau về cú pháp văn bản.

RỒNG-1- ngôn ngữ giả trực quan, một dạng tương tự trực quan của mã giả văn bản thông thường. Nó dùng để mô tả cấu trúc của các hoạt động, tạo ra công nghệ, thuật toán và thiết kế chương trình, đồng thời được sử dụng trong phương pháp trình bày chi tiết từng bước cũng như trong việc hình thức hóa kiến ​​thức chuyên môn.

RỒNG-2- Ngôn ngữ lập trình trực quan thời gian thực. Anh ấy là một yếu tố TRƯỜNG HỢP- công nghệ phát triển phần mềm cho hệ thống điều khiển tên lửa và vật thể không gian, cũng như các nhà máy điện hạt nhân, nhà máy hóa dầu và luyện kim, sản xuất công nghệ sinh học, v.v.

Ngoài ra, họ này bao gồm các ngôn ngữ lập trình hình ảnh lai: DRAGON-BASIC, DRAGON-PASCAL, DRAGON-S, v.v. Để có được ngôn ngữ lai, ví dụ DRAGON-S, bạn cần lấy cú pháp trực quan của DRAGON và tham gia nó theo những quy tắc nhất định của cú pháp văn bản SI.

Sự phân biệt chặt chẽ giữa cú pháp hình ảnh và văn bản giúp mở rộng phạm vi ngôn ngữ đến mức tối đa, đảm bảo tính linh hoạt và linh hoạt của nó. Đồng thời, tính đồng nhất của các quy tắc cú pháp trực quan của họ ngôn ngữ DRAGON đảm bảo tính thống nhất về mặt khái niệm của chúng và sự đa dạng của các quy tắc văn bản (tức là khả năng chọn bất kỳ cú pháp văn bản nào) quyết định tính linh hoạt của ngôn ngữ và dễ dàng điều chỉnh các vấn đề và lĩnh vực chủ đề khác nhau.

Cuốn sách này tập trung vào ngôn ngữ giả DRAGON-1 trực quan. Đối với các ngôn ngữ khác thuộc họ DRAKON, chỉ đưa ra những giải thích ngắn gọn.

KẾT LUẬN

Dưới đây là bản tóm tắt các quy tắc công thái học có thể cải thiện chất lượng nhận thức của mạch rồng và làm cho các thuật toán, chương trình và công nghệ trở nên dễ hiểu hơn.

  1. Một thuật toán phức tạp nên được vẽ dưới dạng hình bóng, một thuật toán đơn giản - như nguyên thủy.
  2. Cấm viết từ “bắt đầu” vào biểu tượng “tiêu đề”; thay vào đó, bạn nên cung cấp tên rõ ràng và chính xác cho thuật toán.
  3. Chia một thuật toán phức tạp thành nhiều phần, biểu diễn mỗi phần dưới dạng một nhánh. Đặt tên rõ ràng, dễ hiểu cho các bộ phận và viết chúng vào biểu tượng “tên chi nhánh”.
  4. Việc vào một nhánh chỉ có thể thực hiện được thông qua sự bắt đầu của nó.
  5. Trong biểu tượng “địa chỉ”, được phép viết tên của một trong các chi nhánh, các dòng chữ khác đều bị cấm.
  6. Cành cây nên được đặt trong không gian theo quy tắc: càng về bên phải thì càng muộn. Sự hiện diện của chu kỳ nhánh sẽ sửa đổi quy tắc này.
  7. Người nguyên thủy phải có xiên. Điều này có nghĩa là đối với kiểu nguyên thủy, các biểu tượng “tiêu đề” và “kết thúc” luôn nằm trên cùng một chiều dọc, được gọi là “xiên”.
  8. Mỗi nhánh phải có một xiên. Ở nhánh bên phải, xiên là một đường thẳng đứng nối giữa biểu tượng “tên nhánh” và “kết thúc”. Đối với các nhánh khác, xiên là một đường thẳng đứng nối các biểu tượng “tên nhánh” và “địa chỉ”, và nếu có nhiều địa chỉ thì với địa chỉ bên trái.
  9. Thuật toán luôn có lộ trình chính, phải đi theo xiên.
  10. Các tuyến đường phụ phải được sắp xếp từ trái sang phải theo một trong các tiêu chí đã chọn, ví dụ: càng về bên phải thì càng tệ.
  11. Trong biểu tượng “kết thúc” nên viết từ “kết thúc”.
  12. Các đường kết nối có thể đi theo chiều ngang hoặc chiều dọc. Đường nghiêng không được phép.
  13. Việc vượt qua các đường bị cấm.
  14. Ngắt dòng bị cấm.
  15. Việc sử dụng các kết nối bị cấm.

Ngôn ngữ DRAGON được sử dụng để:

  • mô tả về quy trình kinh doanh của công ty và hoạt động kiểm toán của họ,
  • phát triển các giải pháp dựa trên 1C cho quá trình tự động hóa của họ,
  • lưu trữ mã của các giải pháp này,
  • tổ chức đào tạo cho nhân viên làm việc trong quy trình kinh doanh,
  • ghi và lưu trữ hướng dẫn sử dụng - cách thức làm việc trong quy trình nghiệp vụ.

Điểm nổi bật chính của nó là kết quả là chúng tôi có được một mô hình kinh doanh hoàn chỉnh, không chỉ giới hạn ở sơ đồ và hướng dẫn cho người dùng. Trong mô hình kinh doanh này, chúng tôi cùng với logic phát triển chúng ta cũng có thể lưu trữ mã của nó- điều này cho chúng ta cơ hội:

  • kiểm tra nó,
  • hãy nhớ lại những gì bạn đã làm,
  • chuyển sang nhóm lập trình khác,
  • đào tạo và hỗ trợ nhân sự của Khách hàng.

Tại sao ngôn ngữ DRAGON mô tả quy trình kinh doanh tốt hơn các ký hiệu khác?

  • Anh ta có thể hiểu được- Dễ dàng nhận biết trực quan trong thực tế.
  • Anh ta đơn giản- chỉ có ba loại sơ đồ và khoảng năm biểu tượng được sử dụng thực tế cho phép bạn mô tả tất cả logic này mà không cần tạo thêm sơ đồ.
  • Chà, cộng với tất cả mọi thứ - các ký hiệu khác không có nghĩa là có thể lưu trữ mã phát triển.

Và hôm nay chúng ta sẽ nói về công nghệ sử dụng ngôn ngữ DRAKON trong quá trình triển khai và vận hành tiếp theo của các sản phẩm 1C bằng một ví dụ cụ thể.

Cơ sở lý thuyết xây dựng mô hình kinh doanh

Để chuẩn bị cho bài thuyết trình, tôi đã liên hệ với những người chuyên nghiệp tham gia vào việc phát triển các mô hình kinh doanh, đặc biệt là Mikhail Anatolyevich Kuznetsov. Anh ấy tiến hành phát triển dự án trong ARIS (đây là ký hiệu được sử dụng chủ yếu khi triển khai hệ thống SAP).

Theo những phát hiện của ông, Mô hình kinh doanh bao gồm các thành phần sau:

  • Cấp độ ngữ nghĩa, trong đó cho thấy mục tiêu và mục tiêu của công ty.
  • Các mục tiêu này được thể hiện dưới dạng các tài liệu kiểm soát mô tả các quy trình (khối này được chỉ định ở đây là " Mô hình quy trình»).
  • Các quá trình này bao gồm những đối tượng kinh doanh(nói cách khác là tài nguyên);
  • Và tất cả những điều này kết hợp lại trong các báo cáo (hàng quý hoặc trong một khoảng thời gian khác), theo đó ban lãnh đạo cấp cao hiểu liệu họ có đạt được một số mục tiêu của mình hay không (ở đây khối này được chỉ định là “ Bảng điều khiển»)

Việc trình bày mô hình kinh doanh này được sử dụng chủ yếu để triển khai hệ thống KPI, nhưng cũng có thể được sử dụng cho các mục đích khác - trong hệ thống quản lý chất lượng, v.v.

Ví dụ sử dụng Dragon IS để lựa chọn giải pháp tự động hóa quy trình kinh doanh của khách hàng

Hãy chuyển từ lý thuyết sang thực hành. Ví dụ, tôi lấy thiết kế chi tiết tự động hóa nhà máy nội thất trong thành phố của chúng tôi. Có hai bên tham gia vào dự án - Khách hàng và Nhà thầu. Khách hàng là chủ xưởng sản xuất đồ nội thất, còn Nhà thầu là tôi. Khách hàng và tôi đã gặp nhau và thảo luận về nhiệm vụ của anh ấy. Kết quả là tôi đã tạo ra “Bản thiết kế rồng” cho mô hình kinh doanh của anh ấy.

Hãy xem những gì đã xảy ra.

Bên trái là cái gọi là kế hoạch "Gnome"(loại mạch này chủ yếu được sử dụng để ghi chú), mô tả danh mục mục tiêu của công ty:

  • Yếu tố đầu tiên trên đó là tiêu đề của sơ đồ.
  • Tiếp theo, sứ mệnh của công ty trên thị trường được đánh dấu bằng màu vàng.
  • Và thậm chí thấp hơn là một phần tử thuộc loại “Chèn”, được sử dụng để điều hướng qua các sơ đồ này.

Bản thân các sơ đồ có tính tương tác: ví dụ: trên một phần tử thuộc loại “Chèn”, bạn có thể nhấp vào mũi tên trái và ngay lập tức bạn sẽ được đưa đến sơ đồ mong muốn. Đây là những gì sẽ xảy ra sự phân hủy. Điều này cho phép chia logic phức tạp thành các khối đơn giản hơn.

Từ danh mục mục tiêu, chúng ta chuyển sang sơ đồ loại “Hình bóng”, trong đó có mục tiêu của công ty(loại mạch "Hình bóng"áp dụng cho các thuật toán, bao gồm một số phần ngữ nghĩa). Mỗi tiêu đề (chúng được đánh dấu bằng hình bầu dục màu đỏ) biểu thị một chuỗi hành động thân thiện với người dùng được giải mã trong chuỗi này.

Đối với mỗi Mục tiêu của Khách hàng, một Khái niệm được phát triển- một quy trình kinh doanh mở rộng cho phép bạn đạt được điều này Bàn thắng cách quản lý nhìn nhận nó. Trong nhánh đầu tiên của sơ đồ này, chúng tôi sẽ làm việc với Mục đíchđang cố gắng tăng cường Nhập theo chiều dọc: theo sơ đồ "Chèn", chúng ta đi đến sơ đồ Các khái niệm hội nhập theo chiều dọc - kế hoạch mở rộng của chúng tôi để đạt được điều này Bàn thắng.

Trên sơ đồ Khái niệm tích hợp dọcđược thể hiện dưới dạng cấu trúc “Chu kỳ CHO” Vòng đời bán hàng(đầu chu kỳ là biểu tượng số 5 và kết thúc là biểu tượng số 7).

  • Xin lưu ý rằng có những vùng không được tô bóng trong sơ đồ này - các phần tử thuộc loại "Đầu ra"(chúng nằm giữa các hành động được tô màu xanh lục) - đây là văn bản quản lý, đi xuống (ví dụ: đối với bộ phận bán hàng, đây có thể là kế hoạch bán hàng trong năm, v.v.).
  • Tương ứng, quy trình tiếp theo được hướng dẫn bởi tài liệu kiểm soát này vân vân.
  • Được chỉ định ở đây bằng màu vàng giai đoạn quan trọng nhất của chu kỳ bán hàng- đây được gọi là “trình điều khiển”, nhiệm vụ chính thúc đẩy tất cả các nhiệm vụ khác. Thông qua phần "chèn" này, chúng ta có thể đi đến một sơ đồ riêng nêu chi tiết nhiệm vụ của trình điều khiển này vòng đời sản xuất đồ nội thất.

Vì vậy, đây là sơ đồ về vòng đời sản xuất đồ nội thất:

  • Đầu tiên, bạn đến một phòng trưng bày nội thất và đặt mua một căn bếp.
  • Ở đó họ lừa bạn ra khỏi đó,
  • Sau đó họ làm
  • Họ mang nó đến cho bạn
  • Bạn đang phải trả giá
  • Bạn ký vào văn bản chấp nhận công việc (dù bạn có đồng ý hay không), và thế là xong.

Sau khi mô tả quy trình kinh doanh chính mà khách hàng muốn tự động hóa, chúng tôi có thể bắt đầu chọn cấu hình phù hợp - cấu hình có chức năng tối đa đáp ứng yêu cầu của chúng tôi. Điều mong muốn là nó không cần phải sửa đổi - có thể có những thay đổi, nhưng chúng phải ở mức tối thiểu.

Bạn có thể thấy, khi bắt đầu thực hiện một dự án, ngôn ngữ DRAGON cho phép bạn hiểu rõ về mô hình kinh doanh của Khách hàng để lựa chọn tối ưu một sản phẩm đóng gói để có giải pháp toàn diện cho các vấn đề của nó, mặc dù trước đây bạn chưa từng bán hoặc lắp ráp đồ nội thất.

Hãy tóm tắt các giai đoạn đầu tiên của dự án ví dụ của chúng tôi:

  • Chúng tôi thảo luận trực tiếp về quy trình kinh doanh với Khách hàng (không phải là lập trình viên, không phải người thực hiện) - anh ấy biết rõ hơn về cách bán và lắp ráp đồ nội thất của mình. Và chúng tôi nhận được thông tin về công việc kinh doanh của anh ấy như thế nào.
  • Và sau đó, đã sáng tác dựa trên thông tin của anh ấy sơ đồ chi tiết, đã thật dễ dàng để phân tích những gì chúng ta có thể tự động hóa, và những gì không.
  • Và trên cơ sở này chúng ta cùng nhau chọn giải pháp đóng hộp cho dự án.

Theo đó, ngôn ngữ DRAKON là cần thiết khi bắt đầu bất kỳ dự án nào nhằm triển khai các sản phẩm phần mềm của công ty 1C.

Ví dụ sử dụng Dragon IS để hỗ trợ và cập nhật các sản phẩm phần mềm dựa trên 1C

Ưu điểm của việc sử dụng ngôn ngữ DRAGON là gì?ở giai đoạn sở hữu hệ thống thông tin dựa trên 1C, Tại cô ấy cập nhật và cải tiến?

  • Nếu chúng ta có một mô hình kinh doanh, chúng ta có thể thay đổi nó và phát triển nó hơn nữa.
  • Sự phụ thuộc vào nhân viên giảm đi. Bởi vì nếu một người đột ngột rời bỏ chúng tôi và không kịp chuyển giao công việc, chúng tôi có thể lấy “Kế hoạch rồng” về hành động của anh ta và chuyển nó cho nhân viên mới để anh ta làm việc và học hỏi. Sau đó, người đó sẵn sàng gia nhập hàng ngũ có trật tự của chúng tôi và tiếp tục làm việc.
  • « Sơ đồ rồng" cho phép bạn mô tả các thông số kỹ thuật "thực", khi các kế toán đã bàn bạc kỹ những gì mình cần và tự mình vạch ra phương án cuối cùng cho người lập trình: “chúng tôi muốn việc này phải làm như thế này”.
  • Hơn nữa, bởi vì các cửa hàng mạchđồng thời cả mã và logic phát triển, bạn có thể dễ dàng thay đổi nhóm lập trình viên và nhà phát triển - chuyển các kế hoạch này cho họ.
  • Và vì đã có sẵn mã và danh sách siêu dữ liệu được tạo cho sửa đổi này, nên bạn dành ít thời gian hơn cho các cập nhật tiếp theo.

Chúng ta hãy xem xét kỹ hơn chủ đề cập nhật cấu hình 1C.

Hãy tưởng tượng, bạn đã cài đặt một cấu hình tiêu chuẩn, thực hiện một số sửa đổi theo thông số kỹ thuật, sau đó có bản cập nhật và một số sửa đổi của bạn đã bị xóa. Điều này xảy ra nếu, chẳng hạn, một công ty không có lập trình viên riêng hoặc anh ta bị ốm hoặc nghỉ việc. Bạn phải lấy bản sao lưu cũ, xem nó đã thay đổi gì trong siêu dữ liệu, khôi phục những thay đổi này, v.v. Thật tốt nếu không có dữ liệu.

Để đơn giản hóa việc cập nhật các cải tiến của mình, tôi thường tạo “Lược đồ rồng”, ví dụ như cái được hiển thị trên slide. Có các hiệu ứng chuyển tiếp đặc biệt (Chèn phần tử) tương tác đưa tôi đến tờ phát triển. Chúng là những kế hoạch rồng, nơi chúng được mô tả:

  • metadata, đã được tạo ra;
  • logic phát triển- tại sao chúng được tạo ra;
  • mã sốđang được thực thi ở đó.

Theo đó, khi cập nhật cấu hình, tôi có thể chạy qua sơ đồ rồng này trong cơ sở dữ liệu thử nghiệm và kiểm tra xem tất cả chức năng tôi đã thêm có hoạt động hay không. Có lẽ bản thân 1C đã triển khai một số điều này, điều đó có nghĩa là tôi cần phải từ bỏ một số cải tiến của mình và suy nghĩ về một số cơ chế di chuyển, làm điều gì đó...

Một ví dụ về việc sử dụng IP Dragon trong quá trình phát triển

Hãy chuyển sang phần thứ ba. Tại sao bạn cần ngôn ngữ DRAGON trong quá trình phát triển?

  • TÔI Tôi có thể thấy logic của mã được tạo và kiểm tra nó. Với sự trợ giúp của “Sơ đồ rồng”, chúng ta có thể hiểu điều gì hiệu quả và điều gì không, thấy rằng ở đâu đó chúng ta cần loại bỏ mã không cần thiết, v.v.
  • Tôi đã đề cập đến việc chuyển giao ngữ nghĩa cho một nhóm phát triển khác - Sự phụ thuộc vào lập trình viên đang giảm dần.

Cách làm sơ đồ rồng? Giấy, thước kẻ, bút chì và tẩy?

Các sơ đồ mà tôi cho các bạn xem đều được thực hiện trong chương trình " LÀ Rồng" Theo tôi, đây hiện là công cụ tiên tiến nhất để làm việc với ngôn ngữ này. Đơn giản và rẻ tiền.

Ngoài ra còn có "Biên tập viên DRAKON" và "Fabula".

Sơ đồ rồng lưu trữ mã như thế nào và cách sử dụng khi lập trình trong 1C.

Trình dịch mã từ Dragon IS sang Bộ cấu hình 1Sử dụng phương pháp lập trình GOTO. Tôi sẽ không đi vào thảo luận về việc có nên sử dụng nó đúng cách hay không. Có rất nhiều bài viết trên Internet về chủ đề này. Hãy dừng lại ở nó là gì. Và đây là cách nó hoạt động.

Để rõ ràng, tôi sẽ cho bạn biết một chút về những thay đổi mà chúng tôi đã thực hiện đối với chương trình 1C dành cho Khách hàng bằng cách sử dụng ví dụ về đặt hàng sản xuất đồ nội thất.

Như bạn có thể thấy, trong “Kế hoạch rồng” để đặt hàng này, vai trò của những người thực hiện cụ thể được chỉ định cho từng hành động. Ví dụ: ban đầu, đơn đặt hàng của người mua được kế toán nhập vào cấu hình CNF và sau đó, dựa trên đơn đặt hàng này, nhà cung cấp sẽ đưa ra lệnh sản xuất.

Và ở đây có một “nút thắt cổ chai” phát sinh trong quá trình kinh doanh, tôi đã đánh dấu nó bằng hình bầu dục màu đỏ. Vấn đề ở đây là gì? Tại khách hàng hai công ty khác nhau hoạt động trong cùng một cơ sở dữ liệu, và vật liệu có thể đến với cả hai và khi lắp ráp bếp, chúng tôi cần phải những cái này vật liệu cuối cùng đã được đưa vào kho của một công ty. Nếu chúng tôi làm việc này một cách thủ công thì thủ kho sẽ phải ngồi cùng chúng tôi, thu chi phí nguyên vật liệu còn thiếu từ công ty này sang công ty khác. Đó là lý do tại sao chúng tôi đề nghị khách hàng tạo một “nút ma thuật” để tự động hóa quy trình này.

Ảnh chụp màn hình hiển thị điều khoản tham chiếu cho sự phát triển của “nút ma thuật” này.

Cô ấy đang làm gì? Tìm kiếm hàng hóa bị thiếu từ công ty bán, tạo chứng từ thu và chi cho các mặt hàng được tìm thấy. Tiếp theo là phần “chèn” để chuyển sang quá trình phát triển bằng mã.

Đây toàn bộ phức hợp của những kế hoạch này:

Mỗi sơ đồ là một thủ tục hoặc chức năng cho mô-đun tài liệu “Đặt hàng cho nhà cung cấp”. Họ là những người tự động hóa “Nút thần kỳ” này.

Các chấm đen trong tiêu đề sơ đồ là dấu hiệu cho thấy sơ đồ là một quy trình và chứa mã. Tại những điểm này, các khoảng trống sẽ được tạo tự động để mô tả phần đầu và phần cuối của quy trình (văn bản của chúng được hiển thị trong ảnh chụp màn hình bên dưới).

Mã thực thi được viết trong “điểm đen” của các hành động cụ thể, trong trường hợp này, các tham số siêu dữ liệu được đặt.

Đây là những gì nó trông giống như loại phần tử "Chu kỳ"(cấu trúc của ngôn ngữ 1C “Đối với mỗi ... Chu kỳ ...”, ranh giới của nó (bắt đầu và kết thúc) được biểu thị bằng màu xanh lá cây. Giữa chúng là mã thực thi cho vòng lặp này.

Và nó trông như thế này Loại phần tử "Nếu".Ở đây bạn chỉ cần viết một điều kiện: đối với “Có” thì có một nhánh, đối với “Không” thì có một nhánh khác. Và bản thân chương trình, khi tạo mã, sẽ thêm cấu trúc “If... Then” vào mô-đun và các nhãn nơi quá trình chuyển đổi diễn ra.

Đối với nhiều "If", một loại phần tử Dragon-Scheme khác được sử dụng: "Switch".

Trong lược đồ, chúng ta cũng có thể mô tả những thay đổi trong siêu dữ liệu. Ví dụ: trong ảnh chụp màn hình bên trái, trong sơ đồ loại “Gnome”, nó cho biết những thanh ghi thông tin nào cần được tạo để chức năng này hoạt động.

Và cuối cùng phần tử được đánh dấu là kết quả sửa đổi của mô-đun. Trong “điểm đen” thứ ba, tôi thường viết thông tin liên hệ và bản chất của sự phát triển.

Và “chấm đen” thứ tư chính là mã cuối cùng. Anh ta được thu thập tự động, sau đó tôi chỉ cần sao chép nó từ cửa sổ này và dán nó vào bộ cấu hình.

Như bạn có thể thấy, các ghi chú cũng xuất hiện ở đây dưới dạng nhận xét, cho biết mã này nằm ở số nào trong sơ đồ.

Làm thế nào để gỡ lỗi mã như vậy? Mỗi sơ đồ có một số duy nhất không được lặp lại ở bất kỳ đâu. Ví dụ: ảnh chụp màn hình hiển thị điều kiện “If” với số 26.

Và bạn có thể tìm thấy mã này trong phần bình luận trong phần cấu hình. Như bạn có thể thấy, đây là Toán tử "đi", tương tự như GOTO trong 1C. Theo như anh ấy đi tới nhãn. Không cần phải viết thủ công, mọi thứ đều được tạo tự động.

Như bạn có thể thấy, ở nhãn 41, chúng tôi chuyển đến một thông báo cho người dùng, thông báo này trả về văn bản lỗi và sau đó kết thúc quy trình. Đây là cách logic phát triển được kiểm tra.

Làm việc với GOTO (“Đi tới” - trong 1C) là vấn đề của thói quen. Tôi thích nó vì nó giúp việc phân tích mã trong sơ đồ trở nên dễ dàng hơn sau một thời gian thực hành.

Nếu bạn không muốn làm việc với GOTO, chỉ cần chèn văn bản điều kiện vào các hành động và nó sẽ tạo mã theo quy trình theo cách bạn đã viết ở đó.

Các phần tử lược đồ có thể được sử dụng đơn giản như các thùng chứa để lưu trữ thông tin mã văn bản.

Tất nhiên, tôi tiến hành phát triển sơ bộ không phải trong môi trường Dragon IS mà trong bộ cấu hình. Tôi mở một bộ cấu hình, chẳng hạn như nơi tôi thêm logic của yêu cầu mà tôi cần phát triển. Có sẵn trợ lý cú pháp, thay thế mã tự động, trong chế độ người dùng, bạn có thể khởi chạy bảng điều khiển truy vấn, kiểm tra tất cả những điều này, xem tôi có thể làm gì, thay thế những tham số nào. Và sau khi tôi đã chuẩn bị sơ bộ cho từng hành động, tôi sao chép mã này từ bộ cấu hình và dán nó vào những vị trí cần thiết trong sơ đồ. Điều này đặc biệt hữu ích nếu bạn đang làm việc trên hai màn hình.

Lập trình trong Dragon IS giống như ghép một câu đố. Kết quả là bạn tập hợp toàn bộ bức tranh khảm, hiển thị toàn bộ mã phát triển. Hơn nữa, mã mô-đun, được tự động xuất ra, có thể được sao chép và đặt vào bộ cấu hình một cách đơn giản. Tất nhiên, hãy kiểm tra để đảm bảo tính logic không bị hỏng ở bất kỳ đâu.

Phần kết luận

Ngôn ngữ DRAKON thuận tiện sử dụng cho việc đào tạo nhân viên và giao tiếp với khách hàng cũng như khi phát triển và hỗ trợ các cấu hình trên 1C.

Về phần phát triển, tôi làm việc trên nhiều dự án mà định kỳ tôi phải khôi phục một số chức năng, hoàn thành một số thứ, phân tích một số mã phức tạp của người khác, v.v. Và trong suốt thời gian làm việc, tôi chưa bao giờ gặp một đoạn mã nào do một lập trình viên viết mà tôi không thể mô tả bằng ngôn ngữ DRAGON.

IP Dragon là sản phẩm được đóng hộp hỗ trợ nhiều ngôn ngữ khác nhau. Tôi làm việc với 1C, nhưng nó cũng hỗ trợ C++, ngôn ngữ của bộ vi điều khiển và một số ngôn ngữ khác. Bản thân sản phẩm được bán bởi tác giả. Của anh ấy phiên bản đầy đủ nặng rất ít và không tốn kém. Có phiên bản demo miễn phí, có thể được sử dụng làm phòng xem.

Do đó, nếu bạn cần nhanh chóng triển khai 1C, đào tạo nhân viên làm việc trong hệ thống và hỗ trợ hoạt động tiếp theo của doanh nghiệp mà không phải trả thêm chi phí, thì tôi khuyên bạn nên sử dụng toàn bộ hoặc một phần công nghệ này.

Bài viết này được viết dựa trên kết quả của một báo cáo được đưa ra tại hội nghị KẾT NỐI INFOStart EVENT 2015 vào ngày 15-17/10/2015

Chúng tôi mời bạn đến một hội nghị mới.

Nhà phát triển chương trình Tyshov Gennady Nikolaevich
Severodvinsk, làm việc tại OJSC SPO Arktika, www.spoarktika.ru.

Chương trình "IS Dragon" dành cho:
- thuật toán thực tế cho các hoạt động của bạn,
- xây dựng nhiệm vụ của bạn,
- chính thức hóa kiến ​​​​thức của bạn.

Chương trình là một công cụ:
- kỹ thuật trực quan của tư duy và giao tiếp,
- thiết kế trực quan các thuật toán và chương trình hoạt động,
- lập trình trực quan,
- hình thành các cơ sở hoạt động thuật toán.

Chương trình "IS Dragon" (Môi trường tích hợp Rồng) là môi trường làm việc với các thuật toán của Dragon.
Với sự trợ giúp của IS Dragon, văn hóa thuật toán đang được đưa vào nhiều loại hoạt động.

Tải chương trình "IS Dragon"

Hướng dẫn sử dụng

    Người dùng có thể lưu tệp đồ họa của bảng Rồng hoặc sơ đồ Rồng. Bằng cách mở tệp đồ họa trong trình chỉnh sửa đồ họa, bạn có thể thêm, chẳng hạn như các thuộc tính đồ họa của tổ chức và bạn có thể in một bản sao giấy.

    Người dùng có thể sao chép hình ảnh Dragon Sheet hoặc Dragon lược vào bộ đệm hệ thống. Hình ảnh từ bộ đệm hệ thống có thể được chèn vào văn bản hoặc tài liệu đồ họa đã chỉnh sửa. Hình ảnh có thể được sao chép vào bộ đệm từ màn hình với các thành phần của quá trình chỉnh sửa (với con trỏ đồ họa và điểm nhập biểu tượng được đánh dấu), điều này cho phép bạn biên soạn hướng dẫn sử dụng Dragon IS và hướng dẫn sử dụng cho người dùng thuật toán Dragon.

    Ngoài bản sao giấy của thuật toán Dragon, người dùng có thể nhận được tệp văn bản có thông tin đi kèm từ văn bản A-, B-, P. Điều này tạo ra khả năng xuất bản các thuật toán Dragon đầy đủ chức năng.

    Người dùng có thể chỉ định tên tệp hoặc liên kết Internet trong văn bản của thuật toán Dragon. Khi đánh dấu tên tệp, bạn có thể chạy tệp hoặc mở tệp hoặc liên kết. Việc mở được thực hiện bằng cách sử dụng liên kết các phần mở rộng tệp và ứng dụng được cài đặt trên máy tính. Nếu không có đường dẫn trong tên tệp, tệp sẽ được chọn bằng cách tìm kiếm tệp trong thư mục chương trình. Trong tương lai, dự kiến ​​​​sẽ tìm kiếm một tệp trong thư mục con " Tệp D" Trong tương lai, người ta dự kiến ​​có thể đặt tên tệp và liên kết trong thư mục " » để thực thi bằng phím nóng mà không tô sáng trong văn bản.

    Người dùng, sử dụng khả năng chỉ định các tệp, tạo ra một môi trường thông tin bên ngoài và theo ngữ cảnh của thuật toán, bao gồm cả không gian Internet.

Hướng dẫn dành cho lập trình viên

    Người dùng có thể có một tệp văn bản với các mẫu mã chương trình bằng ngôn ngữ lập trình đã chọn và sao chép nó vào cửa sổ thông báo. Chọn một mẫu trong cửa sổ thông báo và sử dụng bộ đệm hệ thống để chuyển văn bản mẫu vào văn bản thuật toán.

    Người dùng có thể thiết lập việc sử dụng tệp bó " Rồng.bat» khi ghép mã chương trình thành file chương trình bằng ngôn ngữ lập trình. Trong trường hợp này, một danh sách các tệp chương trình được tạo, chuyển sang tệp lệnh và tệp lệnh được khởi chạy để thực thi. Điều này kết hợp lập trình với dịch thuật và gỡ lỗi.

    Người dùng có thể đặt chế độ tập hợp mã chương trình bằng cách thay thế văn bản P bị thiếu trong các biểu tượng bằng nhận xét bằng văn bản “ ……Không có văn bản" Điều này cho phép bạn chặn các thông báo lỗi và thực hiện dịch sớm trong quá trình phát triển thuật toán.

    Người dùng có thể đặt chế độ tạo mã chương trình để bật mã theo dõi để thực thi các biểu tượng được đánh dấu.

    Người dùng có thể tạo văn bản liệt kê thuật toán cho bảng Rồng. Văn bản của danh sách thuật toán sẽ cho phép bạn so sánh các phiên bản của thuật toán theo chương trình và tìm những nơi thay đổi.

    Người dùng có thể đặt thuộc tính cho sơ đồ Silhouette Máy móc thực hiện lập trình tự động các máy trạng thái hữu hạn bằng công nghệ CÔNG TẮC. Cơ hội được giới thiệu theo gợi ý của S.D. Efanova.

    Khuyến cáo, ngoài các trang Dragon với thuật toán và mã chương trình, còn tạo các trang Dragon kèm hướng dẫn vận hành phần mềm cho người dùng. Hướng dẫn được truyền tới người dùng cùng với Dragon IS. Đây là phương pháp làm việc tại IS Dragon của A.A. Araptanov trong hệ thống 1C.

Chương trình có các công cụ tùy biến cho nhiều ngôn ngữ lập trình khác nhau. Chương trình cho phép bạn tập hợp các lược đồ Dragon thành mã nguồn của chương trình bằng các ngôn ngữ có toán tử: nhận xét, nhãn, nhảy vô điều kiện (GOTO), nhảy theo điều kiện; ví dụ: các ngôn ngữ thuộc họ 1C, Delphi, C. Mã chương trình biểu tượng được Route Translator nội bộ tập hợp thành một tệp.

Trình bảo vệ màn hình của chương trình IS Dragon


Lá rồng là gì?


    Lá rồng được hiển thị ở chế độ lập trình.

    Điểm nhập văn bản (tối đa 4 ô vuông) là văn bản A, B, S, P.

    Điểm A, B dùng để nhập thông tin kèm theo, điểm P dùng để nhập mã chương trình, điểm S dùng để xem mã chương trình đã thu thập. Nếu có văn bản, hình vuông sẽ chuyển sang màu tối.

    Bạn có biết tôi không? Các vị trí bắt buộc để nhập văn bản vào biểu tượng đã được đánh dấu.

Chỉnh sửa sơ đồ rồng

Biểu tượng 3 được chọn để chỉnh sửa.
Dấu hiệu "?" biểu tượng Địa chỉ và Chi nhánh cho biết không có sự chuyển giao quyền kiểm soát. Việc chuyển giao quyền kiểm soát được biểu thị trực quan bằng một đường đứt nét.


Đặc thù

Một tính năng đặc biệt của chương trình là mức độ tự động hóa cao của đầu vào đồ họa.

Tính năng thứ hai là mỗi biểu tượng có một số (tối đa 4) cấp độ nhập văn bản. Một trong các cấp độ này được hiển thị trên “nội dung” của biểu tượng, cấp độ còn lại có thể chứa một đoạn mã chương trình. Các cấp độ còn lại (A-text, B-text, P-text, S-text) có thể được sử dụng tùy ý, chẳng hạn như chứa các nhận xét chi tiết, liên kết và thông tin hỗ trợ.

Để hiển thị quy trình kinh doanh, các biểu tượng được bổ sung tên của những người tham gia quy trình kinh doanh.

Tất cả các văn bản được hiển thị có thể có nhiều dòng và lớn.
Số dòng tối đa trong một biểu tượng được đặt trong cài đặt chương trình; toàn bộ văn bản được hiển thị trong trình soạn thảo văn bản trên tab.

Mô tả định dạng DRT

Hướng dẫn làm việc với IS Dragon

Để in, hãy làm như sau: lưu tệp đồ họa, in nó trong PAINT. Có các tùy chọn in với tỷ lệ và bố cục trên một số tờ A4, có các cài đặt để in.

Bài học từ RỒNG

Để nắm vững các kỹ thuật làm việc với chương trình Dragon IS, việc xem video rất hữu ích. Quá trình từ lần khởi chạy đầu tiên của trình chỉnh sửa đến tải chương trình cơ sở kết quả vào bộ vi xử lý được hiển thị.

Trang web bổ sung của chương trình IS Dragon

Tùy chọn văn bản và tập tin của giáo án Rồng

Bản thảo của Gennady Tyshov

Thông tin kèm theo có thể chứa chỉ dẫn về các văn bản lập pháp, tổ chức, hành chính và chứa các đoạn văn bản.

Sự sẵn có của thông tin đi kèm là quan trọng đối với những người làm việc với các thuật toán có ý nghĩa pháp lý. Sự hiện diện của thông tin đi kèm với biểu tượng chứng minh nguồn gốc và giá trị pháp lý của quy phạm pháp luật được hiển thị trong biểu tượng. Chính sự hiện diện của thông tin đi kèm sẽ quyết định mức độ liên quan của thuật toán Dragon có ý nghĩa pháp lý.

Chương trình Dragon IS được phát triển trên nền tảng ngôn ngữ thuật toán trực quan Dragon và Gnome do V.D. Paronjanov và tiêu chuẩn tiểu bang GOST 19.701-90 (ISO 5807–85). Ý tưởng và mục tiêu của ngôn ngữ Rồng đã được phát triển để sử dụng thực tế và rộng rãi.

Kiến thức tự tạo, thuật toán - mô tả thứ tự các hành động với một đối tượng, được hiển thị dưới dạng sơ đồ Dragon nguyên thủyBóng.
Kiến thức khai báo- trả lời câu hỏi: “Đây là gì?”, được hiển thị trong sơ đồ Rồng có dạng Quỷ lùn.

Việc tạo và chỉnh sửa sơ đồ Rồng được thực hiện trong Dragon IS.

Thuật toán rồng trên máy tính bảng
Một số vấn đề về sử dụng thuật toán Dragon tạo trong Dragon IS được thảo luận trên diễn đàn với chủ đề “Dragon IS và Android”.

IS Dragon hoạt động trên các hệ điều hành khác
Trong hệ điều hành giống UNIX, nó hoạt động với chương trình Wine.
Trên MacOS, nó hoạt động với Parallels Desktop.

Các thao tác đối với biểu tượng 19 và 21 được thực hiện bởi những người tham gia quy trình nghiệp vụ.
Lá rồng được hiển thị ở chế độ lập trình.
Điểm nhập văn bản (tối đa 4 ô vuông) là văn bản A,B,S,P: A,B để nhập thông tin đi kèm, P để nhập mã chương trình, S để xem mã chương trình đã thu thập. Nếu có văn bản, hình vuông sẽ tối.
Trang tính có thể đi kèm với các đầu trang và chân trang: trên giữa, dưới cùng bên trái, dưới giữa, dưới cùng bên phải.
Dấu “?” đánh dấu các vị trí cần nhập văn bản vào biểu tượng, vị trí nhập biểu tượng vào khối biểu tượng để đảm bảo chức năng của khối.

Thuật toán không cần người lập trình - rất đơn giản!

TRÊN TIẾP CẬN VỚI MỘT NGÔN NGỮ MỚI

Trong một số phần trong cuốn sách của mình, tôi đã đi xa hơn những lý thuyết mà trong đó tôi có thể khẳng định quyền sở hữu.
kiến thức chuyên môn nào đó. Tôi xin những người có vùng đất được bảo vệ mà tôi đã xâm chiếm hãy tha thứ cho sự liều lĩnh của tôi. Và nếu những chiếc cúp riêng lẻ mà tôi viết chỉ tồn tại trong trí tưởng tượng của tôi, thì ít nhất việc săn trộm như vậy không gây ra bất kỳ tổn hại nào cho chủ sở hữu hợp pháp, trong khi một người lạ ngẫu nhiên đôi khi có thể nhìn thấy điều gì đó vừa bất ngờ vừa có thật.

George Paget Thomson

TẠI SAO CẦN CÓ NGÔN NGỮ RỒNG?

DRAGON là một ngôn ngữ thuật toán có một đặc tính khác thường: đồng thời là ngôn ngữ mô tả cấu trúc hoạt động, ngôn ngữ của sự hiểu biết và hiểu biết lẫn nhau, đồng thời là ngôn ngữ để phát triển trí thông minh. Là một ngôn ngữ lập trình, nó đáp ứng các yêu cầu về độ chính xác toán học, cho phép người ta lấy được mã đối tượng (mã máy cho máy tính) một cách rõ ràng từ văn bản nguồn. Nhưng đó không phải là điểm chính. Khi tạo ra DRAGON, yếu tố con người được chú trọng chính, nâng cao khả năng hiển thị và tính dễ hiểu của các dự án, công nghệ kỹ thuật và xã hội, cải thiện đặc tính công thái học của thuật toán, không phải bằng lời nói mà bằng hành động để biến DRAGON thành ngôn ngữ cho cải thiện chức năng của tâm trí, một ngôn ngữ của sự hiểu biết và hiểu biết lẫn nhau.

Mặc dù DRAGON trông rất giống với các sơ đồ thuật toán và chương trình thông thường, nhưng trên thực tế, đây là một sự phát triển ban đầu. Tương tự chức năng gần nhất của DRAGON nên được coi là sơ đồ hành động và sơ đồ hoạt động.

Đối với những độc giả tỉ mỉ, yêu thích chi tiết, những “họ hàng” xa hơn cũng có thể được gọi là tương tự của DRAGON - ở mức độ này hay mức độ khác. Chúng bao gồm: sơ đồ Nessie-Shneiderman, sơ đồ HOS, sơ đồ greenprint, sơ đồ NEC SPD, sơ đồ Hitachi PAD, cây và bảng quyết định, sơ đồ phân rã, sơ đồ phụ thuộc, ngôn ngữ SDL và các dẫn xuất của nó, hệ thống BLS, được tạo bởi A. Smolyaninov từ St. Đại học Kỹ thuật Điện Petersburg, sơ đồ R của I. Velbitsky, sơ đồ của V. Prokhorov, v.v.

BÍ MẬT CỦA RỒNG LÀ GÌ? - THEO PHƯƠNG PHÁP TIẾP CẬN NHẬN THỨC

Tuy nhiên, so sánh với các chất tương tự trong trường hợp này là không hiệu quả, vì nó không cho phép chúng ta bộc lộ tính năng quan trọng nhất của DRAGON, được gọi là “phương pháp nhận thức”. Thuật ngữ “nhận thức” (cognitive) vẫn chưa trở nên phổ biến trong giới thiết kế, phát triển, kỹ sư và lập trình viên, nhưng nó là mật khẩu bí mật của một trật tự khoa học mới đầy quyền lực, hay nói đúng hơn là biểu ngữ của hai hướng mới đang phát triển nhanh chóng trong tâm lý học và khoa học về trí thông minh, được gọi là tâm lý học nhận thức và khoa học nhận thức.

Một trong những mục tiêu của những ngành học này là xác định nguồn dự trữ tiềm ẩn của bộ não con người và tăng năng suất sáng tạo của những người lao động trí tuệ.
Bản chất của câu hỏi là như sau. Các nhà phát triển các dự án kỹ thuật và xã hội, những người lao động trí tuệ là những người sống có bộ não, những khả năng của bộ não này, mặc dù tuyệt vời nhưng vẫn không phải là vô hạn. Như vậy, vấn đề thiết kế không chỉ là vấn đề kỹ thuật mà còn là vấn đề con người, nhận thức, tức là vấn đề nhận thức.

Trong cuốn sách này, yếu tố nhận thức đề cập đến các mặt nhận thức, trí tuệ, tư duy, sáng tạo trong hoạt động của các nhà khoa học, chuyên gia và sinh viên. Đối tượng của thiết kế kỹ thuật và xã hội càng phức tạp thì điều quan trọng hơn là phải nhấn mạnh sự cần thiết phải tính đến các đặc điểm nhận thức trong hoạt động của con người một cách cẩn thận. Viện sĩ P. Simonov nhấn mạnh: đối với các nhà phát triển hệ thống, “điều cực kỳ quan trọng là phải biết các quy tắc, theo đó bộ não sống nhận thức, xử lý, ghi lại và sử dụng thông tin mới thu được. Thông tin về những quy luật như vậy được xác định trong thí nghiệm được cung cấp bởi tâm lý học nhận thức.”
Sử dụng các quy tắc này cho phép bạn đạt được kết quả thiết thực - tăng năng suất làm việc trí óc.

TẠI SAO MỌI NGƯỜI KHÔNG QUAN TÂM ĐẾN NÃO BỘ CỦA MÌNH?

Trong hai thập kỷ qua, nghiên cứu sinh học thần kinh và tâm lý học đã cung cấp những hiểu biết mới và cực kỳ quan trọng về hoạt động của não. Chúng mở đường cho những biến đổi mang tính cách mạng của lao động trí tuệ, tạo điều kiện tiên quyết cho sự gia tăng triệt để năng suất sáng tạo tạo ra tri thức. Trên thực tế, chúng ta đang ở ngưỡng cửa của một cuộc cải cách chiến lược về lao động trí tuệ, hứa hẹn đưa nguồn dự trữ mạnh mẽ mới của bộ não và trí tuệ con người vào công việc sáng tạo. Nhưng những kết quả này, do những rào cản liên ngành đã biết, vẫn chưa trở thành tài sản của các nhà thiết kế, kỹ sư và lập trình viên đang phát triển các hệ thống xã hội và kỹ thuật phức tạp. Kết quả là một tình huống nghịch lý đã được tạo ra. Hãy giải thích tình huống bằng một ví dụ.

Lập trình được thực hiện bởi những người có bộ não. Tuy nhiên, cho đến nay, các ngôn ngữ, phương pháp và lý thuyết lập trình được xây dựng mà không tính đến thiết kế của bộ não. Không thể tối đa hóa năng suất sáng tạo của bộ não lập trình viên nếu không tính đến thiết kế của nó. Vì vậy, những cách tạo ra ngôn ngữ lập trình và công nghệ truyền thống bỏ qua thiết kế của bộ não đã lỗi thời và không hiệu quả.

Có vẻ như kết luận này cũng đúng trong những trường hợp khác. Việc bỏ qua các mô hình chức năng não và không chú ý đầy đủ đến các vấn đề nhận thức sẽ dẫn đến những hậu quả khó chịu: sự hiểu lầm lẫn nhau giữa các đồng tác giả của các dự án phức tạp, quan niệm sai lầm nghiêm trọng về kiến ​​thức khoa học, những tính toán sai lầm lớn về khoa học và kỹ thuật, việc loại bỏ chúng đòi hỏi chi phí vật chất đáng kể (liên quan đến sửa đổi thiết kế đắt tiền và sửa đổi phần mềm tốn nhiều công sức), cũng như làm giảm đáng kể năng suất lao động của các nhà phát triển và những người tham gia khác trong các dự án kỹ thuật và xã hội.

Khoa học về yếu tố con người được gọi là công thái học. Các vấn đề về nhận thức là một phần quan trọng của công thái học. Để tách nhóm nhận thức khỏi các vấn đề công thái học khác, thuật ngữ “công thái học nhận thức” và “các vấn đề về công thái học nhận thức” đôi khi được sử dụng.

DRAGON SẼ TRỞ THÀNH NHÀ VÔ ĐỊCH THẾ GIỚI TRONG TIÊU CHUẨN “DỄ DÀNG CỦA THUỐC THUẬT”?

Cuốn sách này có tính chất hoàn toàn thực tế. Dưới đây sẽ chỉ ra rằng cách tiếp cận nhận thức là một phương pháp làm việc mang lại kết quả hữu ích: nâng cao hiểu biết về các thuật toán và chương trình, dự án và công nghệ, tăng năng suất của công việc trí tuệ phức tạp. Chúng tôi sẽ cố gắng chứng minh luận điểm này bằng cách tiết lộ dần dần các đặc điểm của ngôn ngữ DRAGON.

Giống như tất cả các ngôn ngữ khác, DRAGON dựa trên toán học và logic. Tuy nhiên, ngoài điều đó, nó còn tính đến các vấn đề về nhận thức một cách cẩn thận nhất. Nhờ sử dụng có hệ thống các phương pháp nhận thức-công thái học, DRAGON có được các đặc tính công thái học độc đáo. Có thể giả định rằng trong tương lai DRAGON sẽ có thể khẳng định danh hiệu quán quân ở tiêu chí “dễ hiểu các thuật toán và chương trình” (trong lớp ngôn ngữ mệnh lệnh).

DRAGON có thể được định nghĩa là ngôn ngữ hình ảnh có thể truy cập công khai được thiết kế để mô tả cấu trúc của các hoạt động, để hệ thống hóa, cấu trúc, trình bày trực quan và chính thức hóa kiến ​​thức mệnh lệnh, cũng như để thiết kế, lập trình, mô hình hóa và đào tạo. Nó là ngôn ngữ liên ngành phổ quát của thế giới kinh doanh, được sử dụng để mô tả các nhiệm vụ khoa học, kỹ thuật, y tế, sinh học, kinh tế, xã hội, giáo dục và các nhiệm vụ khác. DRAGON cho phép bạn tổ chức và trình bày giải pháp cho bất kỳ vấn đề nào, bất kể phức tạp, cấp thiết (thủ tục, dựa trên hoạt động, công nghệ, công thức, thuật toán) dưới dạng bản vẽ trực quan được thực hiện theo nguyên tắc “ Tôi nhìn và hiểu ngay!”.

Tính nhân văn của ngôn ngữ DRAGON, mong muốn tạo ra sự thoải mái tối đa cho hoạt động của bộ não con người và mọi mối quan tâm có thể có trong việc tăng năng suất sáng tạo của nhân sự cho phép chúng ta hy vọng rằng DRAGON sẽ nhận được ứng dụng rộng rãi nhất trong nền kinh tế quốc dân, kinh doanh, quốc phòng, khoa học và hệ thống giáo dục. Sử dụng không chỉ các hình thức trình bày kiến ​​thức trực quan mà còn cực kỳ trực quan, tạo điều kiện thuận lợi cho hoạt động của não, DRAGON mang lại sự gia tăng rõ rệt về năng suất của công việc trí tuệ.
Ngôn ngữ DRAKON dựa trên ý tưởng hình thức hóa nhận thức của kiến ​​​​thức, giúp kết hợp tính chặt chẽ của hình thức hóa logic-toán học với việc xem xét chính xác các đặc điểm nhận thức (nhận thức) của một người. Kết quả là, có thể đơn giản hóa và tạo điều kiện thuận lợi một cách triệt để quy trình mô tả cấu trúc hoạt động, chính thức hóa kiến ​​thức chuyên môn của các chuyên gia, tiêu chuẩn hóa và làm cho nó phù hợp để sử dụng rộng rãi trong thực tế. Điều này áp dụng như nhau cho cả hoạt động trí tuệ trên máy tính và “không phải máy tính” của con người.

Do đó, mục tiêu chính của việc tạo ra ngôn ngữ DRAKON là mang lại bước nhảy vọt về chất trong việc tăng năng suất của công việc trí tuệ phức tạp bằng cách tăng năng suất trí tuệ của bộ não con người, xác định và sử dụng đầy đủ hơn nguồn dự trữ trí tuệ của con người và tạo ra các điều kiện tiên quyết về nhận thức cho hiệu quả sử dụng công nghệ thông tin tăng lên đáng kể.

NGÔN NGỮ RỒNG ĐƯỢC THIẾT KẾ CHO AI?

Ngôn ngữ được thiết kế như nhau cho bốn loại người:
- dành cho những người hoàn toàn xa lạ (hoặc ít quen thuộc) với lập trình và công nghệ máy tính: thợ cơ khí, thợ điện, kỹ sư phức hợp, kỹ sư dụng cụ, người kiểm tra, nhà vật lý, nhà hóa học, nhà địa chất, nhà sinh vật học, bác sĩ, nhà nông học, nhà kinh tế, luật sư, nhà tâm lý học, v.v. ;
- dành cho các lập trình viên, nhà toán học và nhà phát triển máy tính chuyên nghiệp, bao gồm các chuyên gia về hệ điều hành, lập trình hệ thống và ứng dụng, cũng như lập trình vi mô (dành cho máy tính cá nhân, phổ thông, điều khiển và tích hợp);
- dành cho học sinh và sinh viên;
- dành cho các nhà quản lý ở nhiều cấp độ muốn hiểu bản chất của các vấn đề phức tạp trong một khoảng thời gian tối thiểu.

DANH MỤC NHIỆM VỤ GIẢI QUYẾT SỬ DỤNG NGÔN NGỮ RỒNG

Ngôn ngữ DRAGON có thể được sử dụng để giải quyết các vấn đề sau:

Mô tả cấu trúc hoạt động của con người;
- trình bày trực quan về kiến ​​thức cấp thiết trong bất kỳ lĩnh vực nào của nền kinh tế quốc dân, khoa học và giáo dục;
- mô tả các giải pháp khái niệm và mô hình mệnh lệnh;
- thiết kế các thuật toán và chương trình;
- phát triển các thuật toán và chương trình;
- thiết kế các quy trình công nghệ;
- mô tả về bất kỳ công nghệ nào (công nghiệp, nông nghiệp, y tế, sư phạm, quản lý, v.v.);
- mô tả quá trình thiết kế;
- mô tả các quá trình hoạt động của các hệ thống và thiết bị rời rạc, bao gồm cả hệ thống thông minh;
- mô tả dữ liệu ban đầu để phát triển hệ thống thiết kế có sự trợ giúp của máy tính và hệ thống tự động hóa cho nghiên cứu khoa học;
- mô tả quá trình giải các bài toán;
- mô tả đối thoại và tương tác giữa người vận hành và máy (bảng điều khiển);
- mô tả quá trình thử nghiệm và xử lý sự cố;
- giải quyết các vấn đề chẩn đoán trong bất kỳ lĩnh vực chủ đề nào;
- phát triển vi chương trình;
- mô tả quá trình hoạt động của tổ chức, doanh nghiệp;
- tự động chính thức hóa kiến ​​thức chuyên môn của các nhà khoa học, nhà thiết kế, nhà toán học, bác sĩ, luật sư, nhà nông học, nhà tâm lý học, nhà điều hành, v.v.;
- Giải quyết các vấn đề giáo dục: dạy các kỹ năng thuật toán hóa, lập trình và tự động hóa kiến ​​thức trong thời gian cực ngắn.

Như đã đề cập, chức năng tương tự của DRAGON là các mẫu hành động và các mẫu hoạt động. DRAGON có khả năng thực hiện tất cả các chức năng sau (điều ngược lại là không đúng). Do đó, danh sách có thể được tiếp tục bằng cách bao gồm các nhiệm vụ được giải quyết bằng các chương trình hành động. Điều này sẽ cho phép chúng tôi mô tả một số chức năng của RỒNG bằng cách sử dụng các thuật ngữ đặc trưng của văn học Mỹ:

Tổng quan chiến lược về các chức năng của công ty;
- mô tả mối quan hệ logic giữa các quá trình;
- mô tả cấu trúc chương trình tổng thể;
- mô tả logic chương trình chi tiết;
- phân tách hoàn toàn các chương trình (phân tách cuối cùng), bắt đầu từ logic quy mô lớn và kết thúc bằng các chi tiết mã, điều này hữu ích như nhau trong cả thiết kế từ trên xuống và thiết kế từ dưới lên;
- việc thiết kế chương trình cho đến thời điểm cuối cùng có thể được thực hiện bất kể ngôn ngữ và chỉ ở giai đoạn cuối mới thực hiện chuyển đổi sang ngôn ngữ mong muốn;
- đào tạo người dùng cuối, khuyến khích họ phân tích và thiết kế logic quy trình chi tiết;
- mô tả các thủ tục quản lý của tổ chức;
- mô tả các phương pháp máy tính;
- Mô tả các phương pháp của công nghệ thông tin.

Có thể thấy từ danh sách này, DRAGON có đặc tính linh hoạt, tỏ ra hữu ích trong việc giải quyết nhiều vấn đề đa dạng. Nhờ đó, DRAGON đóng vai trò như một ngôn ngữ phổ biến trong giao tiếp kinh doanh và hiểu biết lẫn nhau dành cho các chuyên gia trong các chuyên ngành khác nhau. Ngoài ra, DRAGON tạo điều kiện thuận lợi đáng kể cho quá trình hình thức hóa kiến ​​thức, mở ra những cơ hội mới để tăng mức độ tự động hóa trong thiết kế và vận hành các đối tượng phức tạp.

KẾT LUẬN

1. Các mục tiêu và phương pháp truyền thống để tạo ngôn ngữ nhân tạo, đặc biệt là các ngôn ngữ lập trình, phần lớn được coi là đã lỗi thời.

2. Nghiên cứu gần đây trong các lĩnh vực khoa học thần kinh, tâm lý học, khoa học nhận thức và công thái học đã cung cấp những thông tin mới và cực kỳ có giá trị về hoạt động của não, những thông tin này có thể và nên được sử dụng trong quá trình phát triển một thế hệ ngôn ngữ mới nhằm tăng năng suất của bộ não con người.

3. Hiện tại, chưa có chiến lược xuyên suốt nhằm xóa bỏ các rào cản liên ngành, với mục tiêu trang bị cho các nhà phát triển ngôn ngữ nhân tạo thế hệ tiếp theo những kiến ​​thức sâu rộng về lĩnh vực khoa học con người, yếu tố con người và trí tuệ con người. Sự thiếu hụt này phải được loại bỏ càng sớm càng tốt.

4. Khái niệm ngôn ngữ nhân tạo thế hệ mới dựa trên cách tiếp cận liên ngành và thay đổi hoàn toàn các quan niệm truyền thống về mục đích của ngôn ngữ nhân tạo và đặt ra các yêu cầu ưu tiên đối với chúng. Các vấn đề, yêu cầu nhân đạo được đặt lên hàng đầu và phải được trình bày chi tiết phù hợp.