Abstract: | This paper shows the evolution of components for calendars written in Ada, starting from a classic form and evolving by the effect of some choices of software engineering. The first choice is to specify separate components when they do not have to be coupled in only one. This choice transforms a one-component form into a three-component one. The second choice is to hide all entities that are not required by the modelling of the real world. This choice modifies many declarations into forms which are complex to specify but which introduce no additional complexity to the user. In addition to the development of this component for the current legal calendar, it is indicated how others can be defined and converted from any one to the other. The design of a deep automatic test is illustrated. Finally, the paper illustrates how the new features of Ada-95 can be used to specify these calendars in another form, but which is not essentially different from the Ada-83 text. |