സിമുല

ഓസ്ലോയിലെ നോർവീജിയൻ കമ്പ്യൂട്ടിംഗ് സെന്ററിൽ ഒലെ-ജോഹാൻ ഡാൽ, ക്രിസ്റ്റൻ നിഗാർഡ് എന്നിവർ 1960-ൽ വികസിപ്പിച്ചെടുത്ത സിമുലേഷൻ പ്രോഗ്രാമിങ് ഭാഷകളായ സിമുല ഐ, സുമുല 67 എന്നീ പേരുകൾ ചേർന്നാണ് **സിമുല**. ഉച്ചാരണപരമായി, ഇത് അൽഗോൾ 60(ALGOL 60)യുടെ പൂർണ്ണമായ വിശ്വസ്ത സൂപ്പർസ്റ്റെറ്റ് ആണ്: 1.3.1 സിംസ്ക്രിപ്റ്റിന്റെ രൂപകല്പനയിലും ഇത് സ്വാധീനം ചെലുത്തുന്നു.

സിമുല 67 അവതരിപ്പിച്ചവ ഇനി പറയുന്നവയാണ് വസ്തുക്കൾ, ക്ലാസുകൾ, പാരമ്പര്യങ്ങൾ, സബ്ക്ലാസുകൾ, വെർച്വൽ പ്രൊസീജറുകൾ, കൊറൗയിൻസ്, ഡിസ്ക്രീറ്റ് ഇവന്റ് സിമുലേഷൻ, ഫീച്ചറുകൾ ഗാർബേജ് കളക്ഷൻസ്. സിമുല ഡെറിവേറ്റീവുകളിൽ മറ്റു ഉപവിഭാഗങ്ങളും (സബ്ക്ലാസ്സുകളും നേടിയതിനു പുറമേ) അവതരിപ്പിച്ചു. 

ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് പ്രോഗ്രാമിങ് മാതൃക അവതരിപ്പിച്ച ഭാഷയാണ് സിമുല. ഇതിന്റെ പേര് സൂചിപ്പിക്കുന്നത് പോലെ, സിമുലേഷൻ നിർമ്മിക്കാൻ സിമുല രൂപകൽപ്പന ചെയ്തിരുന്നു, ആ ഡൊമെയ്നിന്റെ ആവശ്യങ്ങൾ ഇന്ന് ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് ഭാഷകളുടെ പല സവിശേഷതകളുടെയും ചട്ടക്കൂട് നൽകുന്നു.

സിമുലേഷൻ വി.എൽ.എസ്.പി ഡിസൈനുകൾ, പ്രോസസ് മോഡലിംഗ്, പ്രോട്ടോക്കോളുകൾ, അൽഗോരിതംസ്, ടൈപ്പ്സെറ്റിങ്, കമ്പ്യൂട്ടർ ഗ്രാഫിക്സ്, വിദ്യാഭ്യാസം മുതലായ മറ്റു ആപ്ലിക്കേഷനുകൾ സിമുല ഉപയോഗിക്കുന്നു. സിമുലയുടെ സ്വാധീനം മിക്കപ്പോഴും മനസ്സിലാക്കി, സിമുല-ടൈപ്പ് വസ്തുക്കൾ സി++, ഒബ്ജക്റ്റ് പാസ്കൽ, ജാവ, സി# എന്നിവയിലും മറ്റു പല ഭാഷകളിലും വീണ്ടും നടപ്പിലാക്കുന്നു. കമ്പ്യൂട്ടർ ശാസ്ത്രജ്ഞരായ  സി++ ഭാഷയുടെ സ്രഷ്ടാവ് ബ്യാൻ സ്ട്രോസ്സ്ട്രപ്പ്, ജാവയുടെ സ്രഷ്ടാവായ ജെയിംസ് ഗോസ്‌ലിങ്ങ് എന്നിവർ ഒരു പ്രധാന സ്വാധീനമായി സിമുലയെ അംഗീകരിച്ചിട്ടുണ്ട്. 
## ചരിത്രം
ഇനിപ്പറയുന്ന അക്കൗണ്ട് റുൺ ഹോൽമിവിക്സിന്റെ ചരിത്രപരമായ ലേഖനം അടിസ്ഥാനമാക്കിയുള്ളതാണ്.

