Contact us
Copyright © 2024 – IDNI. All rights reserved.
Tau advances formal methods by removing coding from the process, while expanding its industrial capability, reliability and ease of maintenance. Tau enables you to automatically create the most complex, provably correct software, by simply writing sentences about what you want the software to do.
Tau is a world-class software development tool capable of covering a wider and more complex scope than current and formal development methods.
Prof. Enrico Franconi, Founder of KRDB Research Centre, Principal Investigator of applied research projects at European Space Agency; former Vice-Rector for Research, and current Director of the Computer Science and Artificial Intelligence Institute of the Faculty of Engineering at Free University of Bozen-Bolzano, Italy
Specifications on Tau take the form of sentences, improving clarity and precision in your software descriptions. These sentences are directly executable, making your description the software itself. As your team collaborates on describing the software, you define what agreement means, which Tau detects. The agreed description is executable software, simplifying development by letting you focus on “what” the software should be, while Tau handles the “how”.
The full system behavior of a wider scope and higher complexity of software are expressible in Tau compared to common formal languages, and directly executable in Tau itself.
Software you develop is correct-by-construction and error-free according to your description, so it is guaranteed that your requirements are met.
Formal verification is not necessary on Tau, it is a fully correct-by-construction process with directly executable specifications and automatic contradiction detection over a wider and more complex software spectrum than common formal languages. This reduces the risk of design errors and redevelopment costs across a broader range of software than ever before.
Tau detects the contradictions in your specification. Tau guarantees whether a valid program that meets the specification exists, meaning that for any input at any point in time, exists a memory state or output as specified.
As the software requirements are working software in sentence form, it’s easier to simply read the entire software. Further, you may query the software’s behavior and receive accurate responses on its functionality and possible outcomes. This overall makes traditional validation simpler.
Tau is for rapid and rigorous software development, allowing specification of a wider scope of programs than common formal languages, from complex systems to simple applications. It is for industries that demand precise and safe software development while also requiring efficient development speed.
Tau is able to embed and extend a wide variety of other formal languages, in particular KRR Languages, to describe states, inputs and outputs in the specification.
The abilities of Tau Language are open-ended, allowing you to continually add more powerful languages to the system, making it even stronger. Further, you’re able to add a level of interoperability between languages, by extending multiple languages at once. This enhances the usability, communication and collaboration in the development process.
Inputs, outputs, and memory registers in a Tau specification can hold Tau specifications themselves, and a Tau specification can have statements about Tau statements.
Tau supports certain infinite state machines, enhancing its expressiveness. There are infinitely many possibilities for input / output / state, per each time step, so each position carries a data value from an infinite domain of sentences.
Tau outperforms conventional formal methods with its inherent expressiveness, infinite data values and its extensibility to add more languages. It allows complete system specification of a wider and more complex range of software, while ensuring correct-by-construction output. The use of Software as Sentences™, removes code and verification steps, offering an intuitive and straightforward approach to developing software.
Enable simultaneous development by multiple people on the same part of the software, including non-technical and end-users. Defined agreements allow you to combine requirements and ideas to create software solutions that bridge the gap between stakeholder desires and a successful outcome.
Scale your development team without development and communication bottlenecks. The high-level requirements given by contributors are operational software based on your agreement, with deep collaboration and governance across departments and end-users, enabled by complex rule setting. Further, Tau facilitates large-scale discussion with consensus detection, using ontologies and logical reasoning to clarify decisions & agreements.
Easily create, switch between and compare software versions by using different definitions of agreement from which software is created. Using multiple agreements, engineers simultaneously work on multiple versions of your software, with clear management, version tracking, one-click implementations and instant merging.
Simply read the software description in sentences. Tau supports knowledge representation languages, allowing you to capture real-world concepts and knowledge in software descriptions and improve the software’s readability.
Testing is no longer for bugs as each description is an executable specification, resulting in correct-by-correct by construction software, according to your description. Testing is now ensuring your description is as desired. Traditional testing is obsolete.
Tau ensures high system reliability by guaranteeing the conditions you expressed in Tau Language are met throughout execution.
This capability provides an assurance that every consistent specification is executable without errors for any input, ensuring the software never breaks and always produces an output. This guarantees that computational resources are not wasted waiting for an answer, contributing to a robust and dependable software solution.
Specify prohibitive and obligating constraints over any part of your software with deeply complex rules, which Tau will satisfy.
Tau’s behaviour is also specifiable with constraints, enabling you to design the perfect tool for software development. This simultaneous development of software and the tool itself produces a positive feedback loop in utility & performance gains.
Have full control over post-release updates and define complex rules for accepting changes in any configuration indefinitely. Tau enables you to specify exactly what updates or changes you will accept post-release.
Any update or tampering that doesn’t comply with your expressed rules is automatically rejected by your software, providing an added layer of security.
Combine your team’s Knowledge into a knowledgebase to deduce insights and highlight solutions.
Automatically discover external users to your business who hold the precise knowledge your solution requires.
Automatically monetize the combined knowledge of your team in the Tau marketplace.
Instantly import requirements by sharing custom knowledge forms with external stakeholders.
Tau has superior reasoning ability as its logic is able to fully simultaneously reason over its own software, the software you create and all formalized information within its system. This enables Tau to handle a wider and more complex scope of software compared to current formal languages, ensuring seamless integration and performance across various types of software applications.
Use existing domain specific ontologies or define your own terms and build industry-specific software solutions with unparalleled accuracy and efficiency.
From healthcare to finance, education, manufacturing, and beyond, any industry can design bespoke ontologies that precisely capture much of their unique knowledge structures and requirements.
1. Tau is decidable, therefore it cannot express all possible programs. However, Tau has advanced expressiveness compared to common specification languages while maintaining its decidability, and it will be a challenge to find real-world software that cannot be specified.
2. Formal Languages & Controlled Natural Languages (CNLs) are not simple to use. Tau uniquely combines formal specification and knowledge, while making it simpler to use by applying Natural Language Processing techniques to the specification process.
3. Logical reasoning typically requires high computational resources, however Tau uses novel and better algorithms along with extremely strong engineering expertise.
4. Tau is not a universal solution. There are cases where it may not be the optimal choice for a software project. However, virtually any software project will find parts that are suitable for Tau use.
Contact us
Copyright © 2024 – IDNI. All rights reserved.