CHILL

programmeringsspråk

CHILL (forkortelse for CCITT High Level Language) er et prosedyrisk høynivå programmeringsspråk som ble lansert i november 1980. Språket er konstruert for bruk i telekommunikasjon og strømbrytere innenfor telefonsentraler, og blir fortsatt brukt av enkelte teleselskaper i eldre systemer og for programmering av stillverk.

CHILL
Tilblivelse1980
ParadigmeProsedyrisk programmering
Designet avITU-T
Typetildeling sterk, statisk
Påvirket av
COBOL

Språket CHILL ligner i størrelse og kompleksitet på programmeringsspråket Ada, og har også hentet trekk fra ALGOL 68, Modula-2 og mange andre høynivåspråk som var populære på 1970- og 1980-tallet. I 1996 ble CHILL utvidet med objektorientert programmering; denne avarten kalles Object CHILL og CHILL96.

I 1997 lanserte Electronics and Telecommunications Research Institute (ETRI) i Sør-Korea varianten ETRI-CHILL.

I 1989 ble CHILL anerkjent som en standard av den internasjonale standardiseringsorganisasjonen (ISO). CCITT skiftet i 1993 navn til ITU-T, og i slutten av 1999 kunngjorde ITU-T at de hadde stanset vedlikeholdet av CHILL-standarden. Den siste standarden er fra 2003, siste gang gjennomgått 18. juni 2014.

GNU CHILL var en fri og åpen CHILL-kompilator fra GNU-prosjektet. Kompilatoren ble inkludert i GNU Compiler Collection (GCC) versjon 2.95 i 1999. Siste versjon var 2.95.3 som ble lansert i 2001. GNU CHILL er ikke lenger en del av GCC.

CHILL ble blant annet brukt på System 12 fra Alcatel og EWSD fra Siemens. CHILL ble også brukt til å skrive sanntidsoperativsystemet CHIPSY Real-time Operating System. Dette var et prosjekt som Regnesenteret ved Universitetet i Trondheim (RUNIT), SINTEF og det norske selskapet Kvatro Telecom var delaktig i.

Historie rediger

Forhistorien rediger

Grunnarbeidet for utviklingen av høynivå programmeringsspråk for telekommunikasjon startet i 1966. CCITT's plenumsmøte i Mar del Plata, Argentina i 1968, besluttet at denne utviklingen skulle håndteres av CCITT. Man innså også nødvendigheten av å standardisere slike språk, og fra 1968 til 1972 var CCITT opptatt av å definere grunnmaterialet for en standard. Man forsøkte å definere programvarespesifikasjoner, så vel som å gi enhetlige beskrivelser av programvarestyrte systemer, slik at forskjellige telefonsystemer lettere kunne sammenlignes med hverandre. De nye språkene måtte være lett å lese og lære, og samtidig være åpne og systemuavhengige.[1]

CCITT besluttet seg for å standardisere tre typer språk. Fra 1973 til 1976 arbeidet de med å skape disse språkene: (1) Et beskrivende språk som definerte beskrivelser av egenskaper, spesifikasjoner og systemer; dette ble senere til CCITT Specification and Description Language (SDL), (2) et høynivåspråk som senere ble til CHILL, og (3) et menneske-maskin kommandospråk for å operere og vedlikeholde telefonsystemene; dette ble senere til CCITT Man-Machine Language (MML).[1]

1973–1974: Enigheten om et nytt programmeringsspråk rediger

I 1973 startet forarbeidet med CHILL. CCITT var engasjert i en evaluering av eksisterende programmeringsspråk, med den intensjon å finne det språket som best fulgte anbefalingene fra CCITT. Deltagere fra AT&T, ITT Corporation, Siemens, UK Post Office og France Telecom var opptatte av å evaluere 27 programmeringsspråk, basert på 15 løselig definerte krav som maskinuavhengighet, portabilitet, den logiske strukturen til programmer, modularisering og utvidbarhet.[2] Kravene var forsiktig definerte og var inspirert av generelle tendenser innenfor programmingsspråk på denne tiden, særlig den akademiske interesse for maskinuavhengighet og portabilitet og industriens interesse i modularisering.[3][4][5]