1957 ൽ കമ്പ്യൂട്ടർ സിമുലേഷൻ പ്രോഗ്രാമുകൾ തുടങ്ങാൻ ക്രിസ്റ്റൻ ന്യാഗാർഡ് തീരുമാനിച്ചു. ഒരു സംവിധാനത്തിന്റെ വൈരുദ്ധ്യാത്മകതയും പ്രവർത്തനവും വിശദീകരിക്കുന്നതിന് മെച്ചമായ ഒരു മാർഗ്ഗമുണ്ടെന്ന് നൈജർഡ് മനസ്സിലാക്കി. ഒരു സിസ്റ്റത്തെ വിവരിക്കുന്ന ഒരു ഔപചാരിക കമ്പ്യൂട്ടർ ഭാഷയിൽ തന്റെ ആശയങ്ങളുമായി മുന്നോട്ട് പോകാൻ, തനിക്ക് ഉള്ളതിനേക്കാൾ കൂടുതൽ കമ്പ്യൂട്ടർ പ്രോഗ്രാമിംഗ് കഴിവുകളുള്ള ഒരാളെ ആവശ്യമാണെന്ന് നൈഗാർഡ് മനസ്സിലാക്കി. 1962 ജനവരിയിൽ ഒലെ-ജോഹാൻ ഡാൽ തന്റെ ജോലിയിൽ ചേർന്നു. അൽഗോൾ 60 ലേക്ക് ഭാഷയെ ബന്ധിപ്പിക്കുന്നതിനുള്ള തീരുമാനം ഉടൻതന്നെ നടത്തുകയുണ്ടായി. 1962 മെയ് മാസത്തോടെ ഒരു സിമുലേഷൻ ഭാഷയ്ക്കുള്ള പ്രധാന ആശയങ്ങൾ നിശ്ചയിച്ചിരുന്നു. "സിമുല ഐ" വികസിപ്പിച്ചു, പ്രത്യേക സംവിധാനങ്ങൾ സിമുലേറ്റ് ചെയ്യുന്നതിനുള്ള പ്രത്യേക ഉദ്ദേശ്യ പ്രോഗ്രാമിങ് ഭാഷ.

1962 മെയ് മാസത്തിൽ അവരുടെ പുതിയ യുണിയാക് 1107(UNIVAC 1107) കമ്പ്യൂട്ടറിന്റെ വിപണനവുമായി ബന്ധപ്പെട്ട്, എകെർട്ട്-മാച്ചിലി കംപ്യൂട്ടർ കോർപ്പറേഷനിൽ(Eckert-Mauchly Computer Corporation) സന്ദർശിക്കാൻ ക്രിസ്റ്റൻ നൈഗാർഡിനെയാണ് ക്ഷണിച്ചത്. ആ സന്ദർശനത്തിൽ സിമുലയുടെ ആശയങ്ങൾ യുണിവാക്ക് സിസ്റ്റത്തിന്റെ പ്രോഗ്രാമിങ് ഡയറക്ടറായ റോബർട്ട് ബെമെറിന് മുമ്പിൽ അവതരിപ്പിച്ചു.  ബെമെർ അൽഗോൾ ഫാൻ ആയിരുന്നു, ഒപ്പം സിമുല പ്രോജക്ട് ശ്രദ്ധയാകർഷിച്ചു. ഐ എഫ് ഐ പി ആതിഥേയത്വം വഹിക്കുന്ന വിവരശേഖരണത്തെ സംബന്ധിച്ച രണ്ടാം അന്താരാഷ്ട്ര സമ്മേളനത്തിൽ ബെമെർ ഒരു സെഷനായി പ്രവർത്തിച്ചു. "സിമുല - ഡിസ്ക്രീറ്റ്-ഇവന്റ് നെറ്റ്വർക്കുകളുടെ വിവരണത്തിനായി ഉള്ള അൽഗോൾ വിപുലീകരണം" എന്ന പേപ്പർ അവതരിപ്പിച്ച നൈഗാർഡിനെ(Nygaard) അദ്ദേഹം ക്ഷണിച്ചു.

