käyttäjän tai tietoa käsittelevät ohjelmiston näkökulmasta Jokaiseen dokumenttiin liittyy

Koko: px
Aloita esitys sivulta:

Download "käyttäjän tai tietoa käsittelevät ohjelmiston näkökulmasta Jokaiseen dokumenttiin liittyy"

Transkriptio

1 7LHGRVWRWGRNXPHQWLWWLHWR KPHGLD Tietokoneet käsittelevät tietoa WLHGRVWRMHQmuodossa Tietokoneiden yhteydessä GRNXPHQWLOODWDUNRLWHWDDQWLHGRVWRMHQDYXOOD HVLWHWWlYllDVLDNRNRQDLVXXWWD, joka jäsennetään kokonaisuudeksi joko käyttäjän tai tietoa käsittelevät ohjelmiston näkökulmasta Jokaiseen dokumenttiin liittyy - VLVlOW, UDNHQQHja HVLW\VWDSD (enemmän tai väh. toisiinsa sekoittuneina) Tietokoneiden tapauksessa nämä voidaan teknisesti erottaa (ainakin osittain) toisistaan, esim. seuraavasti 1) dokumentin sisältö kirjoitetaan suomen kielellä ja esitetään tekstimuotoisena 2) dokumentin looginen rakenne (otsikot, kappaleet, lainaukset, ) koodataan HTML-elementeiksi HTML-koodauksen avulla 3) dokumentin ulkoasu (esitystapa) valitaan määrittelemällä em.elementeille ulkoasu esim. CSS-sääntöjen muodossa, WYSIWYG-tyyliin formatointiohjeina tai jätetään kokonaan dokumenttia esittävän ohjelman huoleksi