Blant de 27 språkene var ALGOL 68, Pascal og PL/I, så vel som proprietære språk som var utviklet av teleselskaper som ITT Corporation og Ericsson.[2][6] ALGOL 68 og PL/I ble tidlig forkastet som egnet til telefonsentraler.[7][5] Til slutt stod syv språk igjen som mulige kandidater:[4][5]

Konklusjonen av dette studiet var at ingen av de syv kandidatene var egnet. Evalueringsgruppen fant svakheter i alle språkene. Spesialiserte språk hadde store fordeler fremfor mer generelle språk som Mary og Pascal, fordi de allerede var rettet mot telefonkommunikasjon. Likevel var slike teknologiske fordeler inkompatible med den diplomatiske naturen til CCITT: Det var ikke mulig å skape en universell standard av noe som ble eid og utviklet av én enkelt produsent. Noe slikt ville underminere muligheten til å skape programmer som var portable og maskinvareuavhengige.[4][9]

I november 1974 konkluderte sluttrapporten med at «[…] det ble slått fast at det ikke var mulig å oppnå konsensus for noe språk, verken i en modifisert eller umodifisert form».[6] Mary og Pascal hadde oppstått i akademiske miljøer, og hadde ingen bagasje fra private økonomiske særinteresser. De samlet likevel ikke nok støtte. Mary var relatert til den akademiske interessen i maskinorienterte høynivåspråk.[9] Pascal var også oppstått i et akademisk miljø, men var lite egnet til «sanntidsprosessering».[12][13] Niklaus Wirth omtalte denne karakteristikken som «helt objektiv og nøyaktig».[12][14] CCITT forkastet som sådan både den akademiske rute, såvel som ulike veier som var pløyd opp av ulike produsenter. Det var nå opp til CCITT å skape et nytt programmeringsspråk, å skape noe som var nytt og uprøvd både for organisasjonen, så vel som for dens enkelte medlemmer.[4][12]

Beslutningen om å lage et standardisert programmeringsspråk, var basert på idéer og strategier som ble lagt frem av administrasjonen for det svenske televerket i 1968. Slike administrasjoner var innflytelsesrike tidlig på 1970-tallet, gjennom arbeidsgrupper som var organisert av CCITT. I november 1974 besluttet deres stemmer at en ekspertgruppe skulle konstruere et nytt programmeringsspråk fra grunnen av. Som sådan var dette i tråd med den indre logikken i det internasjonale telekommunikasjonsregime.[12]

Forskjellige kommersielle produsenter la frem sine egne programmeringsspråk for panelet i CCITT. Det er lite som tyder på at dette skjedde ut fra altruistiske motiver om å dele sine proprietære forretningshemmeligheter med almenheten. De ønsket først og fremst å oppnå fordeler av at deres språk ble anbefalt av CCITT. I denne første runde av teknisk diplomati ble ingen produsenter favoriserte.[12]

CCITT var også påvirket av andre idéer som hadde vokst frem på begynnelsen av 1970-tallet:[12]

  • Universaliteten til matematikken hadde økt sin legitimitet gjennom informatikkens utbredelse.[12]
  • Det var generell enighet om å bruke verdensspråket engelsk i programmeringsspråk.[15]
  • Fagfeltet programvareutvikling (software engineering) vokste frem fra 1968 til 1972 for å løse «programvarekrisen». Fagfeltet påvirket også utviklingen av programmeringsspråk i årene som fulgte, og konferanser om programvareutvikling ble sponset av NATO.[15]
  • Fremveksten av maskinorienterte høynivåspråk og digitalisering av telenettet var også i tiden. Førstnevnte fremmet ideen om minimalistiske språk, såvel som ideen om portabilitet og maskinvareuavhengighet.[15]

Disse faktorer førte til dannelsen av en distinkt gruppe som var opptatt av programmeringsspråk for telekommunikasjon. Denne gruppen organiserte International Federation for Information Processing (IFIP) fra 1960, Software Engineering for Telecommunication Switching Systems (SETSS) fra 1973 til 1992 og International Switching Symposium (ISS) fra 1972 til 1990. Dette miljøet vakte interesse hos CCITT, og hadde en betydelig innflytelse på deltagerne.[15]