നോർവീജിയൻ കമ്പ്യൂട്ടിംഗ് സെന്റർ യൂണിവാക് 1107 ഓഗസ്റ്റ് 1963 ൽ ഒരു ഡിസ്കൗണ്ട് വാങ്ങുകയുണ്ടായി, യൂണിവായ്ക് കരാർ പ്രകാരം ഡാൾ സിമുല ഐ നടപ്പാക്കി. യൂണിവാക് അൽഗോൾ 60 കമ്പൈലർ അടിസ്ഥാനമാക്കിയാണ് ഇത് നടപ്പിലാക്കിയത്. സിമുല 1965 ജനുവരിയിൽ യൂണിവാക് 1107 യിൽ പൂർണ്ണമായി പ്രവർത്തിച്ചിരുന്നു. ഏതാനും വർഷങ്ങൾ ഡാൽലും നൈഗാർഡും സിമുല പഠിപ്പിക്കുന്നതിനായി ധാരാളം സമയം ചിലവഴിച്ചു. സിമുല ലോകത്തെ വിവിധ രാജ്യങ്ങളിലേക്ക് വ്യാപിച്ചു. സിമുല ഐ പിന്നീട് ബറോസ്സ് B5500 കമ്പ്യൂട്ടറുകളിലും റഷ്യയിലെ റഷ്യൻ യുആർഎഎൽ-16(URAL-16) കമ്പ്യൂട്ടറിലും നടപ്പാക്കി.

1966-ൽ സി. എ. ആർ. ഹോരേ റെക്കോർഡ് ക്ലാസ് നിർമ്മാണത്തിന്റെ ആശയം അവതരിപ്പിച്ചു. ഡാൽലും നൈഗാർഡും പ്രീഫിക്സ് എന്ന ആശയം വിപുലീകരിച്ചു. അവരുടെ ആവശ്യകതകൾ നിറവേറ്റുന്നതിനുള്ള മറ്റ് ഫീച്ചറുകൾ പൊതുവായ ആശയം നടപ്പിൽ വരുത്തി. 1967 മേയ് ഓസ്ലോയിലെ സിമുലേഷൻ ഭാഷകളിലെ ഐഎഫ്ഐപി വർക്കിങ് കോൺഫറൻസിൽ ഡാൽ, നൈഗാർഡ് എന്നിവർ ക്ലാസ്സുകളും സബ്ക്ലാസും പ്രഖ്യാപിച്ചു. സിമുലയുടെ ആദ്യത്തെ ഔപചാരിക നിർവചനം ഇതാണ്. 1967 ജൂണിൽ ഭാഷയെ സാധാരണവത്കരിക്കുന്നതിന് ഒരു സമ്മേളനം സംഘടിപ്പിക്കുകയും ഒരുപാട് പ്രാവശ്യം നടപ്പിലാക്കുകയും ചെയ്തു. ടൈപ്പും ക്ലാസ്സ് കൺസെപ്റ്റും എകീകരിക്കാൻ ഡാൽ നിർദ്ദേശിച്ചു. ഇത് ഗൗരവതരമായ ചർച്ചകൾക്ക് കാരണമായി, ഈ നിർദ്ദേശം ബോർഡ് നിരസിച്ചു. 1968 ഫെബ്രുവരിയിൽ നടന്ന സിമുല സ്റ്റാൻഡേർഡ് ഗ്രൂപ്പിന്റെ (SSG) ആദ്യ യോഗത്തിൽ സിമുല 67 ഔപചാരികമായി സ്റ്റാൻഡേർഡ് ചെയ്തു. 

സ്മോൾടോക്കിന്റെയും പിന്നീട് ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് പ്രോഗ്രാമിംഗ് ഭാഷകളുടെയും വികസനത്തിൽ സിമുല സ്വാധീനം ചെലുത്തി. കൺകറണ്ട് കംപ്യൂട്ടേഷന്റെ ആക്ടർ മോഡലിനെ പ്രചോദിപ്പിക്കാനും ഇത് സഹായിച്ചു, പക്ഷേ സിമുല കോറൂട്ടീനുകളെ മാത്രമേ പിന്തുണയ്ക്കുന്നുള്ളൂ അല്ലാതെ യഥാർത്ഥ കൺകറൻസിയെയല്ല.

## അവലംബം