Robustness Principle
   HOME





Robustness Principle
In computing, the robustness principle is a design guideline for software that states: "be conservative in what you do, be liberal in what you accept from others". It is often reworded as: "be conservative in what you send, be liberal in what you accept". The principle is also known as Postel's law, after Jon Postel, who used the wording in an early specification of TCP. In other words, programs that send messages to other machines (or to other programs on the same machine) should conform completely to the specifications, but programs that receive messages should accept non-conformant input as long as the meaning is clear. Among programmers, to produce compatible functions, the principle is also known in the form: be contravariant in the input type and covariant in the output type. Interpretation The principle was first written down by Jon Postel in the 1979 IPv4 specification. RFC 1122 (1989) expanded on Postel's principle by recommending that programmers "assume that the ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and software. Computing has scientific, engineering, mathematical, technological, and social aspects. Major computing disciplines include computer engineering, computer science, cybersecurity, data science, information systems, information technology, and software engineering. The term ''computing'' is also synonymous with counting and calculation, calculating. In earlier times, it was used in reference to the action performed by Mechanical computer, mechanical computing machines, and before that, to Computer (occupation), human computers. History The history of computing is longer than the history of computing hardware and includes the history of methods intended for pen and paper (or for chalk and slate) with or without the aid of tables. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Onion Routing
Onion routing is a technique for anonymous communication over a computer network. In an onion network, messages are encapsulated in layers of encryption, analogous to the layers of an onion. The encrypted data is transmitted through a series of network nodes called "onion routers," each of which "peels" away a single layer, revealing the data's next destination. When the final layer is decrypted, the message arrives at its destination. The sender remains anonymous because each intermediary knows only the location of the immediately preceding and following nodes. While onion routing provides a high level of security and anonymity, there are methods to break the anonymity of this technique, such as timing analysis. History Onion routing was developed in the mid-1990s at the U.S. Naval Research Laboratory by employees Paul Syverson, Michael G. Reed, and David Goldschlag to protect U.S. intelligence communications online. It was then refined by the Defense Advanced Research P ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Internet Experiment Note
An Internet Experiment Note (IEN) is a sequentially numbered document in a series of technical publications issued by the participants of the early development work groups that created the precursors of the modern Internet. History After DARPA began the Internet program in earnest in 1977, the project members were in need of communication and documentation of their work in order to realize the concepts laid out by Bob Kahn and Vint Cerf some years before. The Request for Comments (RFC) series was considered the province of the ARPANET project and the Network Working Group (NWG) which defined the network protocols used on it. Thus, the members of the Internet project decided on publishing their own series of documents, ''Internet Experiment Notes'', which were modeled after the RFCs. Jon Postel became the editor of the new series, in addition to his existing role of administering the long-standing RFC series. Between March, 1977, and September, 1982, 206 IENs were published. Aft ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Unix Philosophy
The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to Minimalism (computing), minimalist, Modularity (programming), modular software development. It is based on the experience of leading developers of the Unix operating system. Early Unix developers were important in bringing the concepts of modularity and reusability into software engineering practice, spawning a "software tools" movement. Over time, the leading developers of Unix (and programs that ran on it) established a set of cultural norms for developing software; these norms became as important and influential as the technology of Unix itself, and have been termed the "Unix philosophy." The Unix philosophy emphasizes building simple, compact, clear, modular, and Extensibility, extensible code that can be easily maintained and repurposed by developers other than its creators. The Unix philosophy favors composability as opposed to Monolithic application, monolithic design ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Static Discipline
In a digital circuit or system, static discipline is a guarantee on logical elements that "if inputs meet valid input thresholds, then the system guarantees outputs will meet valid output thresholds", named by Stephen A. Ward and Robert H. Halstead in 1990, but practiced for decades earlier. The valid output thresholds voltages ''V''OH (output high) and ''V''OL (output low), and valid input thresholds ''V''IH (input high) and ''V''IL (input low), satisfy a robustness principle such that :''V''OL < ''V''IL < ''V''IH < ''V''OH with sufficient
noise margin In electrical engineering, Noise margin is the maximum voltage amplitude of extraneous signal that can be algebraically added to the noise-free worst-case input level without causing the output voltage to deviate from the allowable logic voltage l ...
...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Protocol Ossification
Protocol ossification is the loss of flexibility, extensibility and evolvability of network protocols. This is largely due to middleboxes that are sensitive to the wire image (networking), wire image of the protocol, and which can interrupt or interfere with messages that are valid but which the middlebox does not correctly recognise. This is a violation of the end-to-end principle. Secondary causes include inflexibility in endpoint implementations of protocols. Ossification is a major issue in Internet protocol design and deployment, as it can prevent new protocols or extensions from being deployed on the Internet, or place strictures on the design of new protocols; new protocols may have to be encapsulation (networking), encapsulated in an already-deployed protocol or mimic the wire image of another protocol. Because of ossification, the Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) are the only practical choices for transport protocols on the Internet, an ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Open–closed Principle
In object-oriented programming, the open–closed principle (OCP) states "''software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification''"; that is, such an entity can allow its behaviour to be extended without modifying its source code. The name ''open–closed principle'' has been used in two ways. Both ways use generalizations (for instance, inheritance or delegate functions) to resolve the apparent dilemma, but the goals, techniques, and results are different. The open–closed principle is one of the five SOLID principles of object-oriented design. Meyer's open–closed principle Bertrand Meyer is generally credited for having originated the term ''open–closed principle'', Robert C. Martinbr>"The Open-Closed Principle", C++ Report, January 1996 which appeared in his 1988 book ''Object-Oriented Software Construction''. * A module will be said to be open if it is still available for extension. For example, it should b ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Normalization Of Deviance
Normalization of deviance, according to American sociologist Diane Vaughan, is the process in which deviance from correct or proper behavior or rule becomes culturally normalized. Vaughan defines the process where a clearly unsafe practice becomes considered normal if it does not immediately cause a catastrophe: "a long incubation period efore a final disasterwith early warning signs that were either misinterpreted, ignored or missed completely". The original example cited by Vaughan is the events leading to the Space Shuttle ''Challenger'' disaster in 1986, but the concept has also been applied to aviation safety, clinical practice in medicine, and the public's deviance from health measures aimed to stop the COVID-19 pandemic. Normalization of deviance can exist in conjunction with corporate omerta where deviation from rules is held up by a code of silence surrounding the deviations or an unspoken agreement on rhetoric within a group of executives. One of the reasons Lion A ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Bug-for-bug Compatible
Computer hardware or software is said to be bug compatible if it exactly replicates an undesirable feature of a previous version. The phrase is found in the Jargon File. An aspect of maintaining backward compatibility with an older system is that such systems' client programs often do not only depend on their specified interfaces but also bugs and unintended behaviour that must also be preserved by the newer replacement. Besides the significantly higher complexity that needs to be maintained during the natural evolution of the code or interface, it can sometimes cause performance or security issues, and the inconsistencies in the behaviour of interfaces can sometimes lead to new bugs in the software using it, creating difficult to resolve multi-directional cross dependencies between various pieces of code. Examples DOS Examples can be found in MS-DOS/ PC DOS: When MS-DOS/PC DOS 3.1 and higher (including Windows 9x) and OS/2 detect certain FAT OEM labels, they do not t ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Tor (anonymity Network)
Tor is a free overlay network for enabling anonymous communication. It is built on free and open-source software run by over seven thousand volunteer-operated relays worldwide, as well as by millions of users who route their Internet traffic via random paths through these relays. Using Tor makes it more difficult to trace a user's Internet activity by preventing any single point on the Internet (other than the user's device) from being able to view both where traffic originated from and where it is ultimately going to at the same time. This conceals a user's location and usage from anyone performing network surveillance or traffic analysis from any such point, protecting the user's freedom and ability to communicate confidentially. History The core principle of Tor, known as onion routing, was developed in the mid-1990s by United States Naval Research Laboratory employees, mathematician Paul Syverson, and computer scientists Michael G. Reed and David Goldschlag, to p ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Jon Postel
Jonathan Bruce Postel (; August 6, 1943 – October 16, 1998) was an American computer scientist who made many significant contributions to the development of the Internet, particularly with respect to Internet Standard, standards. He is known principally for being the Editor of the Request for Comments, Request for Comment (RFC) document series, for Simple Mail Transfer Protocol (SMTP), and for administering the Internet Assigned Numbers Authority (IANA) until his death. During his lifetime he was referred to as the "god of the Internet" for his comprehensive influence; Postel himself noted that this "compliment" came with a barb, the suggestion that he should be replaced by a "professional," and responded with typical self-effacing matter-of-factness: "Of course, there isn’t any 'God of the Internet.' The Internet works because a lot of people cooperate to do things together." Career Postel attended Van Nuys High School, and then UCLA where he earned his B.S. (1966) as well ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Privacy-enhancing Technologies
Privacy-enhancing technologies (PET) are technologies that embody fundamental data protection principles by minimizing personal data use, maximizing data security, and empowering individuals. PETs allow online users to protect the privacy of their personally identifiable information (PII), which is often provided to and handled by services or applications. PETs use techniques to minimize an information system's possession of personal data without losing functionality. Generally speaking, PETs can be categorized as either hard or soft privacy technologies. Goals of PETs The objective of PETs is to protect personal data and assure technology users of two key privacy points: their own information is kept confidential, and management of data protection is a priority to the organizations who hold responsibility for any PII. PETs allow users to take one or more of the following actions related to personal data that is sent to and used by online service providers, merchants or other ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]