1975–: Ekspertgruppen rediger

I 1975 ble det satt ned en ad hoc-gruppe bestående av åtte spesialister for å håndtere utviklingen av et nytt programmeringsspråk. De åtte spesialistene representerte Philips (Nederland), NTT (Japan), SINTEF (på vegne av administrasjonen for de nordiske teleselskapene), Siemens (Tyskland), Ellemtel Utvecklings AB (Sverige), ITT (USA), British Telecom (Storbritannia) og PPT (Sveits).[4][16]

I oktober 1976 var et foreløbig forslag for det nye programmeringsspråket klart,[17] og i 1977 startet en etterfølgende periode med evaluering. Spesialistgruppen ble erstattet av «implementatorenes forum», som samlet praktiske erfaringer fra ulike implementasjoner av språket. I slutten av 1979 ble det endelige forslaget lagt frem, og plenumsforsamlingen i CCITT godkjente definisjonen av CHILL i november 1980.[4][18][16]

1980–1990: CHILL tas i bruk rediger

Fra 1977 begynte mange selskaper og organisasjoner å konstruere CHILL-kompilatorer. Frem til 1987 var mer enn 30 kompilatorer laget for forskjellige typer datamaskiner og datamaskinarkitekturer. Flere av kompilatorene var satt i industriell produksjon, og de fleste systemene nedenfor ble programmerte med egenproduserte kompilatorer:[4]

Teletex Digitale krysskoblingssystemer (DCS) Ruralt nettverk
TTCF, utviklet av Ascom Hasler (Sveits) RN64, utviklet av Telettra (Italia) Levent, utviklet av Teletas (Tyrkia)
Hustelefonsentraler (PABX) Offentlige sentraler
Systemet PKI i Tyskland EWSD, utviklet av Siemens (Tyskland)
Nodal Switch, utviklet av Alcatel for Televerket i Norge PRXD, utviklet av Philips (Nederland)
HICOM, utviklet av Siemens (Tyskland) System 12, utviklet av Alcatel (Belgia/Tyskland)
Saturn, utviklet av Siemens (USA) E10, utviklet av Alcatel (Frankrike)
Amanda, utviklet av Alcatel (Østerrike) D70, utviklet av NTT, NEC og Hitachi (Japan)
Sopho, utviklet av Philips (Nederland) KBD70, utviklet av Oki Electric Industry (Japan)
Focus, utviklet av Fujitsu (Japan) LINEA UT, utviklet av Italtel (Italia)
TDX-10, utviklet av Daewoo Telecom (Sør-Korea)
Tropico, utviklet av Telebrás (Brasil)
PXAJ-500/2000, utviklet av det 10. Forskningsinstitutt (Kina)

1990–1999: Fra suksess til marginalisering rediger

Fra 1980 fortsatte CCITT å støtte og vedlikeholde CHILL og oppgradere språket i henhold til industriens behov og den tekniske utvikling. CCITT skiftet i 1993 navn til ITU-T. Utviklingen av CHILL kan deles opp i fire faser:[4]

I 1989 ble CHILL anerkjent som en standard av den internasjonale standardiseringsorganisasjonen (ISO).[19][20][21][22][23]

Arbeidet med objektorienterte versjonen av CHILL ble påbegynt i 1992. Den kalles noen ganger Object-CHILL,[24] og andre ganger CHILL96.[25]

I 1997 lanserte Electronics and Telecommunications Research Institute (ETRI) i Sør-Korea en egen variant kalt ETRI-CHILL.[26]

I 1990 var CHILL det eneste programmeringsspråket som var felles for mer enn én av telefonsentralene som var i bruk i verden. Omkring 45% av de digitale sentralene benyttet CHILL, mot omkring 32% i 1985. Mange av de mest suksessfulle telefonsentralsystemene i verdensmarkedet var blitt konstruert for å kjøre CHILL, deriblant systemene EWSD, E10, D70 og System 12 (nevnt ovenfor). På dette tidspunktet hadde mer enn 12 000 programmerere benyttet språket på en eller annen måte. I 1993 var det mellom 12 000 og 15 000 CHILL-programmerere i verden, og mer enn 1 000 årsverk hadde blitt brukt på å investere i CHILL-kompilatorer, støtte og trening.[27][1]

