Käyttöympäristön vianmääritysmalli

Ympäristön vianmääritysmalli määrittää yleiset vianmääritysrajapinnat, jotka on tarkoitus toteuttaa ja joita on tarkoitus laajentaa konkreettisina, kielikohtaisina toteutuksina.

Artefaktit

Mallin luokat edustavat erilaisia vianmäärityksen alaisena olevien ohjelmien artefakteja. Kaikki artefaktit toteuttavat rajapinnan IDebugElement omien rajapintojensa lisäksi. Malli sisältää seuraavien artefaktien määritykset:

Sellaiset lisäosat, jotka toteuttavat kielikohtaisia vianmääritysohjelmia, laajentavat näitä rajapintoja siten, että ne sisältävät myös kielikohtaisia toimintoja.  Kaikki vianmääritysalkiot voivat palauttaa ne luoneen lisäosan tunnuksen.  Tämä on tärkeää vianmääritysmalliin liitettyjen muiden luokkien, kuten käyttöliittymäluokkien, rekisteröinnin kannalta.

Toiminnot

Malli sisältää rajapintoja, jotka määrittävät vianmääritystoimintoja, jotka puolestaan ovat tavallisia vianmääritysartefaktien toimintoja.  Vianmääritysalkiot toteuttavat nämä rajapinnat tarvittaessa. Niihin kuuluvat seuraavat toiminnot:

Ympäristön vianmääritysalkioita tarkasteltaessa huomaa, että eri perusosat toteuttavat eri vianmääritystoimintoja.  Perusosien ja niiden toimintojen vakiorajapintojen avulla ympäristö mahdollistaa sellaiset apuohjelmaluokkien ja käyttöliittymän tuen abstraktit toteutukset, jotka voidaan laajentaa vianmääritysohjelmien konkreettisiksi toteutuksiksi.

Tapahtumat

Vianmääritystapahtumia (DebugEvent) käytetään sellaisten tapahtumien määrityksessä, jotka ilmenevät ohjelman vianmäärityksen aikana.  Vianmääritystapahtumat sisältävät niihin liitetyn vianmääritysalkion.  Jokaisella vianmääritysalkion lajilla on omat tapahtumansa, joita se tukee, kuten käy ilmi kohdasta DebugEvent. Vianmääritysohjelman toteutukset voivat lisätä sovelluskohtaisia vianmääritystapahtumia käyttämällä tapahtuman lajina DebugEvent.MODEL_SPECIFIC-lajin määritystä. Työaseman tietokenttää voidaan tässä tapauksessa käyttää tapahtuman mallikohtaisen tiedon lisäämiseen.

Vianmääritysohjelmien käyttöliittymäluokat kuuntelevat yleensä alkioita varten tapahtumia, jotta ne voivat esittää alkioissa tapahtuvia muutoksia koskevaa tietoa.  Vianmääritystapahtumat muodostavat ryhmiä, joita kutsutaan vianmääritystapahtumien joukoksi.  Samassa kohdassa ohjelman suorituksen aikana ilmenevät tapahtumat kuuluvat samaan ryhmään. Työasemien pitää toteuttaa rajapinta IDebugEventSetListener ja rekisteröidä kuuntelutoiminto org.eclipse.debug.core-lisäosaan, jotta ne saavat tietoa vianmääritystapahtumista.