Program design is an area of programming that can benefit significantly from machine-mediated assistance. A proposed tool, called the Design Apprentice (DA), can assist a programmer in the detailed design of programs. The DA supports software reuse through a library of commonly-used algorithmic fragments, or cliches, that codifies standard programming. The cliche library enables the programmer to describe the design of a program concisely. The DA can detect some kinds of inconsistencies and incompleteness in program descriptions. It automates detailed design by automatically selecting appropriate algorithms and data structures. It supports the evolution of program designs by keeping explicit dependencies between the design decisions made. T...
Abstract Arguably programming involves design: computational logic- the pro-gram- is constantly reor...
In conventional design practice, a detailed product description is the end-result of a design proces...
Reusable object-oriented design aims to describe and classify designs and design fragments so that d...
The DA will be a design assistant which can assist the programmer in low-level design. The input lan...
Developing good software designs takes a great deal of experience and experimentation. Design patte...
We propose to develop a computer aided design tool which can help an engineer deal with system evo...
The importance of reusing approved design solutions is widely recognized in software engineering. Ob...
A scenario is used to illustrate the capabilities of a proposed Design Apprentice, focussing on th...
Programmers are loathe to interrupt their workflow to document their design rationale, leading to fr...
The Programmer's Apprentice is a highly interactive program development tool. The user interface to ...
Software design is a difficult creative task learnt from long experience. Reusable object-oriented d...
Software systems that undergo repeated addition of functionality commonly suffer a loss of quality i...
International audienceProgrammers continuously design the programs under development. For example, p...
This paper presents an innovative system for enhancing the learning and application of software desi...
Software modeling has received a lot a of attention in the last decade and now is an important suppo...
Abstract Arguably programming involves design: computational logic- the pro-gram- is constantly reor...
In conventional design practice, a detailed product description is the end-result of a design proces...
Reusable object-oriented design aims to describe and classify designs and design fragments so that d...
The DA will be a design assistant which can assist the programmer in low-level design. The input lan...
Developing good software designs takes a great deal of experience and experimentation. Design patte...
We propose to develop a computer aided design tool which can help an engineer deal with system evo...
The importance of reusing approved design solutions is widely recognized in software engineering. Ob...
A scenario is used to illustrate the capabilities of a proposed Design Apprentice, focussing on th...
Programmers are loathe to interrupt their workflow to document their design rationale, leading to fr...
The Programmer's Apprentice is a highly interactive program development tool. The user interface to ...
Software design is a difficult creative task learnt from long experience. Reusable object-oriented d...
Software systems that undergo repeated addition of functionality commonly suffer a loss of quality i...
International audienceProgrammers continuously design the programs under development. For example, p...
This paper presents an innovative system for enhancing the learning and application of software desi...
Software modeling has received a lot a of attention in the last decade and now is an important suppo...
Abstract Arguably programming involves design: computational logic- the pro-gram- is constantly reor...
In conventional design practice, a detailed product description is the end-result of a design proces...
Reusable object-oriented design aims to describe and classify designs and design fragments so that d...