Det nest mest brukte programmeringsspråket for telekommunikasjon i 1993 var Protel (Procedure Oriented Type Enforcing Language), som ble benyttet av Northern Telecom i Canada. Programmeringsspråket C, som ble benyttet av AT&T i USA, var på tredjeplass.[1]

I slutten av 1999 – 19 år etter sin fødsel, var språket CHILL blitt marginalisert. Det var faretruende nær sin død. Det var ingen videre utvikling av språket, og ingen ny programvare ble skrevet med CHILL. Språket ble bare brukt av enkelte teleselskaper i eldre systemer og for programmering av stillverk. Den 19. november 1999 kunngjorde ITU-T at de hadde stanset vedlikeholdet av CHILL-standarden.[27][28] Den siste standarden er fra desember 2003, siste gang gjennomgått 18. juni 2014.[22]

Den 29. august 1998 donerte selskapet Cygnus Solutions sin CHILL-kompilator til GNU-Prosjektet.[29] GNU CHILL var en fri og åpen kompilator, og ble inkludert i GNU Compiler Collection (GCC) versjon 2.95 den 31. juli 1999.[30] Siste versjon (2.95.3) ble lansert den 16. mars 2001, og GNU CHILL ble fjernet i GCC 3.0 som ble lansert 18. juni 2001.[31] GNU CHILL er ikke lenger en del av GCC.

CHIPSY Real-time Operating System rediger

CHILL ble også brukt til å skrive CHIPSY Real-time Operating System, et prosjekt som norske SINTEF og Kvatro Telecom var delaktig i.

Oppbygningen av CHILL rediger

CHILL arvet trekk fra mange andre høynivåspråk som var populære på 1970- og 1980-tallet, deriblant Ada. Nedenfor er et eksempelprogram i CHILL:[4]

line_allocator:
MODULE
   SEIZE line_process, line, occupied, unoccupied,
      search,connect, accepted;
   GRANT line_allocator_process;
line_allocator_process: PROCESS (); NEWMODE states = SET(free, busy); DCL next_state states := free, lno INT := 0; line(lno) := START line_process(lno); DO FOR EVER; CASE next_state OF (free): RECEIVE CASE SET sender; (occupied): next_state := busy; (search): SEND connect(sender) TO line(lno); SEND accepted TO sender; next_state := busy; (else): -- Consume any other signal ESAC; (busy): RECEIVE CASE SET sender; (unoccupied): next_state := free; (search): SEND rejected TO sender; (else): -- Consume any other signal ESAC; ESAC; OD; END line_allocator_process; END line_allocator;

Referanser rediger

  1. ^ a b c d Rekdal, side 6
  2. ^ a b COM XI, 1978
  3. ^ COM XI, 1978
  4. ^ a b c d e f g h i j k l m n o p q Rekdal, side 7
  5. ^ a b c d e f g h i j Paulsen, 2011, side 67
  6. ^ a b COMXI-135, 1977
  7. ^ COMXI-73E, 1978
  8. ^ Datamax Corporation, 1999
  9. ^ a b c d e Paulsen, 2011, side 68
  10. ^ Ensign Software, Inc., 2019
  11. ^ NTNU, side 15
  12. ^ a b c d e f g Paulsen, 2011, side 69
  13. ^ XI/3, side 95
  14. ^ XI/3, side 91
  15. ^ a b c d Paulsen, 2011, side 70
  16. ^ a b NTNU, side 16
  17. ^ HLL, 1977
  18. ^ CCITT, 1981
  19. ^ ISO, 1989
  20. ^ ISO, 1995
  21. ^ ISO, 1998
  22. ^ a b ISO, 2003
  23. ^ ITT, 1989
  24. ^ Winkler, 1992
  25. ^ Winkler, 2019
  26. ^ Lee, 1997
  27. ^ a b Paulsen, 2011, side 1
  28. ^ ITU-T, 1999
  29. ^ Cygnus, 1998
  30. ^ GNU, 1999
  31. ^ GNU, 2002

Kilder rediger

Eksterne lenker rediger