Why Ampersand?

The purpose of Ampersand is to help business engineers deliver correct information systems. Correct means that the system complies demonstrably to the rules of the business. How cool is that!

Some examples of information systems built in Ampersand

  • Medications, a demonstrator built by TNO in Ampersand to showcase attestation on the internet. This example is undocumented.

  • SETU standards, a site to disclose standards for electronic messaging in the sector of flexible labour. This example is undocumented.

  • RAP4, a tool for students to learn how to work with Ampersand. This project is documented in https://github.com/AmpersandTarski/RAP.

Benefits

  1. Make a conceptual analysis of your business problems to create a shared understanding. Then use the resulting data model to kick-start your application(s).

  2. Use Ampersand as a platform for reactive programming, to deliver you from workflows and workflow models.

  3. Be baffled by the precision with which you can formalize legal rules, and enjoy the benefits of compliance-by-design.

  4. Experiment with rules to simplify business processes and cut back on red tape.

  5. Make enterprise software adaptable by using Ampersand's software generator and reducing your programming effort to a minimum. Even complex changes, such as changes in your conceptual model (viz. data model) are brought into production quickly.

  6. Support your own business, rather than someone else's view on your business. Designing with business rules lets your business associates convince themselves that the system supports exactly the right rules.

  7. Decrease maintenance cost and increase understanding, by describing goals instead of steps. Ampersand is a declarative language, which yields simplicity without sacrificing precision.

  8. Develop more efficiently by preventing errors instead of correcting them. Enjoy the benefits of strong and static typing. Several scientific studies show significant effects of strong and static typing on the total cost of ownership of your design. Besides, it enables Ampersand to generate efficient code.

  9. Gain mathematical certainty of compliance. Ampersand uses relation algebra to align the IT system to the business, by exploiting its natural language interpretation alongside its technical interpretation as working software. Your claim that business stakeholders understand (solely in natural language) what the computer does (in software) can't be made more convincingly.

  10. True low-code platforms, such as Ampersand, give you full functionality with little code. Do the tutorial and experience a full non-trivial example of an information system specified in 61 lines of code only.

  11. Reduce risk by developing in small increments. Add constraints, user interfaces, relations, and other design elements one at a time. Generate a prototype at any intermediate stage, to try out your system long before it is finished.

  12. Reduce risk by dividing the work into small subsystems. To isolate subsystems is easy, due to conceptual independence. Ampersand lets you combine subsystems into larger systems, automating the burden of combining them. Reuse design patterns to assemble systems, rather than re-invent from scratch.

  13. Deploy quickly by building, configuring, and taking it to production automatically.

Why rule-based?

To design and build a good information system is a difficult task. Ampersand makes this easier by automating tedious coding tasks and preventing scores of errors you might make. Use it to create a wonderful festival organisation platform, your very own web shop for pedigree poodles, or the trip organiser for hiking expeditions in the Andes. It's all up to you.

Not many people can design and build good information systems. It is a difficult task. Ampersand makes your life easier by automating tedious coding tasks and preventing scores of errors you might make. Use it to create this wonderful festival organization platform, your very own webshop for pedigree poodles, or the trip organizer for hiking expeditions in the Andes. It's all up to you.

A characteristic of Ampersand is its focus on business rules. Business rules embody the agreements of people who pursue a common goal. Naturally, such rules are to be respected by every information system that supports their business. The value of Ampersand is this: once you have a precise set of rules, you have your information system. The coding of software is automated by Ampersand. So if a rule changes, you have altered it in your code in a breeze. That is why Ampersand focuses on rules.

How does it work?

Ampersand is a way of designing information systems for enterprises, supported by a method, a tool, and a course. These are the things you do (click on the hyperlinks to watch video clips):

  1. Communicate with the business solely in their own language, which is a natural language.

  2. Define a domain language (in Ampersand) to consolidate agreement of terms among stakeholders, using it solely for technical purposes.

  3. Formalize the agreements into rules that are relevant for the information system using Ampersand-script.

  4. Generate a working prototype of your information system for verification purposes.

  5. Use this prototype to walk through user stories, test user acceptance, elicit requirements, or otherwise gain more assurance that your design is what your audience wants.

  6. Use the documented ontology that Ampersand generates to validate the agreed rules.

Foundations

Ampersand is grounded in Relation Algebra. Scientific foundations of Ampersand have been published in the International Conference on Relation Algebraic Methods in Computer Science (RAMiCS) from 2011 onwards.

Ampersand is a tool for rule-based design. It adheres closely to the concept of business rule as defined by the Business Rules Group. The following section explains the correspondence between the Business Rules Manifesto and Ampersand.

The Open University of the Netherlands has a course in Rule Based Design, in which students use Ampersand for this purpose.

Licenses

Ampersand is freely available as an open source project in GitHub.

Last updated