2 (VLPHUNNL+70/GRNXPHQWWL Seuraava dokumentti koostuu kolmesta tiedostosta esim.html (sisältö & rakenne), kuva.gif (dokumenttiin upotettu kuva) ja esim.css (ulkoasun määrittely): tiedosto esim.css BODY { background: white; } H1 { color: black; font-size: 20px; font-weight: bold; } P { color: blue; font-size: 12px; } tiedosto esim.html: <HTML> <HEAD> <TITLE>Moi maailma</title> </HEAD> <BODY> <H1>Esimerkki</H1> <P><IMG SRC="kuva.gif">Dokumenttien kirjoittaminen on oikeastaan aika helppoa.</p> </BODY> </HTML>

3 'RNXPHQWLWWLHGRQPDOOLQWDPLQHQMDHVLWWlPLQHQ Karkeasti sanottuna: GRNXPHQWWLRQYlOLQHWLHGRQHVLWWlPLVHOOH"Dokumentti" ("käsitteellinen kokonaisuus") voi "teknisesti" tosin olla esitettynä useassa tiedostossa, tietokannassa tai jopa tietokoneohjelman "sisällä" tulostusohjeina "Tieto"-käsitteen hankaluuteen ei tässä yhteydessä ole syytä syvällisemmin puuttua - WLHGRQDNVHOL: tietämys - tieto - informaatio - data - kohina - NODVVLQHQQlNHP\V~ tieto on tosi perusteltu uskomus (tämä näkemys on yleisesti liian rajoittava [mitkä asiat "oikeasti" ovat tosia?]) - Nl\WlQQ OOLQHQQlNHP\V~ tieto on tavalla tai toisella merkityksellistä informaatiota (tässä taas ei oteta kantaa "totuuteen", vaan yhteys käyttöön) Tiedon esittäminen perustuu johonkin tiedon esitysmuotoon ollen sidoksissa tietyn NXYDXVPHQHWHOPlQkäyttöön Tiedon kuvausmenetelmiä on olemassa lukuisia erilaisia ja eritasoisia, esim. - käsitekartat, semanttiset verkot, predikaattilogiikka, formaalit teoriat, ERdiagrammit, UML-kaaviot, HTML, XML, CSS, XSL, MathML, SMIL,

4 Kuvausmenetelmä valitaan sen perusteella, mistä tiedon piirteistä ollaan kiinnostuneita ja mitä tiedolla halutaan tehdä Erilaisten kuvausmenetelmien välillä voidaan löytää seuraavat ääripäät: - tiedon kuvaaminen tai "jäsentäminen" DVLDVLVlOO QLWVHQVl näkökulmasta ~ WLHGRQNlVLWWHHOOLQHQUDNHQQH ([content]) - tiedon kuvaaminen tai "koodaaminen" DVLDVLVlOO QHVLWWlPLVHQnäkökulmasta ~ WLHGRQHVLW\VUDNHQQH([presentation]) (VLPHUNNLkakkureseptin rakenteen kuvailu - taso 1: NlVLWHUDNHQWHHQWHUPHLKLQMDUHODDWLRLKLQOLLWW\YLHQVRSLPXVWHQ HVLWWlPLQHQ - taso 2: WLHGRQWLHGRVWRNVLNRRGDDPLVHHQHOHPHQWWLHQUDNHQQHMDVLVlOW OLLWW\YLHQVRSLPXVWHQHVLWWlPLQHQ - tämän lisäksi sama "asia" voidaan vielä "kertoa välillisesti" jonkin yleisen tekstin esitysrakenteen puitteissa (esim. muunnoksen tuloksena) Sisällön ymmärtävän lukijan näkökulmasta em. kolme tapaa voivat hyvinkin välittää "saman tiedon", mutta esim. tietokoneiden näkökulmasta tiedon eri esitysrakenteet ovat hyvinkin erilaisia

5 (VLPHUNNLNDNNXUHVHSWLQHULW\\SSLVLVWlHVLW\VPXRGRLVWD LGHD WLHGRQMlVHQWlPLQHQ Kakkuresepti? kakkuresepti on resepti osa ainekset 7,(72,+0,6(10,(/(66b osa valmistusohje WLHGRQPDOOLQWDPLQHQ WLHGRQHVLWWlPLQHQWDLWLHGRVWDNHUWRPLQHQ resepti ainesosa työvaihe #PCDATA #PCDATA resepti otsikko luku #PCDATA kplotsikko #PCDATA kpl #PCDATA 7,(727,(72 21((66$ OXHWWDYLVVDROHYDGRNXPHQWWL

6 (VLPHUNNL matemaattisen kaavan x + a / b kuvailu MathML-merkkauskielellä: tapa 1: käsitteellinen merkkaus ([content]): <apply><plus/> <ci> x </ci> <apply><times/> <ci> a </ci> <apply><power/> <ci> b </ci> <cn> -1 </cn> </apply> </apply> </apply> tapa 2: esittämiseen liittyvä merkkaus ([presentation]): <mrow> <mi> x </mi> <mo> + </mo> <mrow> <mi> a </mi> <mo> / </mo> <mi> b </mi> </mrow> </mrow>

7 7LHWRMDPHWDWLHWR Tieto-käsitteeseen liittyy läheisesti PHWDWLHGRQ käsite. Metatiedolla tarkoitetaan tietoa tiedosta Tieto ja metatieto ovat suhteellisia, informaation käytöstä riippuvia käsitteitä Tietojenkäsittelyssä metatiedolla tarkoitetaan annetun tieto-objektin tietyn kiinteän mallin mukaista kuvausta (vrt. kirjastokortti) kirja lomake kirjastokortti Metatietoa on kärjistetysti kahdenlaista: tiedon semanttiseen kuvailuun & luokitteluun liittyvää metatietoa (esim. "tämä on kirje") ja tiedon esitysrakenteeseen liittyvää rakenteellista metatietoa (tämän dokumentin rakenneosia ovat "otsikko, leipäteksti ja kuva")

8 'RNXPHQWWHLKLQVLVlOW\\XVHDQW\\SSLVWlWLHWRD Dokumentteihin liittyy oikeastaan siis aina XVHLWDeritasoisia ja -tyyppisiä koodauksia, esim. - sisällön koodaus (suomen kielen sanojen kirjoittaminen ASCII-merkkeinä, kuvien esittäminen bittikarttoina tai vektorigrafiikkana) - rakenteen koodaus (elementtien alku- ja lopputagit HTML:n mukaisesti) - ulkoasun koodaus (esim. elementtien ulkoasun määrittäminen CSSformatointiominaisuuksien mukaisesti) - toiminnallisuuden koodaus (esim. linkin seuraaminen, skriptit, ) joihin puolestaan saattaa sisältyä omia koodauksia, rakenteita & yms. sopimuksia, joista ei "dokumentin yhteydessä" välttämättä erikseen mainita (esim. suomen kielen kielioppi & dokumenttiin sisältyvien objektien koodaus, HTML-kielioppi, kuvien pakkaus, skriptien syntaksi, jne.) Tietokoneiden myötä dokumentteihin voi siis liittyä myös WRLPLQQDOOLVXXWWD (esim. linkin seuraaminen, animaatiot & dokumenttiin upotettavat ohjelmat)

9 7LHGRQNXYDDPLQHQWHNVWLPXRGRVVDWLHWRNRQHHW Erityyppiset tiedon esitystavat voidaan yleensä palauttaa tekstimuotoon (VLPHUNNL kakkureseptin NlVLWWHHOOLVHQUDNHQWHHQpalauttaminen logiikkaan part-of(ainekset,resepti) part-of(valmistusohje,resepti) is-a(kakkuresepti,resepti) (VLPHUNNL reseptin WLHGRQHVLW\VUDNHQWHHQpalauttaminen XML-säännöiksi: <!ELEMENT resepti (aineosa+, työvaihe+)> <!ATTLIST resepti nimi CDATA #IMPLIED> <!ELEMENT aineosa (#PCDATA)> <!ELEMENT työvaihe (#PCDATA)> Sääntöjä noudattava dokumentti voisi olla esim. seuraavanlainen <resepti nimi="suklaakakku"> <aineosa>jauhoja 3 desiä</aineosa> <aineosa>loput aineet</aineosa> <työvaihe>sekoita osat keskenään</työvaihe> <työvaihe>paista uunissa 200 asteen lämmössä</työvaihe> </resepti>

10 Käytännön suunnittelussa eri näkökulmien tulisi tukea toisiaan - aluksi tietoa analysoidaan & jäsennetään, jotta tiedettäisiin "mistä on kyse" - tämän jälkeen tieto mallinnetaan käytännöllisten tietorakenteiden muodossa, jotta tiedettäisiin "mitä tietoa sovelluksessa esitetään ja miten?" - lopuksi näistä tietorakenteista voidaan sitten rakentaa erilaisia esityksiä ("minkälainen hyperdokumentti asiasta kertomiseen tai asian näyttämiseen tarvitaan?") Eli aluksi mietitään mitä halutaan esittää, sitten suunnitellaan minkälaisten tietorakenteiden varaan tieto rakentuu ja lopuksi valitaan missä muodossa asiat (lukijalle) esitetään +XRP jos tiedon X esitysrakenne valitaan sen perusteella, miten asiasisältö esitettäisiin esim. HTML-sivuna, esitysvaiheessa "hukataan" (abstraktia) tietoa: - kirjoittaja saattaa (ainakin kirjoitusvaiheessa) "ymmärtää" tai "muistaa" mistä oli kyse, mutta myöhemmin dokumenttia lukiessa "idea" on rivien välissä; konkreettisena pulmana tiedon koneellisen käsittelyn hankaloituminen - ratkaisu: tiedon esittämiseen käytetään "riittävän rikkaita" kuvausmenetelmiä (esim. XML-pohjaisia sanastoja joista tieto kuvataan HTML-muotoon tarvittaessa)

11 $XWRPDDWWLVHQWLHWRMHQNlVLWWHO\QLGHD Koska tietokoneet eivät ymmärrä koodatun datan merkitystä, SLWllWLHGRQ HVLW\VWDSDYDOLWDNl\W VVlROHYLHQNlVLWWHO\PHQHWHOPLHQHKGRLOOD Keskeinen idea on ATK:n tuominen osaksi informaation NlVLWWHO\prosessia pelkän informaation WDOOHWWDPLVHQVLMDDQ(tästä on puhuttu ennenkin ) RKMHOPDOOLQHQ NlVLWWHO\ VLLUUHWWlY\\V keskitetty ylläpito VRYHOOXNVHWMD Nl\WW informaatio, tieto ja näkemykset HVLWWlPLQHQ tiedon sähköinen esitystapa salaus varmennettavuus pakkaus 7DYRLWH tietokone = (10 4 FIM maksava) muistilehtiö & lipasto tietokone = tiedon hallintajärjestelmä Keskeinen virhe on luulla, että tieto on (yleisesti) käyttökelpoisessa muodossa "kunhan se vain jotenkin saadaan tietokoneelle koodattua" (tavoitteet?!)

12 7LHGRQHVLW\VUDNHQWHLVWDKLHUDUNNLVHWUDNHQWHHW Tiedon intuitiivisista esitysrakenteista tärkeimpiä ovat kurssilla jo aikaisemmin esitellyiksi tulleet graafit ja puut Juurelliset puut ovat havainnollisuutensa ansiosta erityisen käyttökelpoisia pienten KLHUDUNNLVWHQGRNXPHQWWLUDNHQWHLGHQesittämisessä (esim. HTML) (VLPHUNNLYksinkertaisen HTML-dokumentin eri osat voidaan kätevästi jäsentää dokumentin UDNHQQHSXXQ(eli MlVHQQ\VSXXQ) avulla seuraavasti: +70/ +($' %2'< 7,7/( Esimerkki %*&2/25="white" + Johdanto 3 Tämä on tyypillinen HTML-dokumentti

13 Sama dokumentti näyttää HTML-koodattuna esim. seuraavalta: <HTML> <HEAD> <TITLE>Esimerkki</TITLE> </HEAD> <BODY BGCOLOR="white"> <H1>Johdanto</H1> <P>Tämä on tyypillinen HTML-dokumentti</P> </BODY> </HTML> Paitsi analysoida ja jäsentää annettuja dokumentteja, merkattujen puurakenteiden avulla voidaan intuitiivisesti myös PllULWHOOldokumenttiluokkia (VLPHUNNLSeuraava ELM-puudiagrammi määrittelee yksinkertaisen dokumenttiluokan geneerisen elementtirakenteen (XML DTD yhteensopivasti) 5(6(37, $,1(6 2+-( 3&'$7$ 3&'$7$

14 Vastaava (vaikeampilukuinen?) XML dokumentin tyyppimääritys olisi muotoa <!ELEMENT RESEPTI (AINES+, OHJE*)> <!ELEMENT AINES (#PCDATA)> <!ELEMENT OHJE (#PCDATA)> On syytä huomata, että "sama asiasisältö" voidaan esittää useita erilaisia dokumenttirakenteita käyttämällä (VLPHUNNL Kotisivuilta löytyvä asia voidaan kertoa HTML-dokumenttina siten, että käytetään monipuolisesti eri HTML-elementtejä (esim. H1, H2, P & ADDRESS) tai siten, että sama asia kuvataan sanallisesti yhden ainoan P- elementin sisällä Dokumentin rakenteisuuden mitta on dokumenttiin koodattujen rakenneelementtien runsaus eli JUDQXODULWHHWWL - suuri granulariteetti eli "pienet rakeet" ~ rikas rakenne - pieni granulariteetti eli "suuret rakeet" ~ yksinkertainen (köyhä) rakenne Jos dokumentin rakenne on valittu systemaattisesti, sisällön merkitystä kuvaillen, parantuvat mahdollisuudet tiedonkäsittelyn automatisointiin tiedon "arvo" kasvaa (suurta tietomäärää voidaan "hallita pienellä käsityön määrällä")

15 +LHUDUNLDWMDYLUUDW Kaikki tiedon "luontevat" esitysmuodot eivät aina ole luonteeltaan hierarkkisia (joskin kaikki tieto voidaan ilmeisesti kuvata myös hierarkkisina rakenteina) 9LUWDon jono tietoalkioita (merkkejä) ja kontrollialkioita (kontrollimerkkejä, ohjausmerkkejä tai tapahtumia) Virrassa tieto esitetään siis "pötkössä", jonka seassa on ohjaustietoa (VLPHUNNL Tyypillisiä virtoja ovat esim. ääninäytteet ja videoleikkeet Virtojen kontrollimerkkejä ei siis tulkita elementtien lohko tms. -merkeiksi, koska koko elementin käsitettä ei (välttämättä) ole (VLPHUNNL Myös ohjelmointikielestä C tuttu merkkijonojen käsittely tapahtuu virtojen muodossa printf("tulosta minut\r\nkahdelle riville!"); Tietoa käsitellään virtojen muodossa lähinnä silloin kun - rakenne "ei kiinnosta", ts. tiedolla ei (sovelluksen näkökulmasta) ole tarpeellista rakennetta

16 - tietoa saadaan haltuun vähän kerrallaan, mutta se on käsiteltävä heti - tiedon rakenteen merkitseminen on kohtuuttoman hankalaa Kun hierarkkiset ja virtamaiset tietorakenteet yhdistetään, puhutaan ns. NRPSRVLLWWLUDNHQWHLVWD - hierarkkiset rakenteet "virran vietävänä" ja päinvastoin Käytännössä useat dokumenttirakenteet ovat itse asiassa komposiittirakenteita, vaikka niistä puhutaankin hierarkkisina - "rakenteisissa dokumenteissa" toimitaan tyypillisesti siten, että dokumentin elementtien perusrakenne on puumainen (hierarkkinen) ja lehtielementtien sisältötekstin rakenne on tulkinnaltaan virtamainen (esim. HTMLstandardissa elementin BR käyttö) - vrt. CSS-tyylin display-ominaisuudet EORFN and LQOLQH

17 +\SHUWHNVWLQUDNHQQH Hypertekstin idea on erittäin yleinen (yksinkertainen); hyperteksti on solmuista rakentuva suunnattu graafi, jonka sisällä käyttäjä navigoi linkkejä seuraamalla Hypertekstin "teorian" kehittäminen (ja sovellusten systemaattinen rikastaminen) edellyttää ilmeisesti hypertekstin määrittelemistä tätä täsmällisempänä rakennelmana - luonnollinen (moderni) kehityssuunta on hypertekstin solmujen tarkastelu rakenteisina dokumentteina (á la HTML) Hypertekstin (teknisenä) perustana ovat tällöin QLPHW\WWDLYLLWDWWDYLVVDROHYDW GRNXPHQWWLUDNHQWHHW(eksplisiittisesti tai implisiittisesti nimetyt elementit) - viitattavissa olevat dokumentit muodostavat K\SHUDYDUXXGHQ, jossa hyperdokumentin solmurakenne voidaan valita; viittaaminen solmuihin tapahtuu näiden resurssinimien perusteella (esim. URI) - solmujen (dokumenttien) VLVlLVHWviittaukset perustuvat taas johonkin dokumentin osien nimeämis- ja viittauskäytäntöön (esim. nimetty elementti HTML-kielessä tai sijainti DOM-puussa)

18 :::K\SHUWHNVWL Perusrakenne on dokumentti- ja elementtirakenteiden varaan rakentuva (esim. assosiatiivinen) linkitysrakenne jonka ytimenä ovat WWW-resurssit Linkkien kohteina ovat :::UHVXUVVLW(dokumentit tai dokumenttien osat)

19 Seuraavassa hypertekstin perusominaisuuksia peilataan seuraavassa kolmen "erilaisen" hypertekstijärjestelmän näkökulmasta: HTML:n, Dexterin ja XLinkin. Vain HTML-linkitys käsitellään (on käsitelty) kurssilla täsmällisesti - on kuitenkin hyvä tietää "muustakin". Kiinnostuneille löytyy verkosta lisätietoa, ks. - HTML (ks. ) - Dexter Hypertext Reference Model (ks. ) - XLink (ks. ) Hypertekstin verkkomainen rakenne toteutetaan K\SHUOLQNNLHQavulla ( ) - yksisuuntaiset linkit (esim. HTML A-elementti) - kaksisuuntaiset linkit (Dexter & XLink) - monensuuntaiset linkit (Dexter & XLink) Linkin alkupistettä kutsutaan linkin OlKGHDQNNXULNVLja loppupistettä linkin NRKGHDQNNXULNVL(joskus molempia kutsutaan lyhyesti vain ankkureiksi tai lähteiksi ja kohteiksi, vastaavasti)

20 +\SHUOLQNNLHQPHNDQLVPHLVWD Toteutuksesta riippuen hypertekstin linkit esitetään eri tavoin ( ) - Dexter mallintaa linkin omana komponentteinaan joihin viittaukset koodataan lähde- ja kohdedokumentteihin (monensuuntaisia linkkejä) - HTML-koodaa linkit kiinteästi lähdedokumenttiin (vain yhdensuuntaisia linkkejä) kaksisuuntaiset linkit - XML-standardiperheen linkitys tarjoaa em. mahdollisuudet, sekä lisäksi mahdollisuuden assosioida dokumenttiin linkkejä (sekä lähde- että kohdeankkureita) LOPDQHWWlOLQNLWQlN\YlWNRGRNXPHQWWLHQNRRGDXNVHVVD PLOOllQWDYDOOD(!) Hyperlinkin avulla voidaan (rakenteisessa dokumentissa) periaatteessa viitata ( ) - dokumenttiin kokonaisuudessaan, - dokumentissa löytyvään elementtiin - dokumentista löytyvään pistemäiseen tunnisteeseen (esim. nimettyyn ankkuriin tai tekstisolmuun)

21 Viittaaminen elementtiin voidaan suorittaa - elementin nimen perusteella 10 Tiedostot, dokumentit, tieto (&h-media) - elementin sijainnin perusteella (asema dokumentin jäsennyspuussa) - elementin attribuuttien perusteella - elementin sisältämän merkkidatan (tekstin) perusteella - elementin muun sisällön perusteella (esim. lapsielementtien) Hyperlinkkiviittausten keskeisiä ongelmia ovat: - resurssien löytyminen ja saatavuus (miten kohdesolmut nimetään & miten saadaan tieto näiden olemassaolosta) - viittaamiskäytännön raskaus (esim. viittaukset tekstisisällön perusteella saattavat olla laskennallisesti raskaita) - linkkien ylläpito (ULNNRXWXYDWNR linkit jos resursseja liikutellaan tai uudelleenjärjestellään?)

22 Linkkien VDDWDYXXWHHQliittyvien pulmien ratkaisumenetelmä vaihtelee vastaavasti: - HTML- ja XML-linkkien kohdeankkurit pitää "jostain vain" tietää (esim. arvata & kokeilla) - Dexter-sovelluksen kaikki mahdolliset linkit voidaan täsmällisesti etsiä & luetteloida universaalin hakufunktion avulla (koska linkit ovat komponentteja) /LQNNLYLLWWDXVWHQUDVNDXWHHQliittyviä ratkaisuja: - HTML-linkit eivät sisällä hakumahdollisuutta, joten HTML-linkit ovat teknisesti kevyt toteuttaa (hakujen teknisiä toteutusmahdollisuuksia käsitellään tuonnempana formaalien kielten esittelyn yhteydessä) - Dexter-linkit voivat sisältää koko hyperavaruuden kaikkien komponenttien sisäisiä hakuja, mikä saattaa tarkoittaa HULWWlLQraskasta prosessointia linkin kohteen selvittämiseksi - XML-linkit sisältävät hakumahdollisuuden, mutta vain yhden (XML-) resurssin sisällä; linkin kohteen selvittämisen raskaus riippuu dokumenttien koosta

23 Linkkien HKH\WHHQliittyviin ongelmiin eri järjestelmät ottavat kantaa eri tavoin: - HTML-linkit voivat mennä reilusti rikki, kun taas Dexter-linkit ovat aina ehjiä - XML-linkit voivat mennä rikki (samaan tapaan kuin HTML-linkitkin), mutta linkkien eheyden ylläpitoa voidaan helpottaa ns. XONRLVWHQlinkkien ylläpidon suunnittelulla (näin toimivat erityisesti ns. linkkikannat ([linkbase])) - WWW:hen tosin puuhataan mekanismia, joka nimeäisi linkkejä (vähän Dexterin tapaan, ks. URN / ) WWW-hypertekstissä on hyvä huomata esim. linkkien eheyteen liittyvä VXKWHHOOLVXXVWWW:n mekanismien ja yksittäisten selainohjelmien toiminnan välillä; voitaisiinhan hyvin esim. PllULWHOOl (!), että kaikki A-elementillä merkatut WWW-linkit ovat DLQDehjiä ja että VHODLQWHQWRLPLQWDDQkuulu olla näyttämättä rikkoutuneita linkkejä (tällöin selaimen esim. validoisi kaikki dokumentin linkit juuri ennen niiden näyttämistä - tavallaan kuvat käsitellään juuri näin!) Oletuksen mukaisesti hypertekstin linkit ovat DVVRVLDWLLYLVLD. Linkkejä voidaan kuitenkin tarkastella yleisinä (muinakin kuin binäärisinä) relaatioina ja tarkastella sen mukaisesti (tällöin ongelman saattaa muodostaa "sopivan" käyttöliittymämetaforan suunnittelu & toteuttaminen) - esitieto, osa-, ryhmä-, jne. relaatiot

24 +\SHUOLQNNLHQWRLPLQQDOOLVXXV On syytä huomata, että hyperlinkeille voidaan periaatteessa asettaa myös toiminnalliseen semantiikkaan liittyviä "epästandardeja" määrityksiä (VLPHUNNL XLink-spesifikaation hyperlinkeiltä löytyy attribuutti DFWXDWH, arvot: - RQ/RDG(linkki ladataan YlOLWW PlVWL - toiminnan järkevyys selviää kohta) - RQ5HTXHVW(perinteinen "odotetaan kunnes käyttäjä klikkaa, tms.") - RWKHU(selain päättää käyttäytymisen) Linkin seuraamistapahtuma voidaan periaatteessa valita mielivaltaisesti (VLPHUNNL XLink-spesifikaation määrittelemillä hyperlinkeillä voi olla attribuutti VKRZ, joka voi saada arvot - QHZ(linkin kohde-elementti(!) avataan uudessa käyttöliittymätason ikkunassa) - UHSODFH(selain korvaa koko nykyisen dokumentin linkin osoittamalla kohdeelementillä)

25 - HPEHG(se elementti, johon linkki viittaa, upotetaan linkkiviittauksen kohtaan siten, että se elementti, joka toimii linkkinä(!), korvataan linkin kohdeelementillä) - RWKHU(selain päättää käyttäytymisen) Huomaa, että osa edellisistä voidaan osin toteuttaa HTML-linkkien avulla (ainakin skriptikielellä terästettynä). Edelleen on syytä huomata, että selain voisi periaatteessa tehdä PLWlWDKDQVDmuutakin (tosin "mikä tahansa" ei käyttäjän odotuksien näkökulmasta ole sovelluksissa järkevää) Vastaavasti voidaan luokitella myös solmuja (luokittelusta voi edelleen seurata esim. "perittävyyteen" liittyviä piirteitä hypertekstin tulkintaan, vrt. hypertekstin visualisointia käsittelevä prujun osa) Rakenteisiin dokumentteihin liittyvälle ("modernille") hypertekstille voidaan siis esittää (jo edellä esitelty) luonnehdinta - rakenteisen hypermedian perustan muodostaa nimetyistä dokumenteista koostuva hyperavaruus; jokaisen hyperavaruuden dokumentin sisäinen rakenne on hierarkkinen, mikä tarjoaa perustan elementteihin viittaamiseen - hyperlinkit ovat tämän dokumenttiperheen ja dokumenttien elementtienvälisiä relaatioita (teknisesti itsekin dokumentteja tai näiden elementtejä)

26 'RNXPHQWWLUDNHQWHLGHQPllULWWHO\ (Rakenteisten) dokumenttien ja tietorakenteiden käytön yhteydessä (hypermediaan liittyviä) keskeisiä kysymyksiä ovat: - miten tietorakenne se-ja-se on määritelty? Ts., millaisia "kaikki" sovelluksen oikeantyyppiset tietorakenteen ovat? - kuinka dokumentista voidaan valita ankkurin kohteita dokumentin rakenneelementtien nimiä tai (yksityiskohtaisia rakenteitakaan) tuntematta? Rakenteisten dokumenttien, esim. HTML-merkkauksella merkityn tekstitiedoston tapauksessa samantyyppinen kysymys on: miten WRGHOOD tiedämme, että esim. dokumentti <title>esimerkki</title> <h1>kappaleotsikko</h1> <p>tämä kappale on oikein muodostettu</p> on "oikein muodostettu", mutta seuraava dokumentti ei ole? <title>esimerkki</title> <h1>kappaleotsikko<p></h1> Tämä kappale on oikein muodostettu</p>

27 Vastaus piilee tavassa, jolla tietorakenne (dokumenttirakenne) määritellään; määrittelyn on oltava luonteeltaan sellainen, että se tarjoaa täsmällisen kuvauksen (tai mallin) kaikista "sallitunmuotoisista" tietorakenteista Edellä eräs tällainen kuvaustapa on edellä esitetty elm-puudiagrammi, joka täsmällisesti luonnehti NDLNNLDRESEPTI-tyyppisiä rakenteisia dokumentteja: '2 80(17,1 7<<33,0bb5,77(/< '2 80(177,/82 $1 b6,7( 5(6(37, $,1(6 2+-( 3&'$7$ 3&'$7$ Tietokoneet eivät kuitenkaan operoi kuvilla, vaan merkkijonoilla (eikä em. puudiagrammien avulla ole mahdollista määritellä kaikkia tietorakenteita) Yleisessä tapauksessa, kun halutaan WlVPlOOLVHVWLOXRQQHKWLD WDLSRLPLD WLHWRUDNHQWHLWDYLLWWDXVWHQDYXOOD, tietorakenteet assosioidaan merkkijonoiksi joiden rakenteen käsittely tietokoneilla on tehokasta (ja johon löytyy valmiiksi määritelmiä ja tuloksia) Tällöin viime kädessä päädytään (formaalisten) kielten käsitteisiin; idea on, että määriteltävän tietorakenteen "malli" vastaa kielen määrittelyä ja mallin mukaiset tietorakenteet vastaavat kielen yksittäisiä sanoja.

28 )RUPDDOLVLVWDNLHOLVWl Pyrittäessä syntaktisesti yksikäsitteisiin kieliin päädytään ns. IRUPDDOLVWHQ NLHOWHQ (formaalien kielten) käsitteisiin; tavoitteena on tällöin lähinnä (objektikieleen liittyvän) kielenkäytön ja päättelyn täsmentäminen Koska kielet ovat sanojen joukkoja, käytetään kielille tuttuja joukko-opin merkintöjä ja operaatioita (sisältyminen, yhdiste, leikkaus, komplementti jne.) Kieliin liittyviä peruskäsitteitä: aakkosto (merkistö), sana, tyhjä sana λ, kielioppi Äärellisen kielen ilmoittaminen onnistuu aina periaatteessa kielen sanat luettelemalla - äärettömille kielille tämä ei ilmeisestikään onnistu (VLPHUNNL eräs kieli aakkostossa Σ={a,b,c} on joukko L={a, ab, aaab, bab, ba} Äärettömän formaalisen kielen L ilmoittaminen voidaan tehdä usein eri tavoin (oleellisesti ominaisuusmääreiden tai tuottolausekkeiden avulla): - esim. säännöllisen lausekkeen avulla (jos L säännöllinen) - yleisessä tapauksessa kielen ilmoittaminen on usein tarkoituksenmukaista tehdä kielen sanat tuottavan NLHOLRSLQavulla

29 6llQQ OOLVHWNLHOHWMDVllQQ OOLVHWODXVHNNHHW Tärkeä formaalisten kielten erikoistapaus ovat ns. VllQQ OOLVHWNLHOHW Säännöllisen kielen määrittely tehdään ns. VllQQ OOLVHQODXVHNNHHQavulla (voidaan toki tehdä myös muuten, esim. NLHOLRSLQtai DXWRPDDWLQavulla) Säännöllisiä lausekkeita rakennetaan seuraavasti: 1. λ on Σ :n säännöllinen lauseke. 2. Jokainen merkki σ Σ on Σ :n säännöllinen lauseke. 3. Jos R ja S ovat Σ :n säännöllisiä lausekkeita, niin niitä ovat myös 5 6, 56 ja 5. (VLPHUNNL Säännöllisiä lausekkeita merkistössä {1,2,3,4,5} ovat esim. λ, 1, 4, 123, , 1*, (123)*, (12 34), (4* (12 34)) Merkintöjä sievennetään (kuten edellisessä esimerkissä tehtiin) sopimalla operaattoreiden sitovuus: *, katenaatio ja, ellei suluilla "()" toisin määrätä

30 Säännöllisten lausekkeiden avulla määritellään säännöllisiä kieliä. Tyydytään seuraavassa luonnehtimaan säännöllisen lausekkeiden R i määräämiä kieliä L(R i ) esimerkkien varassa (voitaisiin tehdä myös täsmällisesti) (VLPHUNNL Valitaan merkistö Σ={a,b,c}. Olkoon R 0 = a, tällöin L(R 0 ) = {a} Olkoon R 1 = ba*, tällöin L(R 1 ) = {b,ba,baa,baaa, } = {ba n n=0,1,2,3, } Olkoon R 2 = (ba)*, tällöin L(R 2 ) = {λ,ba,baba,baba,bababa, } = {(ab) n n=0,1,2,3, } Olkoon R 3 = (a b), tällöin L(R 3 ) = {a,b} Olkoon R 4 = (a b c)*c, tällöin L(R 4 ) = {kaikki merkeistä Σ muodostettavissa olevat sanat, joiden viimeinen merkki on c}

31 Olkoon R 5 = (a b c)*, tällöin L(R 5 ) = {kaikki merkeistä Σ muodostettavissa olevat sanat (myös tyhjä sana)} merkitään merkistön Σ NDLNNLHQVDQRMHQMRXNNRD symbolilla W(Σ) On olemassa myös kieliä, jotka HLYlWROHVllQQ OOLVLl(esim. kieli L={ a n b n n = 0,1,2,3, } ei ole säännöllinen - se voidaan tosin varsin helposti määritellä yleisen kieliopin avulla) Säännölliset lausekkeet ovat keskeisiä tietojenkäsittelyssä, koska niiden avulla voidaan helposti paitsi määrittää, myös SRLPLDjoukosta merkkijonoja annetun säännön mukaisia merkkijonoja (tai "sovittaa" [match])). Säännöllisten lausekkeiden syntaksi tosin vaihtelee järjestelmissä (Perl-regexp yleistymässä) (VLPHUNNL Komentokieleen perustuvassa käyttöliittymässä halutaan listata aktiivisen hakemiston kaikki tiedostot, jotka alkavat merkkijonolla "com" DOS: UNIX: dir com* ls com* Edellä esitettyjen säännöllisten lausekkeiden syntaksin mukaan com* vastaa säännöllistä lauseketta com(ndlnnlvdoolwxwphunlw\kglvwhww\ql OOD)*, missä "sallitut" merkit on valittu sopivasti tiedostojärjestelmän mukaisesti

32 (VLPHUNNL Määritellään päivämäärämerkinnän (suurin piirtein) oikea rakenne merkistössä {1,2,3,4,5,6,7,8,9,0,-} Valitaan A = {1,2,3}, N = ( ) ja asetetaan R = (N AN)-(N (10) (11) (12))-NNNN Tällöin kieli L(R) sisältää kaikki "suurin piirtein" oikean muotoiset päivämääriä kuvaavat merkkijonot esim , , mukana on tosin myös (semanttisesti) ilmeisen virheellisiä ("mielettömiä") merkkijonoja, esim , , jne. (Miten määritystä voisi parantaa?) Edellinen esimerkki esittelee luontevan tavan merkintöjen sieventämiseen PHUNNLOXRNNLHQkäsitteen avulla - käytännölliset säännöllisiä lausekkeita hyödyntävät järjestelmät esittelevät useita hyödyllisiä merkkiluokkia (esim. Perlissä "numerot" \d, "sana-merkit" \w, "tyhjämerkit" \s, jne.) Säänn.lausekk. syntaksia on eri sovelluksissa standardoitu (ohjelmointikielistä löytyy omat notaationsa, suurin "globaali" standardi [Perlin ohella] lienee POSIXin sisältä löytyvä säännöllisten lausekkeiden syntaksimäärittely)

33 (VLPHUNNLPerl-esimerkkejä säännöllisten lausekkeiden käytöstä etsi/korvaa - tehtävissä KUN $a = "kissa kalasti kissakalan"; TULOSTUS print "$a\n"; $a =~ s/kissa/koira/; KOIRA kalasti kissakalan $a =~ s/kissa/koira/g; KOIRA kalasti KOIRAkalan $a =~ s/[^ks\s]/_/g; k_ss_ k s k_ss_k (VLPHUNNLPerl-esimerkkejä säännöllisten lausekkeiden käytöstä osamerkkijonojen etsimisessä KUN $a = "kissa kalasti kissakalan"; if ($a =~ /(kissa)/) { print "$1\n"; } if ($a =~ /(k...a)/) { print "$1\n"; } if ($a =~ /(k.*a)/) { print "$1\n"; } if ($a =~ /(k[^\s]*a)/) { print "$1\n"; } if ($a =~ /\s(.*)\s/) { print "$1\n"; } if ($a =~ /\s(\w*)/) { print "$1\n"; } TULOSTUS kissa kissa kissa kalasti kissakala kissa kalasti kalasti Yleisemmällä tasolla säännöllisillä lausekkeilla voidaan viitata tai valita myös kokonaisten dokumenttien osia (esim. linkkiviittauksissa)

34 Säännöllisten lausekkeiden hyödyt tietojenkäsittelyssä perustuvat siis kykyyn määrittää viittauksia säännöllisen lausekkeen "mallin mukaisiin" objekteihin Rakenteisten (hyper)dokumenttien yhteydessä säännöllisillä lausekkeilla on lisäksi oma erityinen merkityksensä: säännöllisten lausekkeiden avulla (yhdessä rakenteisen dokumentin käsitteistön kanssa) voidaan viitata esim. dokumentin rakenne-elementteihin ja elementtijoukkoihin ja luoda näin hyperlinkkejä ilman viitattavien solmujen nimiä tms. (VLPHUNNL XML-hyperlinkkien taustalla oleva XLink-spesifikaatio tarjoaa XPathspesifikaation (huh?) avulla keinon rakenteisen dokumentin osiin viittamiseen esim. seuraavasti (mainittakoon, että Xlink otettaneen käyttöön tulevaisuudessa myös XHTML-kielen yhteydessä jo nyt käytössä esim. XSLT:ssä) Notaatio child::* valitsee kaikki kontekstisolmun lapsielementit Notaatio child::text() attribute::* valitsee kaikki kontekstisolmun lapsitekstisolmut tai attribuutit Notaatio descendant::para valitsee kaikki kontekstisolmun para-tyyppiset jälkeläiset (elementit) XML-linkkien olemusta ei tässä yhteydessä kannata syvällisemmin murehtia; oleellista on ymmärtää, että säänn. lausekkeilla voidaan rakentaa myös hyperlinkkien osumakohtia (ts. valita rakenteisen dokumentin osia)

13 Tiedostot, dokumentit, tieto (&h-media)

13 Tiedostot, dokumentit, tieto (&h-media) 13 Tiedostot, dokumentit, tieto (&h-media) Esimerkki: HTML-dokumentti Tietokoneet käsittelevät tietoa tiedostojen muodossa Tietokoneiden yhteydessä dokumentilla tarkoitetaan tiedosto(je)n avulla esitettävää

Lisätiedot

10 Tiedostot, dokumentit, tieto (&h-media)

10 Tiedostot, dokumentit, tieto (&h-media) 10 Tiedostot, dokumentit, tieto (&h-media) Tietokoneet käsittelevät tietoa tiedostojen muodossa Tietokoneiden yhteydessä dokumentilla tarkoitetaan tiedosto(je)n avulla esitettävää asiakokonaisuutta, joka

Lisätiedot

13 Tiedostot, dokumentit, tieto (&h-media)

13 Tiedostot, dokumentit, tieto (&h-media) 13 Tiedostot, dokumentit, tieto (&h-media) Tietokoneet käsittelevät tietoa tiedostojen muodossa Tietokoneiden yhteydessä dokumentilla tarkoitetaan tiedosto(je)n avulla esitettävää asiakokonaisuutta, joka

Lisätiedot

5 Hypertekstin rakenne ja navigointi

5 Hypertekstin rakenne ja navigointi 5 Hypertekstin rakenne ja navigointi Laajennetaan näkökulmaa WWW:stä yleisen hypertekstin suuntaan. Hypermediasta ja hypertekstistä puhuttaessa on hyvä huomata, että samoja termejä käytetään eritasoisista

Lisätiedot

6 Hypertekstin rakenne ja navigointi

6 Hypertekstin rakenne ja navigointi 6 Hypertekstin rakenne ja navigointi 6 Hypertekstin rakenne ja navigointi Laajennetaan näkökulmaa WWW:stä yleisen hypertekstin suuntaan. Hypermediasta ja hypertekstistä puhuttaessa on hyvä huomata, että

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

8. Kieliopit ja kielet

8. Kieliopit ja kielet 8. Kieliopit ja kielet Suomen kielen sanoja voidaan yhdistellä monella eri tavalla. Kielioppi määrää sen, milloin sanojen yhdistely antaa oikein muodostetun lauseen. "Mies räpyttää siipiään" on kieliopillisesti

Lisätiedot

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta. 3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Lisätiedot

8 Tiedostot, dokumentit, tieto (&h-media)

8 Tiedostot, dokumentit, tieto (&h-media) 8 Tiedostot, dokumentit, tieto (&h-media) Tietokoneet käsittelevät tietoa tiedostojen muodossa Tietokoneiden yhteydessä dokumentilla tarkoitetaan tiedosto(je)n avulla esitettävää asiakokonaisuutta, joka

Lisätiedot

Luento 12: XML ja metatieto

Luento 12: XML ja metatieto Luento 12: XML ja metatieto AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML ja metatieto Metatieto rakenne sanasto Resource Description Framework graafikuvaus XML Semanttinen Web agentit 2 1 Metatieto

Lisätiedot

3 Verkkosaavutettavuuden tekniset perusteet

3 Verkkosaavutettavuuden tekniset perusteet 3 Verkkosaavutettavuuden tekniset perusteet Saavutettavuuden toteuttaminen edellyttää lähtökohtaisesti tietoa laitteista ja sovelluksista, käyttäjistä ja käyttötavoista, sekä tekniikasta. Tekniikasta on

Lisätiedot

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Semanttinen Web Ossi Nykänen ossi.nykanen@tut.fi Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto Esitelmä "Semanttinen Web" Sisältö Konteksti: W3C, Web-teknologiat

Lisätiedot

Säännöllisten kielten sulkeumaominaisuudet

Säännöllisten kielten sulkeumaominaisuudet Säännöllisten kielten sulkeumaominaisuudet Osoitamme nyt, että säännöllisten kielten joukko on suljettu yhdisteen, konkatenaation ja tähtioperaation suhteen. Toisin sanoen jos A ja B ovat säännöllisiä,

Lisätiedot

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Semanttinen Web Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: Semanttinen Web (SW) on

Lisätiedot

ARVO - verkkomateriaalien arviointiin

ARVO - verkkomateriaalien arviointiin ARVO - verkkomateriaalien arviointiin Arvioitava kohde: Jenni Rikala: Aloittavan yrityksen suunnittelu, Arvioija: Heli Viinikainen, Arviointipäivämäärä: 12.3.2010 Osa-alue 1/8: Informaation esitystapa

Lisätiedot

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Hahmon etsiminen syotteesta (johdatteleva esimerkki) Hahmon etsiminen syotteesta (johdatteleva esimerkki) Unix-komennolla grep hahmo [ tiedosto ] voidaan etsia hahmon esiintymia tiedostosta (tai syotevirrasta): $ grep Kisaveikot SM-tulokset.txt $ ps aux

Lisätiedot

8. Kieliopit ja kielet 1 / 22

8. Kieliopit ja kielet 1 / 22 8. Kieliopit ja kielet 1 / 22 Luonnollinen kieli Suomen kielen sanoja voidaan yhdistellä monella eri tavalla. Kielioppi määrää sen, milloin sanojen yhdistely antaa oikein muodostetun lauseen. "Mies räpyttää

Lisätiedot

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009 Verkkosivut perinteisesti Tanja Välisalo 11.2.2009 WWW-sivujen vieminen omaan kotisivutilaan yliopiston mikroverkossa https://salasana.jyu.fi Klikkaa painiketta Activate WWW Klikkaa painiketta Activate

Lisätiedot

9 Hypermediajärjestelmistä

9 Hypermediajärjestelmistä 9 Hypermediajärjestelmistä Lyhyt vilkaisu järjestelmätason hypermediaan. Hypermediasovellukseen liittyy aina kaksi näkökulmaa: lukijan ja laatijan näkökulma Hypertekstijärjestelmä (hypermediajärjestelmä)

Lisätiedot

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006 H T M L eli kuinka laadin itselleni päheät kotisivut Janne Käki 13.9.2006 Mikä ihmeen HTML? HyperText Markup Language hypertekstiä eli toisiinsa linkitettyjä dokumentteja merkintäkieli, perustuu erilaisiin

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

Lisätiedot

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta.

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. 1. Julkaisutoiminnan peruskysymyksiä a) Mieti kohderyhmät b) Mieti palvelut c) Mieti palvelujen toteutus Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta. PALVELUKOKONAISUUDET:

Lisätiedot

Digitaalisen median tekniikat. JSP ja XML

Digitaalisen median tekniikat. JSP ja XML Digitaalisen median tekniikat JSP ja 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan

Lisätiedot

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1 Digitaalisen median tekniikat JSP ja XML 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne Kotisivuohjeet Tässä ohjeessa käydään läpi kotisivujen tekemisen perusteet keskittyen html-koodiin ja sen ominaisuuksiin. Sivupohjissa ulkoasu ja rakenne on pääasiassa jaettu erilliseen css-tyylitiedostoon,

Lisätiedot

XML johdanto, uusimmat standardit ja kehitys

XML johdanto, uusimmat standardit ja kehitys johdanto, uusimmat standardit ja kehitys Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: on W3C:n suosittama

Lisätiedot

TIEDEJUTTUKURSSI 29.9.2011 FM VILLE SALMINEN

TIEDEJUTTUKURSSI 29.9.2011 FM VILLE SALMINEN TIEDEJUTTUKURSSI 29.9.2011 FM VILLE SALMINEN YLEISTÄ LUENNOT (8 H) & TYÖPAJA (2 H) YHTEYSTIEDOT ville.salminen@oulu.fi VÄLINEET Tekstieditori Mieluummin Windowsin Notepad kuin esimerkiksi Microsoft Word

Lisätiedot

uv n, v 1, ja uv i w A kaikilla

uv n, v 1, ja uv i w A kaikilla 2.8 Säännöllisten kielten rajoituksista Kardinaliteettisyistä on oltava olemassa (paljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituva määrä, säännöllisiä lausekkeita vain numeroituvasti. Voidaanko

Lisätiedot

Luonnolliset vs. muodolliset kielet

Luonnolliset vs. muodolliset kielet Luonnolliset vs. muodolliset kielet Luonnollisia kieliä ovat esim. 1. englanti, 2. suomi, 3. ranska. Muodollisia kieliä ovat esim. 1. lauselogiikan kieli (ilmaisut p, p q jne.), 2. C++, FORTRAN, 3. bittijonokokoelma

Lisätiedot

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke Rakenteisuus kahdella tasolla Oppimisaihiot ( Learning Objects

Lisätiedot

11.4. Context-free kielet 1 / 17

11.4. Context-free kielet 1 / 17 11.4. Context-free kielet 1 / 17 Määritelmä Tyypin 2 kielioppi (lauseyhteysvapaa, context free): jos jokainenp :n sääntö on muotoa A w, missäa V \V T jaw V. Context-free kielet ja kieliopit ovat tärkeitä

Lisätiedot

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen XML kielioppi Elementtien ja attribuuttien määrittely Ctl230: Luentokalvot 11.10.2004 Miro Lehtonen Dokumenttien mallinnus Säännöt dokumenttityypeille 3Mahdollisten dokumenttirakenteiden määrittely Samassa

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. tammikuuta 2012 Sisällys Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4

Lisätiedot

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli. HTML & CSS Antti Koivisto HTML (HyperText Markup Language)! HTML on sivujen kuvauskieli.! Se ei ole ohjelmointikieli.! HTML on merkintäkieli, joka koostuu monista merkintä tägeistä ().! Voidaan

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Automaatit. Muodolliset kielet

Automaatit. Muodolliset kielet Automaatit Automaatit ovat teoreettisia koneita, jotka käsittelevät muodollisia sanoja. Automaatti lukee muodollisen sanan kirjain kerrallaan, vasemmalta oikealle, ja joko hyväksyy tai hylkää sanan. Täten

Lisätiedot

Rekursiiviset palautukset [HMU 9.3.1]

Rekursiiviset palautukset [HMU 9.3.1] Rekursiiviset palautukset [HMU 9.3.1] Yleisesti sanomme, että ongelma P voidaan palauttaa ongelmaan Q, jos mistä tahansa ongelmalle Q annetusta ratkaisualgoritmista voidaan jotenkin muodostaa ongelmalle

Lisätiedot

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet ) T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen

Lisätiedot

9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus

9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus 9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus XSL-muunnos voi tietenkin tuottaa myös tiettyyn nimiavaruuteen liittyviä kohdedokumentteja (tarvitaan aina jo esim. XHTML-sovelluksissa!) Helpoimmillaan

Lisätiedot

Code Camp for Girls. Sanna Nygård. Lokakuussa 2015 www.frantic.com/codecamp/

Code Camp for Girls. Sanna Nygård. Lokakuussa 2015 www.frantic.com/codecamp/ Code Camp for Girls Sanna Nygård Lokakuussa 2015 www.frantic.com/codecamp/ HTML? HTML? HyperText Markup Language Ei ole nettisivua ilman HTML:ää Rakenteinen, hierarkkinen dokumentti Vain rakenne ja sisältö,

Lisätiedot

M. Merikanto 2012 XML. Merkkauskieli, osa 2

M. Merikanto 2012 XML. Merkkauskieli, osa 2 XML Merkkauskieli, osa 2 Esimerkki: XML-dokumentti resepti maitokaakao

Lisätiedot

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen. Lause: Tyhjyysongelma ei ole osittain ratkeava; ts. kieli ei ole rekursiivisesti lueteltava. L e = { w { 0, 1 } L(M w ) = } Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia,

Lisätiedot

Kertausta 1. kurssikokeeseen

Kertausta 1. kurssikokeeseen Kertausta. kurssikokeeseen. kurssikoe on to 22.0. klo 9 2 salissa A (tai CK2). Koealueena johdanto ja säännölliset kielet luentokalvot 3 ja nämä kertauskalvot harjoitukset 6 Sipser, luvut 0 ja Edellisvuosien.

Lisätiedot

The OWL-S are not what they seem

The OWL-S are not what they seem The OWL-S are not what they seem...vai ovatko? Verkkopalveluiden koostamisen ontologia OWL-S Seminaariesitelmä 15.4.2013 Emilia Hjelm Internet on hankala Nykyinternet on dokumenttien verkko Asiat, joita

Lisätiedot

LAUSELOGIIKKA (1) Sanalliset ilmaisut ovat usein epätarkkoja. On ilmaisuja, joista voidaan sanoa, että ne ovat tosia tai epätosia, mutta eivät molempia. Ilmaisuja, joihin voidaan liittää totuusarvoja (tosi,

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 4. Joukot, relaatiot ja funktiot Osa 1: Joukot 4.1 Joukot Matemaattisesti joukko on mikä tahansa hyvin määritelty kokoelma objekteja, joita kutsutaan joukon alkioiksi

Lisätiedot

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15 Ctl160 490160-0 Nicholas Volk Yleisen kielitieteen laitos, Helsingin yliopisto Ctl160 490160-0 p.1/15 Lisää säännöllisistä lausekkeista Aikaisemmin esityt * ja + yrittävät osua mahdollisimman pitkään merkkijonoon

Lisätiedot

Paikkatiedot ja Web-standardit

Paikkatiedot ja Web-standardit Paikkatiedot ja Web-standardit Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: World Wide

Lisätiedot

17/20: Keittokirja IV

17/20: Keittokirja IV Ohjelmointi 1 / syksy 2007 17/20: Keittokirja IV Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/10 Tavoitteita

Lisätiedot

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 24. toukokuuta 2013 Sisällys Formaalit kielet On tapana sanoa, että merkkijonojen joukko on (formaali) kieli. Hieman

Lisätiedot

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002 , XHTML ja CSS T-111.361 Hypermediadokumentin laatiminen 2002 XHTML CSS XSL Sisältö EXtensible Markup Language W3C Recommendation helmikuu 1998 SGML:n osajoukko Standard Generalized Markup Language Kevyempi

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa XML-kielen perusteet Teoria ja ohjelmointitehtävät XML-kielen perusteet 3 Sisältö YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7 YLEISKATSAUS KURSSIN SISÄLTÖIHIN...

Lisätiedot

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,

Lisätiedot

Johdatus matemaattiseen päättelyyn

Johdatus matemaattiseen päättelyyn Johdatus matemaattiseen päättelyyn Maarit Järvenpää Oulun yliopisto Matemaattisten tieteiden laitos Syyslukukausi 2015 1 Merkintöjä 2 Todistamisesta 2 3 Joukko-oppia Tässä luvussa tarkastellaan joukko-opin

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Miika Nurminen (minurmin@jyu.fi) Jyväskylän yliopisto Tietotekniikan laitos Kalvot ja seminaarityö verkossa: http://users.jyu.fi/~minurmin/gradusem/

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Yhteydettömät kieliopit [Sipser luku 2.1]

Yhteydettömät kieliopit [Sipser luku 2.1] Yhteydettömät kieliopit [ipser luku 2.1] Johdantoesimerkkinä tarkastelemme kieltä L = { a n b m a n n > 0, m > 0 }, joka on yhteydetön (mutta ei säännöllinen). Vastaavan kieliopin ytimenä on säännöt eli

Lisätiedot

Oppimistavoitematriisi

Oppimistavoitematriisi Oppimistavoitematriisi Lineaarialgebra ja matriisilaskenta I Arvosanaan 1 2 riittävät Arvosanaan 5 riittävät Yhtälöryhmät (YR) Osaan ratkaista ensimmäisen asteen yhtälöitä ja yhtälöpareja Osaan muokata

Lisätiedot

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

Lisätiedot

Ei-yhteydettömät kielet [Sipser luku 2.3]

Ei-yhteydettömät kielet [Sipser luku 2.3] Ei-yhteydettömät kielet [Sipser luku 2.3] Yhteydettömille kielille pätee samantapainen pumppauslemma kuin säännöllisille kielille. Siinä kuitenkin pumpataan kahta osamerkkijonoa samaan tahtiin. Lause 2.25

Lisätiedot

Oppimistavoitematriisi

Oppimistavoitematriisi Oppimistavoitematriisi Lineaarialgebra ja matriisilaskenta I Esitiedot Arvosanaan 1 2 riittävät Arvosanaan 3 4 riittävät Arvosanaan 5 riittävät Yhtälöryhmät (YR) Osaan ratkaista ensimmäisen asteen yhtälöitä

Lisätiedot

10 Nykyaikainen WWW-arkkitehtuuri

10 Nykyaikainen WWW-arkkitehtuuri 10 Nykyaikainen WWW-arkkitehtuuri è è è 10 Nykyaikainen WWW-arkkitehtuuri WWW on ylivoimaisesti suosituin hypertekstijärjestelmä. Käydään seuraavaksi läpi nykyaikaisen WWW-arkkitehtuurin perusteet. Vuonna

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

3. Laskennan vaativuusteoriaa

3. Laskennan vaativuusteoriaa 3. Laskennan vaativuusteoriaa tähän asti puhuttu siitä, mitä on mahdollista laskea äärellisessä ajassa siirrytään tarkastelemaan laskemista kohtuullisessa ajassa vaihtoehtoisesti voidaan laskenta-ajan

Lisätiedot

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki H T M L eli kuinka laadin itselleni päheät kotisivut Janne Käki 13.9.2006 Mikä ihmeen HTML? HyperText Markup Language hypertekstiä eli toisiinsa linkitettyjä dokumentteja merkintäkieli, perustuu erilaisiin

Lisätiedot

18. Abstraktit tietotyypit 18.1

18. Abstraktit tietotyypit 18.1 18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

HTML ja CSS. Tästä se lähtee: portfolio-sivusto. Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot.

HTML ja CSS. Tästä se lähtee: portfolio-sivusto. Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot. HTML ja CSS Tästä se lähtee: portfolio-sivusto Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot. index.html Sivuston pääsivu, joka avautuu selaimeen ensimmäisenä sivujen

Lisätiedot

Tehtävä 2: Säännölliset lausekkeet

Tehtävä 2: Säännölliset lausekkeet Tehtävä 2: Säännölliset lausekkeet Kun tietokoneohjelmalla luetaan käyttäjän syötettä, olisi syöte aina syytä tarkistaa. Syötteessä voi olla vääriä merkkejä tai merkkejä väärillä paikoilla (syntaktinen

Lisätiedot

FORMAALI SYSTEEMI (in Nutshell): aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus

FORMAALI SYSTEEMI (in Nutshell): aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus FORMAALI SYSTEEMI (in Nutshell): Formaali kieli: aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus esim. SSM:n tai EBNF:n avulla Semantiikka:

Lisätiedot

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla 1 ENTITEETIT Tehtävä 1. Tietokoneet ja käyttöjärjestelmät käyttävät erilaisia merkkijärjestelmiä ja varsinkin Internetin alkutaipaleella aiheutti sen, että jotkut merkit eivät näkyneet kaikilla oikein.

Lisätiedot

Taustaa. CGI-ohjelmointi

Taustaa. CGI-ohjelmointi Taustaa CGI-ohjelmointi CGI = Common Gateway Interface Hyvin yksinkertainen ja helppo tapa toteuttaa dynaamisuutta ja interaktivisuutta htmldokumentteihin Kehitetty tiedon siirtoon palvelimen ja asiakasselaimen

Lisätiedot

W3C-teknologiat ja yhteensopivuus

W3C-teknologiat ja yhteensopivuus W3C-teknologiat ja yhteensopivuus Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: W3C asettaa

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016 TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. syyskuuta 2016 Sisällys Neuvoja opintoihin tee joka päivä ainakin vähän uskalla mennä epämukavuusalueelle en

Lisätiedot

Tietokoneohjelmien käyttö laadullisen aineiston analyysin apuna

Tietokoneohjelmien käyttö laadullisen aineiston analyysin apuna Tietokoneohjelmien käyttö laadullisen aineiston analyysin apuna Laadullinen, verbaalinen, tulkinnallinen aineisto kootaan esimerkiksi haastattelemalla, videoimalla, ääneenpuhumalla nauhalle, yms. keinoin.

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS LUONNOLLISEN KIELEN KÄSITTELY (NATURAL LANGUAGE PROCESSING, NLP) TEKOÄLYSOVELLUKSET, JOTKA LIITTYVÄT IHMISTEN KANSSA (TAI IHMISTEN VÄLISEEN) KOMMUNIKAATIOON, OVAT TEKEMISISSÄ

Lisätiedot

ARVO - verkkomateriaalien arviointiin

ARVO - verkkomateriaalien arviointiin ARVO - verkkomateriaalien arviointiin Arvioitava kohde: Jenni Rikala: Aloittavan yrityksen suunnittelu, Arvioija: Heli Viinikainen, Arviointipäivämäärä: 12.3.2010 Osa-alue 8/8: Esteettömyys Edellinen osa-alue

Lisätiedot

Teemana aikajanat Polku versio 0.2

Teemana aikajanat Polku versio 0.2 Teemana aikajanat Polku versio 0.2 UTA VT Polku-projekti Tekijä: J.M. Jokiniemi Tulostettu: Jakelu: Uteam, Polku Dokumentin tila: lopullinen versio Muokattu: 5.11.09 VERSIOHISTORIA Versio Päiväys Tekijät

Lisätiedot

Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)).

Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)). Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)). Esimerkkejä: Σ koostuu kaikista aakkoston Σ merkkijonoista ja

Lisätiedot

Metatiedot organisaatioiden sisällönhallinnassa

Metatiedot organisaatioiden sisällönhallinnassa Metatiedot organisaatioiden sisällönhallinnassa Airi Salminen Jyväskylän yliopisto http://www.cs.jyu.fi/~airi/ Lainsäädäntöprosessin tiedonhallinnan kehittäminen Metatiedot suomalaisen lainsäädäntöprosessin

Lisätiedot

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3 T-79.48 Tietojenkäsittelyteorian perusteet Tentti 25..23 mallivastaukset. Tehtävä: Kuvaa seuraavat kielet sekä säännölisten lausekkeiden että determinististen äärellisten automaattien avulla: (a) L = {w

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden

Lisätiedot

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt S11-04 Kompaktikamerat stereokamerajärjestelmässä Projektisuunnitelma Ari-Matti Reinsalo Anssi Niemi 28.1.2011 Projektityön tavoite Projektityössä

Lisätiedot

FUNKTIONAALIANALYYSIN PERUSKURSSI 1. 0. Johdanto

FUNKTIONAALIANALYYSIN PERUSKURSSI 1. 0. Johdanto FUNKTIONAALIANALYYSIN PERUSKURSSI 1. Johdanto Funktionaalianalyysissa tutkitaan muun muassa ääretönulotteisten vektoriavaruuksien, ja erityisesti täydellisten normiavaruuksien eli Banach avaruuksien ominaisuuksia.

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015 TIEA24 Automaatit ja kieliopit, syksy 205 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 5. marraskuuta 205 Sisällys Käsiteanalyysiä Tarkastellaan koodilukkoa äärellisenä automaattina. Deterministinen äärellinen

Lisätiedot

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje 04.02.2005 1 (6) SÄHKE-hanke Versio ja pvm Laatinut Tarkpvm Tarkastanut Hyvpvm Hyväksynyt 2.0 / 04.02.2005 Anneli Rantanen 15.02.2005 Markus Merenmies 18.02.2005 Ohjausryhmä 04.02.2005 2 (6) Muutoshistoria

Lisätiedot

Tietojenkäsittelyteorian alkeet, osa 2

Tietojenkäsittelyteorian alkeet, osa 2 TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. syyskuuta 2016 Sisällys vs Ovat eri asioita! Älä sekoita niitä. Funktiot Funktio f luokasta A luokkaan B, merkitään

Lisätiedot

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU ,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU Tässä pääsette tutustumaan Internet Explorerin (IE) käyttöön. Muitakin selainversioita löytyy, kuten esimerkiksi Netscape, Opera ja Mozilla. Näiden muiden selainten

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012 TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. tammikuuta 2012 Sisällys Sisällys Äärellisiä automaatteja PUSH ON PUSH OFF Q T Q J C C H S C,Q C,Q 0 50s 1e

Lisätiedot

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: S A S B Samaan jäsennyspuuhun päästään myös johdolla S AB Ab ab: S A S B Yhteen jäsennyspuuhun liittyy aina tasan yksi vasen

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015 TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 30. marraskuuta 2015 Sisällys t Väitöstilaisuus 4.12.2015 kello 12 vanhassa juhlasalissa S212 saa tulla 2 demoruksia

Lisätiedot

12 Dokumenttiluokan toteuttamisesta

12 Dokumenttiluokan toteuttamisesta 12 Dokumenttiluokan toteuttamisesta Tyypillisiä XML-sovellutuksia ovat esimerkiksi: - annettuun käyttötarkoitukseen räätälöity dokumenttityyppi (esim. painotalon ABC malli käsikirjoituksen rakenteelle)

Lisätiedot

UML-kielen formalisointi Object-Z:lla

UML-kielen formalisointi Object-Z:lla UML-kielen formalisointi Object-Z:lla Kalvot ja seminaarityö WWW:ssä: http://users.jyu.fi/~minurmin/opiskelu/form/ UML UML == Unified Modelling Language. OMG:n standardoima kieli ohjelmistojärjestelmien,

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

Lisätiedot

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot