Article | REF: S8100 V1

Functional specifications - Automatic code generation

Author: Henri BRENIER

Publication date: December 10, 2004

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


Overview

Français

Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.

Read the article

AUTHOR

  • Henri BRENIER: Engineer from the École spéciale de mécanique et d'électricité (ESME ) - Automatic Engineering Consultant

 INTRODUCTION

The sequence of stages in the conception, design, production and maintenance of software follows a logic that is repeated from one product to the next. This universal pattern is known as the software life cycle.

A life cycle is not in itself a development methodology. However, in the specific case of software engineering, this paradigm has been integral to all methods proposed since the 1980s. Its main merit is to highlight the need to fully and accurately define the "what to do" before addressing the "how to do it". This particular approach focuses on the analysis and specification stages, and gives a central role to functional specifications.

Originally, functional specifications took the form of a text attached to the specifications document. Advances in software engineering workshops have made it possible to relegate the drafting of a document to the level of preliminary specifications, and to replace the functional description of the specifications with a model of the application to be built. This modeling is computer-aided. Workshops offering this assistance are called CASE (Computer Aided Software Engineering). They first appeared in the late 1980s. The languages used were: SA (Structured Analysis) [1] for modeling computer systems, and SA-RT (Structured Analysis Real Time) [2][3] for control systems. In France, Grafcet had already been used for many years to model sequential automation systems.

CASE tools for structured analysis generation served as a test bed for the functionalities expected of this type of software package (top-down approach, consistency checking, code generation, application dictionary, etc.). In business computing, the SA language quickly showed its limitations, as it was not well suited to the true nature of IT systems. What's more, this approach, based on the decomposition of data processing, is not compatible with the object concept. On the other hand, the principle of this structuring is adapted to the profound nature of control systems. SA-RT is still used directly or in derived forms.

Object-oriented software has been the big thing since the early 1990s. This approach has proved particularly fruitful in the design, programming and maintenance of business software [4] . After a period of abundant innovation, a synthesis was drawn up in the form of a common language called UML (Unified Modeling Language). UML is based on rigorous formal foundations presented using the metamodeling technique (see the article

You do not have access to this resource.

Exclusive to subscribers. 97% yet to be discovered!

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


The Ultimate Scientific and Technical Reference

A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
+ More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

This article is included in

Control and systems engineering

This offer includes:

Knowledge Base

Updated and enriched with articles validated by our scientific committees

Services

A set of exclusive tools to complement the resources

Practical Path

Operational and didactic, to guarantee the acquisition of transversal skills

Doc & Quiz

Interactive articles with quizzes, for constructive reading

Subscribe now!

Ongoing reading
Functional specifications