State machine modeling and object-orientation : Historical notes
-
Finite State Machines (FSM): Have been formalized in the 1950-ies
for describing hardware systems: Mealy and Moore automata (see
Wikipedia). This concept
was much used for the description of communication protocols.
- An example protocol description is included in the paper << K. A.
Bartlett, R. A. Scantlebury and P. T. Wilkinson, A note on reliable
full-duplex transmission over half-duplex links, ACM Communications,
Vol.12, No.5, May 1969, pp.260-265 >>.
- The systematic analysis of the behavior of two communicating FSM
was described in G. v. Bochmann, Finite State Description of Communication Protocols, Computer Networks, Vol. 2 (1978), pp.
361-372.
- SDL : System Description Language developed by the standardization
arm of the ITU (International Telecommuications Union) starting in 1968
(see
History of SDL-1,
History of
SDL-2 ). Often used in conjunction with MSCs, an advanced version of
sequence diagrams, also developed by the ITU (see
Use of SDL). - First SDL standard from 1976.
- Object-orientation and UML : The first language with OO concepts
(class, object instance, inheritance) was Simula (1967) developed in
Norway. David Parnas wrote a famous paper on "information hiding", the
essential idea of object-orientation which means that the internal
organization of the code performing the operations defined by an
interface would be hidden from the software components that call these
operations (see D. Parnas, On the criteria to be used in decomposing
systems into modules, Comm. ACM, Vo. 15, No. 2 (1972), pp. 1053-1058).
Smalltalk (1980) was the next widely used object-oriented language.
Currently, Java is certainly the best object-oriented programming
language. Object-oriented system analysis and design methods were also
developed, starting around 1980. In the 1990ies, various methods were
combined which led to the development of UML spearheaded by the OMG (see two slides on UML development). Recently, a new version 2 was developed << see for instance slides by Bran Selic: on the development of UML-2 >>.
- Now SDL has been defined as a profile of UML (version 2). This version was supported by the Telelogic TAU tool created by the Swedish company Telelogic (now bought by IBM).
Created: January 2007; revised: 2009, 2010, 2012