|Paradigms :||Visual , domain-specific language|
|Typing :||strong , static|
|Influenced by:||UML , model-driven software development|
|Operating system :||IDE : Windows ; Rich Client : Windows ; Web app : platform-independent|
Posity is a visual , domain-specific programming language from Posity AG. The visual programming is done through six diagram types that are influenced by the UML. Posity's domain is business, database-centric applications. The Posity programming language is part of the Posity technology , which consists of the Posity Design Studio (PDS) for creating the diagrams and the Posity Runtime Environment (PRE) for running the diagrams. These diagrams are converted into database models , SQL, and bytecode (referred to in Posity as functional code, fCode) for execution in the Posity Design Studio . The conversion takes place in the background without the developers being aware of it.
The aim of Posity is to make software development within the target domain more efficient and understandable for all project participants. Posity was developed as part of two CTI projects in cooperation with Posity AG, ETH Zurich and the ZHAW .
Applications are fully specified with six diagram types; there is no textual program code within Posity. Each diagram type defines a specific aspect of the application. These chart types are:
- Data model : tables and relationships
- Process diagram : workflow of the processes and state transitions of the data
- Query diagram: data queries on the tables
- GUI diagram: graphical user interface (abbreviation GUI for Graphical User Interface )
- Module diagram: data flow diagram expanded to include control structures
- Organizational diagram: company structure and rights management
The package diagram (for distributing changes ) and the questionnaire diagram (for customizing standard solutions by the end user) are also added. These two diagram types are not directly necessary for creating the applications, but are useful for their administration.
The restriction to business, database-centric applications means that adequate applications can be implemented more quickly. On the other hand, Posity is not always the appropriate programming language, for example Posity is not suitable for real-time applications. The domain is supported by five measures:
- The diagrams are designed so that even trained business analysts are able to record their requirements directly and completely in the Posity Design Studio and thus design part of the application themselves during the requirements analysis .
- An assistant (also referred to as a wizard ) automatically generates the appropriate diagrams based on the data model and for specified business use case models .
- Since the assistant uses knowledge from the data model to generate use cases, Posity provides a basic data model for a complex ERP system . This can be used to create individual applications.
- Important basic functionalities of the business domain are integrated into the language, such as B .:
- Currency support (including currency rates, conversion modules)
- Report generation (Word, Excel, PDF etc.)
- Multilingual capability (diagrams and created application)
- Time zones and case-specific views (e.g. depending on the location of the data)
- Number ranges
- For the database-specific domain, the normal database functionality has been simplified and tailored, such as: B .:
- Mechanisms for multi-user operation
- Database structure and queries are generated and distributed directly from the diagrams (software distribution)
- Logging (historization) of changes and mechanisms for their evaluation
- Extended security concepts (editing and reading of data within a single table depending on assigned roles)
- Distribution of the data to several database servers
In addition to domain-specific support, Posity also offers the usual tools for common program languages such as debugging , system environments (test environment etc.), software distribution, integrated regression tests , integration of external program libraries , responsive design (rich client solution and web app) etc.
Posity is based on a client-server architecture . Posity (PDS and PRE) itself is implemented in C # and uses Microsoft SQL Server to manage the data. Apart from a small start program to start Posity for the first time via the browser ( ClickOnce technology ), all programs (including PDS and PRE), diagrams and data are stored centrally in the database server .
The Posity Design Studio (IDE) for creating the diagrams depends on the operating system and can only be used under Windows.
The applications created with Posity can be used either as rich client solutions in the cloud (under Windows ) or as a web app in the browser without additional effort . If the application is used as a web solution, a web server must also be added to the infrastructure.
- Spielberger, Jürgen; Perellano, Gerald; Wüst, Raimond Matthias; Markus, Baertschi-Rusch; Mürner, Marion (2014): Rapid Development of ICT Business Services by Business Engineers Independent of Computer Scientists. In: Science-to-Business Marketing Conference 2014. Congress. (June 3, 2014). (on-line)
- Wüst, Raimond Matthias; Bütikofer, Stephan; Spielberger, Jürgen (2015): Generation of Interactive Questionnaires Using YAWL-based Workflow Models. In: Management Studies. 3, pp. 11-12. 273-280. (on-line)
- Spielberger, Jürgen (2013): Flexible business processes - also with individual software. In: topsoft magazine. 4-13, pp. 16-17. (on-line)