Ugrás a tartalomhoz

Szerkesztő:Vitovszkisoma/Merőlegesség

A Wikipédiából, a szabad enciklopédiából

Számítástechnika[szerkesztés]

A programozási nyelvek tervezésében a merőlegességnek nevezzük azt, ha a különböző nyelvi jellemzőket tetszőleges kombinációkban, konzisztens eredményekkel lehet használni.[1] Ezt a felhasználási módot Van Wijngaarden vezette be az Algol 68 tervezése során:

A független primitív fogalmak számát minimalizáljuk annak érdekében, hogy a nyelv könnyen leírható, megtanulható és implementálható legyen. Másrészt ezeket a fogalmakat "merőlegesen" alkalmazzuk annak érdekében, hogy maximalizáljuk a nyelv kifejezőerejét, miközben igyekeszünk elkerülni a káros feleslegességeket. [2]

A merőlegesség egy olyan rendszertervezési tulajdonság, amely garantálja, hogy a rendszer egyik összetevője által létrehozott műszaki hatás módosítása nem okoz és nem terjeszt mellékhatásokat a rendszer más összetevőire. Ezt jellemzően a szerepkörök szétválasztásával és a beágyazással érik el, és ez alapvető fontosságú a komplex rendszerek ésszerű és kompakt terveihez. Egy komponensekből álló rendszer kialakuló működését szigorúan a logika formális definícióinak kell szabályoznia, és nem a rossz integrációból, azaz a modulok és interfészek nem merőleges tervezéséből eredő mellékhatásoknak. A merőlegesség redukálja a tesztelési és fejlesztési időt, mivel könnyebb olyan terveket ellenőrizni, amelyek nem okoznak mellékhatásokat, és nem is függenek azoktól.

Egy utasításkészletet merőlegesnek nevezünk, ha nincs benne redundancia (azaz csak egyetlen utasítás használható egy adott feladat elvégzésére) [3], és úgy van kialakítva, hogy az utasítások bármilyen regisztert használhatnak bármilyen címzési módban. Ez a terminológia abból adódik, hogy az utasítást vektornak tekintjük, amelynek összetevői az utasításmezők. Az egyik mező a módosítandó regisztereket azonosítja, egy másik pedig a címzési módot adja meg. Egy ortogonális utasításkészlet a regiszterek és címzési módok minden kombinációját egyedileg kódolja.[forrás?] [[Kategória:Lineáris algebra]] [[Kategória:Absztrakt algebra]]

  1. Michael L. Scott, Programming Language Pragmatics, p. 228
  2. 1968, Adriaan van Wijngaarden et al., Revised Report on the Algorithmic Language ALGOL 68, section 0.1.2, Orthogonal design
  3. Null, Linda. The essentials of computer organization and architecture, 2nd, Jones & Bartlett Learning, 257. o. (2006). ISBN 978-0-7637-3769-6