The Role of Executable Abstract Programs in Software Development and Documentation

09/14/2022
by   Egon Boerger, et al.
0

We present Executable Abstract Programs and analyse their role for software development and documentation. The intuitive understanding of these programs fits the computational mindset of software system engineers and is supported by a simple but precise behavioural definition. Therefore, they can be smoothly integrated in the practitioner's daily work to rigorously formulate every design and implementation decision taken on the path from the Executable Abstract Program for the requirements to the targeted and efficiently runnable code. The Executable Abstract Programs of the resulting system documentation represent definitions of implementation steps one can check and justify by testing (due to their executable character) or by reasoning (due to the mathematical definition of their behaviour). For complex systems the implementation involves multiple (orthogonal or successive) implementation steps which represent instances of a practical computational refinement concept. Such a system development process is driven by computational refinements and is strictly limited to explicitly formulate and justify – besides the requirements – only the necessary implementation steps. As a consequence, it produces as side-effect a corpus of documentation that facilitates the understandability of the final code and improves its reliability and resilience; it also enhances the maintenance process (including reuse and change of abstract programs and code) and reduces maintenance cost.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/05/2018

Comment Generation for Source Code: State of the Art, Challenges and Opportunities

Researches have shown that most effort of today's software development i...
research
11/24/2019

Architecture Models Refinements for Software Development of Critical Real-time Embedded Systems

Cyber Physical Systems are systems controlled or monitored by computer-b...
research
01/15/2022

Strategic Issues on Implementing a Software Process Improvement Program

Software technology has high impact on the global economy as in many sec...
research
05/03/2021

Synchronised Visualisation of Software Process and Product Artefacts: Concept, Design and Prototype Implementation

Context: Most prior software visualisation (SV) research has focused pri...
research
08/12/2022

Autonomous Intelligent Software Development

We present an overview of the design and first proof-of-concept implemen...
research
03/27/2018

PIE: A Domain-Specific Language for Interactive Software Development Pipelines

Context. Software development pipelines are used for automating essentia...
research
11/25/2019

Integrating Inter-Object Scenarios with Intra-object Statecharts for Developing Reactive Systems

In all software development projects, engineers face the challenge of tr...

Please sign up or login with your details

Forgot password? Click here to reset