Trong ngành khoa học máy tính, các phương pháp hình thức là các kỹ thuật toán học cho việc đặc tả, phát triển và kiểm định các hệ thống phần mềm và phần cứng. Cách tiếp cận này đặc biệt quan trọng đối với các hệ thống cần có tính toàn vẹn cao, chẳng hạn hệ thống điều khiển lò phản ứng hạt nhân hay điều khiển tên lửa, khi an toàn hay an ninh có vai trò quan trọng, để góp phần đảm bảo rằng quá trình phát triển hệ thống sẽ không có lỗi. Các phương pháp hình thức đặc biệt hiệu quả tại giai đoạn đầu của quá trình phát triển (tại các mức yêu cầu và đặc tả hệ thống), nhưng cũng có thể được sử dụng cho một quá trình phát triển hoàn chỉnh của một hệ thống.
Phân loại
Các phương pháp hình thức có thể được sử dụng tại nhiều mức:
Mức 0: Đặc tả hình thức có thể được thực hiện và rồi một chương trình được phát triển từ đặc tả này một cách không hình thức. Trong nhiều trường hợp, cách này có thể là lựa chọn hiệu quả nhất về mặt chi phí.
Mức 1: Sử dụng phát triển và kiểm định hình thức để tạo một chương trình theo một quy trình hình thức hơn. Ví dụ, có thể thực hiện các chứng minh về các tính chất hoặc quá trình tinh chỉnh (refinement) từ đặc tả hình thức tới một chương trình. Đây có thể là lựa chọn phù hợp nhất đối với các hệ thống yêu cầu tính toàn vẹn cao với các tiêu chí về an toàn và an ninh.
Mức 2: Sử dụng các bộ chứng minh định lý (theorem prover) để thực hiện các chứng minh hình thức hoàn toàn và được kiểm chứng bằng máy móc. Việc này có thể đòi hỏi chi phí rất cao và chỉ đáng lựa chọn trong thực tiễn nếu phí tồn cho các lỗi sai là cực kỳ cao (ví dụ, trong các phần quan trọng của thiết kế bộ vi xử lý).
Cùng với ngành con Ngữ nghĩa hình thức của ngôn ngữ lập trình, các phương pháp hình thức có thể được phân loại tương đối như sau:
Ngữ nghĩa ký hiệu (Denotational semantics), trong đó ý nghĩa của một hệ thống được biểu diễn bằng lý thuyết toán học về miền xác định. Lợi điểm của những phương pháp này phụ thuộc vào bản chất được hiểu rõ của các miền xác định để từ đó đem lại ý nghĩa cho hệ thống; các phê phán chỉ ra rằng không phải hệ thống nào cũng có thể được nhìn một cách tự nhiên hoặc trực quan dưới dạng một hàm số.
Ngữ nghĩ hoạt động (Operational semantics), trong đó, ý nghĩa của một hệ thống được biểu diễn bằng một chuỗi các hành động của một mô hình tính toán (giả thiết là) đơn giản hơn. Lợi điểm của phương pháp này là tính đơn giản của các mô hình tạo nên sự trong sáng của biểu diễn; nhược điểm là phương pháp này đã trì hoãn các vấn đề của ngữ nghĩa (ai định nghĩa ngữ nghĩa của các mô hình đơn giản hơn?)
Ngữ nghĩa tiên đề (Axiomatic semantics), trong đó ý nghĩa của hệ thống được biểu diễn theo các tiền điều kiện (precondition) và hậu điều kiện (postcondition), đây lần lượt là các điều kiện phải được thỏa mãn tại các thời điểm trước và sau khi hệ thống thực hiện một nhiệm vụ. Những người ủng hộ phương pháp này nói đến mối quan hệ của nó với lôgic kinh điển; những người phê phán nói rằng những ngữ nghĩa thuộc dạng này không thực sự mô tả xem hệ thống làm cái gì (chỉ là cái gì đúng trước đó và sau đó).
Sử dụng
Các phương pháp hình thức có thể được áp dụng tại nhiều điểm khác nhau trong cả quá trình phát triển phần mềm. (Tuy có thể nói đến một quá trình phát triển bất kỳ, để thuận tiện, ta sẽ dùng các thuật ngữ của mô hình thác nước).
Đặc tả
Các phương pháp hình thức có thể được sử dụng để mô tả về hệ thống cần phát triển, tại bất kỳ mức độ chi tiết nào mà ta muốn. Mô tả hình thức này có thể được sử dụng để hướng dẫn các hoạt động phát triển tiếp theo (xem các mục dưới); ngoài ra, nó có thể được sử dụng để kiểm định xem các yêu cầu cho hệ thống đang được phát triển đã được đặc tả một cách đầy đủ và chính xác hay chưa.
Nhu cầu về các hệ thống đặc tả hình thức đã được nói đến từ nhiều năm. Trong Báo cáo ALGOL 60, John Backus đã trình bày một hệ thống ký hiệu hình thức để mô tả cú pháp ngôn ngữ lập trình (sau này được đặc tên là Backus normal form hay Backus-Naur form (BNF) (Dạng chuẩn tắc Backus));
Phát triển
Khi một đặc tả hình thức đã được phát triển xong, đặc tả đó có thể được sử dụng làm một hướng dẫn trong quá trình hệ thống thực được phát triển (nghĩa là được hiện thực hóa trong phần mềm và/hoặc phần cứng). Ví dụ:
Nếu đặc tả hình thức là một ngữ nghĩa hoạt động, hành vi được quan sát của hệ thống thực sẽ có thể được so sánh với hành vi trong đặc tả (chính đặc tả cũng nên chạy được hoặc giả lập được). Thêm vào đó, các lệnh hoạt động của đặc tả có thể thích hợp cho việc dịch thẳng mã chạy được.
Nếu đặc tả hình thức là một ngữ nghĩa tiên đề, các tiền điều kiện và hậu điều kiện của đặc tả có thể trở thành các assertion
If the formal specification is in an axiomatic semantics, the preconditions and postconditions of the specification may become khẳng định (''assertion') trong mã chạy được.
Kiểm định
Khi một đặc tả hình thức đã được phát triển, đặc tả này có thể được dùng làm cơ sở cho việc chứng minh các tính chất của đặc tả.
Chứng minh của con người
Đôi khi, động cơ cho việc chứng minh tính đúng đắn của một hệ thống không phải là nhu cầu đảm bảo tính đúng đắn của hệ thống mà là mong muốn hiểu rõ hơn về hệ thống. Do đó, một số chứng minh được thực hiện dưới hình thức chứng minh toán học: viết tay hoặc đánh máy nội dung bằng ngôn ngữ tự nhiên, với mức độ phi hình thức như các chứng minh toán học thông thường mà con người vẫn thực hiện. Một chứng minh "tốt" là một chứng minh mà những người khác có thể đọc được và hiểu được.
Các phê phán đối với cách tiếp cận này nói rằng tính đa nghĩa cố hữu trong ngôn ngữ tự nhiên cho phép các lỗi sai trong các chứng minh đó có thể không bị phát hiện; nhiều khi, những lỗi tinh vi có thể xuất hiện trong các chi tiết mức thấp mà thường không được để ý đến bởi những chứng minh thuộc kiểu này. Ngoài ra, việc tạo ra các chứng minh tốt đòi hỏi trình độ toán học cao.
Chứng minh tự động
Ngược lại, ngày càng có nhiều quan tâm đến các chứng minh về tính đúng đắn của hệ thống bằng các phương tiện tự động. Các kỹ thuật tự động được phân thành hai loại chính:
Chứng minh định lý tự động, trong đó, khi cho trước một mô tả về hệ thống, một tập các tiên đề lôgic và một tập các quy tắc suy luận, một hệ thống sẽ cố gắng tự xây dựng một chứng minh hình thức từ đầu.
Kiểm tra mô hình, trong đó, một hệ thống kiểm định các tính chất nhất định bằng cách duyệt trong toàn bộ tất cả các trạng thái mà trong thời gian chạy, hệ thống có thể vào trạng thái đó.
Cả hai kỹ thuật trên đều hoạt động mà không cần đến sự hỗ trợ của con người. Các bộ chứng minh định lý tự động thường yêu cầu định hướng xem các tính chất nào là đáng quan tâm; các bộ kiểm tra mô hình có thể nhanh chóng sa lầy vào việc kiểm tra hàng triệu trạng thái không đáng quan tâm nếu không được cho trước một mô hình đủ trừu tượng.
Những người ủng hộ các hệ thống này cho rằng các kết quả của chúng có độ xác tính toán học cao hơn các chứng minh của con người, do tất cả các chi tiết buồn tẻ đã được kiểm định một cách có thuật toán. Việc huấn luyện cần thiết để có thể sử dụng được các hệ thống này cũng ít hơn đòi hỏi cần thiết cho việc tạo ra các chứng minh toán học tốt bằng tay. Nhờ đó, các kỹ thuật này có thể dùng được cho nhiều người hơn.
Những người phê phán cho rằng các hệ thống kiểu này giống như máy sấm truyền: chúng đưa ra các tuyên bố về sự thật nhưng lại không đưa ra giải thích nào về sự thực đó. Còn có cả vấn đề "kiểm định hệ kiểm định"; nếu chính chương trình tham gia công tác kiểm định không được chứng minh là đúng, thì có thể có lý do để nghi ngờ tính đúng đắn của các kết quả được tạo ra.
Phê phán
Bên cạnh các phê phán nội bộ nói trên, còn có các phê phán dành cho toàn bộ ngành các phương pháp hình thức. Với tầm phát triển hiện nay, các chứng minh về tính đúng đắn, bằng tay hoặc bằng máy tính, đòi hỏi nhiều thời gian (và do đó cả tiền bạc) để được tạo ra, với lợi ích hạn chế ngoài việc đảm bảo tính đúng đắn. Điều đó làm cho các phương pháp hình thức thường chỉ được dùng trong các lĩnh vực thu được lợi ích từ việc có được các chứng minh đó, hoặc sẽ gặp nguy hiểm nếu có các lỗi không được phát hiện. Ví dụ, trong kỹ thuật hàng không, các lỗi không được phát hiện có thể gây chết chóc, do đó các phương pháp hình thức được dùng rộng rãi trong ngành này hơn trong các lĩnh vực ứng dụng khác.
Trong ngành khoa học máy tính, **các phương pháp hình thức** là các kỹ thuật toán học cho việc đặc tả, phát triển và kiểm định các hệ thống phần mềm và phần cứng. Cách
nhỏ|300x300px|Mô hình CAD được sử dụng để in 3D. Quy trình lập mô hình thủ công chuẩn bị dữ liệu hình học cho đồ họa máy tính 3D tương tự nghệ thuật nhựa như điêu
Trong giải tích số, các **phương pháp Runge-Kutta** là một họ của các phương pháp lặp ẩn (implicit) và hiện (explicit), trong đó bao gồm thường trình nổi tiếng được gọi là các phương pháp
nhỏ|Phương pháp Monte Carlo Các **phương pháp Monte Carlo** là một lớp các thuật toán để giải quyết nhiều bài toán trên máy tính theo kiểu không tất định, thường bằng cách sử dụng các
**Phương pháp giáo dục** (hay còn gọi là **phương pháp dạy học**, **phương pháp giảng dạy**, **giáo dục học**, **sư phạm**) là cách thức sử dụng các nguồn lực trong giáo dục như giáo viên,
**Phương pháp khoa học** là một bộ các kỹ thuật nhằm nghiên cứu các hiện tượng, mục đích là để thu được kiến thức mới, hoặc chỉnh sửa và gắn kết với các kiến thức
Trong vật lý hạt nhân, **các phương pháp theo nguyên lý đầu** tìm cách mô tả hạt nhân nguyên tử từ dưới lên bằng cách giải phương trình Schrödinger không tương đối cho tất cả
**Phương pháp khối phổ** hay **phương pháp phổ khối lượng** (tiếng Anh: _Mass spectrometry_ - **MS**) là một kĩ thuật dùng để đo đạc _tỉ lệ khối lượng trên điện tích_ của ion; dùng thiết
Đông y, hay y học cổ truyền phương Đông, có một hệ thống phương pháp điều trị phong phú và đa dạng. Các phương pháp này không chỉ tập trung vào việc điều trị triệu
**Khoa học hình thức** là một nhánh của khoa học, có mục đích nghiên cứu các ngành liên quan đến hệ thống hình thức, chẳng hạn như logic, toán học, thống kê, trí tuệ nhân
Trong vật lý tính toán và Hóa tính toán, phương pháp **Hartree–Fock** (**HF**) là phương pháp gần đúng cho việc xác định hàm sóng và năng lượng của một hệ lượng tử nhiều hạt trong
**Phương pháp phần tử hữu hạn** là phương pháp số gần đúng để giải các bài toán được mô tả bởi các phương trình vi phân đạo hàm riêng trên miền xác định có hình
Phân tích phương trình vi phân từng phần bằng phương pháp số là một nhánh nghiên cứu của phân tích số, hay còn gọi là giải tích số, một lĩnh vực nghiên cứu về lời
1. BSC – Balanced Scorecard (Thẻ điểm cân bằng) Phương pháp quản trị BSC do Tiến sĩ Robert Kaplan và David Norton khởi xướng, sáng lập. Nhiều người nhầm tưởng BSC như một hệ thống
**Phương pháp Reid** là một kĩ thuật thẩm vấn được phát triển tại Hoa Kỳ bởi ông John E. Reid vào những năm 1950. Reid là một nhà tâm lí học, một chuyên gia đa
THS. NGUYỄN THỊ BÍCH NGUYỆT (Viện Kinh tế và Quản lý, Trường Đại học Bách Khoa Hà Nội) TÓM TẮT: Ứng dụng công nghệ trong lĩnh vực giáo dục là việc áp dụng, sử dụng
**Phương pháp loci** là phương pháp cải thiện trí nhớ lâu đời nhất từng được biết đến (loci ở đây là số nhiều của từ locus, có nghĩa là địa điểm hoặc nơi chốn). Phương
nhỏ|Xác thực **Xác thực** (, = thật hoặc chính thống, bắt nguồn từ 'authentes' = tác giả/người tạo ra) là một hành động nhằm thiết lập hoặc chứng thực một cái gì đó (hoặc một
Ngày nay, cùng với sự phát triển của khoa học, các phương pháp châm cứu ngày càng được tối ưu hóa đem lại hiệu quả điều trị và sự tiện lợi cho người bệnh. Hãy
BỘ ĐẶC TRỊ SẸO RỖ ALMONDS– Sản phẩm giúp bạn giúp bạn lấy lại làn da bằng phẳng, mịn màng như bạn hằng mơ ước.Sẹo rỗ là những vết hõm xuất hiện trên da với
**5S** là tên của một phương pháp quản lý, sắp xếp nơi làm việc. Nó được viết tắt của 5 từ trong tiếng Nhật gồm: Seiri (整理 Sàng lọc), Seiton (整頓 Sắp xếp), Seiso (清掃
Chuyên ngành Khoa Kiến Trúc Tóm tắt Những khái niệm chung và quy ước cơ bản về thể hiện hồ sơ kiến trúc. Các phương pháp thể hiện hồ sơ, bản vẽ thiết kế công
Triết học khác với cả khoa học lẫn toán học. Khác với khoa học, triết học không dựa trên các thí nghiệm hay quan sát, mà chỉ dựa trên suy tưởng. Và khác với toán
thumb|Minh họa phương pháp Euler. Đường cong chưa biết có màu xanh da trời và lời giải gần đúng của nó là đường nhiều cạnh màu đỏ. Trong toán học và khoa học máy tính,
nhỏ|Kiến thức truyền thông **Kiến thức truyền thông** xoay quanh các thực tiễn cho phép mọi người truy cập, đánh giá phê bình và tạo hoặc điều khiển phương tiện truyền thông. Kiến thức truyền
Tóm tắt Tư duy thiết kế đã trở thành một hiện tượng trong nhiều lĩnh vực, bao gồm cả lĩnh vực giáo dục. Tư duy thiết kế đã trở thành một phần của hầu hết
Hiện đang xuất hiện nhiều phương pháp/sản phẩm y tế giả mạo hoặc chưa được chứng minh, được khẳng định là có thể chẩn đoán, phòng ngừa hoặc chữa trị COVID-19. Vào tháng 3 năm
phải|nhỏ|250x250px| _Ức chế cuộc nổi dậy của người Ấn Độ bởi người Anh_, trong đó mô tả cuộc hành quyết của những kẻ nổi dậy bằng cách thổi bay người từ một khẩu súng đại
nhỏ|283x283px|Hình 1: Nguyên tắc và ý nghĩa cơ bản của chụp cắt lớp: chỉ thu hình các cấu trúc cần nghiên cứu ở cùng một mặt phẳng, theo trình tự nhất định. **Chụp cắt lớp**
**Quy trình phát triển phần mềm** _(software development methodology)_ là một cấu trúc bao gồm tập hợp các thao tác và các kết quả tương quan sử dụng trong việc phát triển để sản xuất
Trẻ hóa da là một phương pháp làm đẹp nhằm làm chậm quá trình lão hóa da, giúp mang lại làn da tươi trẻ, căng mịn, săn chắc hơn.Trẻ hóa da là phương pháp làm
Đây là một tài liệu chuyên sâu và thực tiễn, nhằm cung cấp kiến thức toàn diện về các kỹ thuật, giải pháp và kinh nghiệm xây dựng công trình trên nền đất yếu –
Nguyên nhân hình thành námNám da hình thành là do melanin trong cơ thể quyết định, có quá nhiều sắc tố này trong da sẽ khiến da bị sạm màu hơn hẳn. Đây là chất
công tác thiết kế, thi công và giảng dạy trong lĩnh vực xây dựng công trình ngầm trong môi trường đô thị — đặc biệt là theo phương pháp đào mở (open cut method). Trong
Bệnh viện Da liễu Trung ương là Bệnh viện chuyên khoa đầu ngành Da liễu có chức năng : Nghiên cứu mô hình bệnh tật, các phương pháp chẩn đoán, điều trị, dự phòng và
**Phương pháp Đường găng** hay **Phương pháp Đường găng CPM**, **Sơ đồ mạng CPM**, (tiếng Anh là _Critical Path Method_, viết tắt là CPM) loại kỹ thuật phân tích mạng tiến độ, công cụ quan
Mục đích của bài viết này là làm nổi bật những điểm quan trọng về nguồn gốc của các phương trình Navier–Stokes cũng như các ứng dụng và việc xây dựng công thức cho các
Các phương ngữ của tiếng Nhật chia thành hai nhóm chính, Đông (bao gồm cả Tokyo) và Tây (bao gồm cả Kyoto), với các phương ngữ của Kyushu và đảo Hachijō thường được phân biệt
thumb|Hình minh họa phương pháp chia đôi sau vài bước để chia đôi đoạn [a1;b1]. Chấm đỏ thể hiện nghiệm đúng của phương trình. Trong toán học, **phương pháp chia đôi** (tiếng Anh: bisection method
**_Sự thật và Phương pháp_** () là tác phẩm triết học lớn Hans-Georg Gadamer, xuất bản năm 1960. Trong _Sự thật và Phương pháp_, Gadamer triển khai khái niệm "thông diễn triết học" tương tự
Đây là danh sách các chiến thuật và phương pháp biểu tình liên quan đến cuộc biểu tình tại Hồng Kông năm 2019. ## Nguyên tắc chính ### Lãnh đạo phi tập trung Không giống
[[Tập_tin:Confirmed_exoplanets_by_methods_EPE.svg|nhỏ|400x400px|Số lần phát hiện ngoại hành tinh mỗi năm cho đến năm 2022, với màu sắc biểu thị phương pháp phát hiện: ]] Bất kỳ hành tinh nào cũng là nguồn sáng cực kỳ yếu
thế=Membership of the Convention on the Elimination of All Forms of Racial Discrimination|phải|nhỏ|400x400px| Tư cách thành viên của Công ước về xóa bỏ mọi hình thức phân biệt chủng tộc: **Công ước quốc tế về
Khung Định Hình Cột Sống Doctor Spine- Hỗ Trợ Cột Sống thoát vị đĩa đệm- thoái hóa-đau lưng-đau cột sống- bảo hành 2 năm Đừng bỏ qua nếu muốn chữa THOÁT VỊ ĐĨA ĐỆM, THOÁI
**Phương pháp đào tạo theo hệ thống tín chỉ** hay gọi tắt là **Hệ thống tín chỉ** là một phương thức đào tạo tiên tiến trong nền giáo dục của nhiều quốc gia trên thế
**Phương pháp d'Hondt** hoặc phương pháp Jefferson là phương pháp trung bình cao nhất để phân bổ số người đại diện trong nghị viện, và do đó là một loại đại diện theo tỷ lệ
CLEO NAILS & SPA hướng tới trở thành biểu tượng hàng đầu trong việc chăm sóc sắc đẹp bằng các phương pháp tự nhiên, giúp khách hàng tận hưởng và trải nghiệm những phương pháp
**Phương pháp làm lạnh Doppler** là một cơ chế được dùng để bẫy và làm lạnh nguyên tử hoặc ion. Phương pháp làm lạnh Doppler là một trong các phương pháp làm lạnh phổ biến
Trong động lực học chất lưu tính toán, các **phương pháp chụp sốc** là một loại kỹ thuật sử dụng cho việc tính toán dòng chảy không nhớt với sóng xung kích (shock waves). Tính