Teollisuuden älykkäiden ja virtuaalisten konelaboratorioiden tuotantomenetelmien kehitys semanttisen kuvauksen avulla Semogen-hanke Loppuraportti Tampereen teknillinen yliopisto Smart Simulators –tutkimusryhmä 21.11.2011 1 Esipuhe ................................................................................................................................................. 4 Tiivistelmä ........................................................................................................................................... 6 Lyhenteet .............................................................................................................................................. 7 OSIO I .................................................................................................................................................. 8 Loppuraportti ....................................................................................................................................... 8 1. Johdanto ........................................................................................................................................... 9 2. Semanttinen suunnitteluprosessi .................................................................................................... 12 3. Konejärjestelmän suunnitteluaineiston semanttinen mallinnus ..................................................... 17 3.1. Yleiskatsaus aineistoon ja tutkimustapauksen rajaus.............................................................. 17 3.2. Hydrauliikkasuunnittelu .......................................................................................................... 20 3.2.1. Hydrauliikkasuunnitteluaineisto ...................................................................................... 20 3.2.2. Aineiston rikastaminen .................................................................................................... 20 3.2.3. Aineiston siirto ................................................................................................................. 21 3.2.4. Hydrauliikkasuunnitteluaineiston semanttinen mallinnus ............................................... 22 3.3 CAN-suunnittelu ...................................................................................................................... 24 3.3.1. CAN-aineisto ................................................................................................................... 24 3.3.2. CAN-aineiston semanttinen mallinnus ............................................................................ 24 3.4 3D-suunnittelu ......................................................................................................................... 26 3.4.2. 3D-aineiston rikastaminen ............................................................................................... 26 3.4.3. Automaattisen generoinnin haasteet 3D:ssä .................................................................... 27 3.4.4. Semogen 3D CAD-ohjelmistolaajennus .......................................................................... 29 3.4.5. Semanttinen malli ............................................................................................................ 30 3.5 Suunnittelutietojen integrointi.................................................................................................. 32 3.6 Simulointimalliaihiot ............................................................................................................... 34 3.6.1. Simulink-aihioista ja niiden generoinnista ....................................................................... 34 3.6.2. Simulointiohjelmistoista .................................................................................................. 35 3.6.3. Komponenttipohjaisen simulointimallin matematiikkaa ................................................. 36 4. Pilot-ympäristö ja sovellustapaus................................................................................................... 38 4.1. Pilot-ympäristö ........................................................................................................................ 38 4.1.1. Eclipse-kehitysympäristö (Semogen Manager) ............................................................... 39 4.1.2. Tiedonkäsittelyn putkilinja (Semogen Processor) ........................................................... 41 4.1.3. Semoplayer (Semogen Player) ......................................................................................... 42 4.2. Sovellustapaus ......................................................................................................................... 44 4.2.1. Käyttöliittymä .................................................................................................................. 44 2 5. Tiedotus ja liiketoimintahyödyt ..................................................................................................... 49 5.1. Tiedotus ................................................................................................................................... 49 5.2. Liiketoimintahyödyt ................................................................................................................ 50 5.3. Kaupallistamismalli ................................................................................................................ 52 6. Johtopäätökset ................................................................................................................................ 53 6.1.Viitekehys ................................................................................................................................ 53 6.2.Suunnittelumalleista ................................................................................................................. 54 6.3. Semanttinen mallinnuksen teknologiat ................................................................................... 55 6.4. Tuotetiedon hallinta ................................................................................................................ 56 6.5. Simulointipohjainen suunnittelu ............................................................................................. 57 6.6. Virtuaalisen konelaboratorion teknologiat .............................................................................. 57 6.7. Hyödyt, vaikuttavuus ja tulevaisuuden näkymät .................................................................... 58 6.8. Yhteenveto .............................................................................................................................. 59 Lähteet ................................................................................................................................................ 60 Julkaisut: ............................................................................................................................................ 62 3 Esipuhe Tämä on Teollisuuden älykkäiden ja virtuaalisten konelaboratorioiden tuotantomenetelmien kehitys semanttisen kuvauksen avulla - Semogen-hankkeen loppuraportti. Semogen-hankkeessa tutkittiin konejärjestelmän semanttisia kuvausmenetelmiä, mallien automaattista generointia ja älykkäitä piirteitä sekä niiden soveltamista virtuaalilaboratorioprototyypin kehitykseen. Hankkeen punaisena lankana on virtuaalisten konelaboratorioiden tuotantomenetelmien tutkimus. Tämä raportti jäsentää ja kuvaa Semogen-hankkeen tutkimustyön, tulokset sekä tulosaineistot. Se perustuu kesäkuussa 2010 kootun selvitysraportin (Ranta et al., 2010), joulukuussa 2010 tuotetun väliraportin (Nykänen et. al 2010) sekä vuoden 2011 tutkimustyöhön. Raportin tavoitteena on kuvata hankkeen teoreettiset näkökulmat, tapaustutkimuksen toteutus, alueittaiset tulokset sekä kiteyttää johtopäätökset. Raportti jakautuu kolmeen osioon seuraavasti: Osio I Loppuraportti, Osio II väliraportti 12/2010 6/2010 ja Osio III selvitysraportti. Loppuraportissa pelkistetään, käsitellään kohdattuja ongelmia ja niiden ratkaisuja sekä viitataan tarvittaessa muihin osioihin. Hankekonsortion muodostivat AEL, Etteplan Design Center Oy, Sandvik Mining and Construction Oy, Tampereen teknillinen yliopisto, Tuotekehitys Tamlink Oy sekä Vertex Systems Oy. Hanke haluaa kiittää yrityskonsortion rahoitus- ja asiantuntijapanoksesta sekä Teknologiateollisuuden 100vuotissäätiötä hankkeen päärahoituksesta. Hankkeen yrityskumppanien asiantuntijoiden panos on tukenut merkittävällä tavalla hanketta. Lämmin kiitos hankkeen ohjausryhmälle: puheenjohtaja, Veijo Niemelä Vertex Systems Oy, Pauli Lappalainen AEL, Pekka Anttonen Sandvik Mining and Construction Oy, Raimo Kivioja Etteplan Design Center Oy, Juha Leppänen Tuotekehitys Tamlink Oy, Seppo Pohjolainen TTY/Matematiikan laitos/Hypermedialaboratorio ja Kari T. Koskinen TTY/Hydrauliikan ja automatiikan laitos. Hankkeen työpajoihin ovat osallistuneet: AEL: Pasi Kaskinen, Harry Nordman ja Eeva Varhomaa, Sandvik Mining and Construction Oy: Pekka Anttonen, Heikki Saha, Tero Alatala, Jussi Puura ja Mikko Valtee, Vertex Systems Oy: Manu Lammela, Jorma Salli ja Erkki Laitinen, Etteplan Design Center Oy: Mikko Gratschew, Jari Tiittanen, Tomi Martikainen, Antti Peltola sekä TKE Oy: Timo Kesti ja Patrik Nylund. Hankkeen tutkimusosapuolten edustajat: TTY/Matematiikan laitos/Hypermedialaboratorio professori, hankkeen johtaja Seppo Pohjolainen, dosentti Ossi Nykänen, projektipäällikkö Pekka Ranta, tutkija Janne Punki, tutkija Jaakko Salonen, tutkimusapulainen Juha T. Nurmi ja tutkimusapulainen Jukka-Pekka Humaloja. TTY/Hydrauliikan ja automatiikan laitos professori Kari T. Koskinen, tutkija Timo Leino, tutkija Markus Rokala, tutkija Mikko Markkula, tutkija Tuija Palonen, tutkija Vänni Alarotu ja tutkimusapulainen Matti Helminen. Loppuraportin ovat toimittaneet: Pekka Ranta, Ossi Nykänen, Jaakko Salonen, Seppo Pohjolainen ja Kari T.Koskinen. Hankkeen wiki-sivu löytyy osoitteesta: https://wiki.tut.fi/SmartSimulators/Semogen 4 Tämän teoksen käyttöoikeutta koskee Creative Commons Nimeä 3.0 Muokkaamaton –lisenssi <http://creativecommons.org/licenses/by/3.0/>. 5 Tiivistelmä Teollisuuden älykkäiden ja virtuaalisten konelaboratorioiden tuotantomenetelmien kehitys semanttisen kuvauksen avulla (Semogen)-hankkeessa tutkittiin menetelmiä, malleja ja teknologioita, joiden avulla voidaan tuotantoprosessia kehittää semiautomaattiseksi. Tampereen teknillisen yliopiston Smart Simulators -tutkimusryhmä on rakentanut virtuaalisia konelaboratorioita työkoneasentajan osaamisen kehittämisen tueksi. Virtuaalinen konelaboratorio luo mahdollisuuden "nähdä toimivan koneen sisälle", jotta konejärjestelmiä voidaan ymmärtää, tarkastella, opiskella, diagnosoida, testata ja prototypoida. Se sisältää dynaamisia reaaliaikasimuloituja mittaus- ja testaustyövälineitä ja rikkaita konejärjestelmänäkymiä. Tuotantomenetelmien kehityksessä semanttinen mallinnus eli linkitetyn, koneluettavan ja rikastetun tiedon formaali hyödyntäminen loi mielekkään viitekehyksen. Konejärjestelmien osalta tämä tarkoittaa aitojen suunnitteludokumenttien informaation käsittelyä, yhdistämistä, rikastamista sekä mallinnusta, jotta saadaan rakennetua konejärjestelmän yhtenäinen, linkittynyt ja koneluettava kokonaismalli, jonka avulla voidaan virtuaalisia konelaboratorioita rakentaa. Teknologioiden ja menetelmien lisäksi suunnitteluaineiston laatu ja tuotantoprosessi nousevat keskiöön. Hankkeen tutkimusmenetelmänä käytettiin tapaustutkimusta, jossa hyödynnetiin aitoja kallioporauslaitteen suunnitteluaineistoja ja suunnitteluohjelmistoja (mekaniikka, CANväylä, hydrauliikka, viitetunnuslista, tuotetieto). Erityisen edustavaksi aineistoksi soveltui CANopenjärjestelmäkuvausaineisto, jossa koneluettavuus on sisäänrakennettuna. Tapaus rajautui puomin nosto-teknologioihin. Näiden ympärille rakennettiin putkilinjasto, jossa sovittimien ja rikastusvaiheiden avulla saatiin suunnittelutieto virtaamaan kokonaismalliksi. Lisäksi hankkeessa mallinnettiin luonnollista suunnitteluprosessia asiantuntijayhteistyönä, jotta suunnitteluprosessiin voidaan implementoida semanttisen mallinnuksen vaiheita (semanttinen prosessi). Hankkeessa rakennettiin semanttisen mallinnuksen ja suunnitteluaineistoa käsittelevien teknologioiden avulla selainpohjainen virtuaalisen konelaboratorion prototyyppi, jonka avulla voidaan demonstroida reaaliaikasimuloituja tapahtumia, semanttista hakua, konejärjestelmän linkityksiä sekä toimintaketjuja. Teknologiat vaikuttavat lupaavilta ajatellen tuotantomenetelmien automatisointia. Luonnollisesti menetelmä-, malli- ja prototyyppikehityksen lisäksi tarvitaan varsinaisen tuotantoprosessin määritys- ja teknologiavalintatoimenpiteet. Hankkeen tulokset osoittavat, että malleja, menetelmiä ja teknologioita voidaan hyödyntää konejärjestelmän suunnittelun tukena. Myös hankkeen teollisuuskumppanit tunnistivat uuden avauksen merkityksen. Tämä mahdollistaa virtuaalisen tarkentuvan prototyypin kehittämisen sekä luo uuden ulottuvuuden tuotteen elinkaaritiedon hyödyntämiseen ja hallintaan. Tulosaineistojen implementoinnissa tulee huomioda teknisen tiedon hallinnan suunnittelijan (knowledge engineer) tarve. Hanke toteutettiin yhteistyönä yritysten kanssa ja rahoituksesta vastasivat sekä Teknologiateollisuuden 100-vuotissäätiö sekä yritykset AEL, Etteplan Design Center Oy, Sandvik Mining and Construction Oy sekä Vertex Systems Oy. 6 Lyhenteet API Application Programming Interface CAD Computer-Aided Design CAN Controller Area Network DBC CAN Database File DCF Device Configuration File EDS Electronic Data Sheet HTML Hypertext Markup Language IDE Integrated Development Environment JavaScript Selainten yleisesti tukema ohjelmointikieli MDL Simulink Simulation Model OWL Web Ontology Language PDM Product Data Management PLC Programmable Logic Controller PLM Product Lifecycle Management RDF Resource Description Framework RDF/XML RDF/XML Syntax Specification RDFS Resource Description Framework (RDF) Schema Specification SemoPlayer Hankkeessa toteutettu näytinsovellusprototyyppi SKOS Simple Knowledge Organization System SPARQL SPARQL Query Language for RDF STEP Standard for the Exchange of Product Model Data SVG Scalable Vector Graphics URI Uniform Resource Identifier WebGL Web-based Graphics Language X3D Extensible 3D, XML-pohjainen kuvauskieli 3D-grafiikalle X3DOM JavaScript-kirjasto X3D-mallien katseluun selaimessa XML Extensible Markup Language XSLT Extensible Stylesheet Language (XSL) Transformation 7 OSIO I Loppuraportti 8 1. Johdanto Kone- ja automaatiojärjestelmien osaamisen kehittäminen, suunnittelu, kunnossapito sekä T&Kprosessi vaativat fyysisten laitteiden ja prototyyppien rinnalle virtuaalisia näkymiä. Järjestelmän toimintaa tulisi voida tarkastella järjestelmä-, alijärjestelmä-, komponentti- ja jopa osatasoilla sekä näiden toiminnallisina ja rakenteellisina teknologiayhdistelminä. Tampereen teknillisen yliopiston Smart Simulators -tutkimusryhmä on rakentanut teollisuuden, oppilaitosten sekä kunnossapitoasiantuntijoiden yhteistyönä virtuaalisia konelaboratorioita liikkuvan työkoneasentajan osaamisen kehittämisen tueksi. Virtuaalinen konelaboratorio luo mahdollisuuden "nähdä toimivan koneen sisälle", jotta konejärjestelmiä voidaan ymmärtää, tarkastella, opiskella, diagnosoida, testata ja prototypoida. Se sisältää dynaamisia reaaliaikasimuloituja työvälineitä ja näkymiä, kuten visualisoidut kaaviot, 3D-näkymät, mittaus- ja testausvälineet sekä konejärjestelmän muokkauseditorin toimintojen ja vikojen hallintaan. Lisäksi simuloitua aikaa voidaan hidastaa, tapahtumia nauhoitta, tarkistella osaluettelon, kaavion ja 3D-näkymän yhteyksiä, tarkistella moniteknisiä toimintoketjuja sekä hallita tehtäväkuvauksia. Viimeisimmissä konelaboratorioversioissa on hyödynnetty selainpohjaisia teknologioita, jolloin tulevaisuudessa web-teknologiat tarjoavat mahdollisuuksia konejärjestelmien opiskeluun, tarkasteluun ja analysointiin verkon välityksellä. Luonnollisesti simulointi- ja 3D-mallien jakelu verkon kautta on haasteellista. Virtuaalisten konelaboratorioiden kehitys on vaatinut runsaasti eri alojen ammattilaisia sekä erittäin paljon käsityötä. Tämän vuoksi tuotantomenetelmien automatisoinnille, informaation uudelleen käytölle, tuotantoprosessien tehokkuudelle sekä moniteknisen tiedon integroinnille ilmeni suuri tarve. Tämä tarve toimi Semogen-hankkeen eli "Teollisuuden älykkäiden ja virtuaalisten konelaboratorioiden tuotantomenetelmien kehitys semanttisen kuvauksen avulla" perustana. Tuotantomenetelmien kehityksessä semanttinen mallinnus eli linkitetyn, koneluettavan ja rikastetun tiedon formaali hyödyntäminen loi mielekkään viitekehyksen. Konejärjestelmien osalta tämä tarkoittaa aitojen suunnitteludokumenttien informaation käsittelyä, yhdistämistä, rikastamista sekä mallinnusta, jotta saadaan rakennettua konejärjestelmän yhtenäinen, linkittynyt ja koneluettava kokonaismalli, jonka avulla voidaan virtuaalisia konelaboratorioita rakentaa. Semanttinen mallinnus ei ole uusi ajatus, vaan semanttista mallinnusta ja laskentaa on tutkittu mm. ohjelmistotekniikassa, lääketieteessä sekä webin standardeissa (W3C, 2006; W3C, 2009a; W3C, W3C, 2009b; W3C, 2011). Näissä useiden tiedon kuvailukielten ja formaalien käsitemallien eli ontologioiden, joka tarkoittaa valitun sovellusalueen kuvaavia käsitteitä ja käsitteiden välisiä suhteita, hyötyjä on merkittävästi tunnistettu. Julkishallinnon puolella on tänä vuonna (6/2011) astunut voimaan tietohallintolaki tietohallinnon yhteentoimivuudesta, jolla tarkoitetaan lakiluonnoksen mukaan sitä, että tietojärjestelmät ovat teknisesti ja semanttisesti yhteentoimivia muiden julkisen hallinnon viranomaisten tietojärjestelmien kanssa, silloin kuin ne käyttävät samoja tietoja. Konejärjestelmän semanttinen mallinnus toimii analogiana julkishallinnon kanssa, koska yhteensopivuus ja digitaalisesti saumaton tuoteprosessi ovat tavoitteena. Mikäli tietojärjestelmät eivät ole yhteensopivia ja informaatiota tuotetaan moneen kertaan tuotteen elinkaaren aikana, tuotantoprosessi ei ole tehokas. Tämä on todettu myös TEKES:n digitaalinen koneenrakennus – ohjelmassa (DTP). 9 Kokonaisuudessaan semanttinen mallinnus ei riipu vain teknologioista, vaan myös tuotantoprosessin laadusta. Koneensuunnittelussa suunnittelijat keskustelevat suunnittelupiirrosten ja dokumenttien avulla, mutta koneluettavan ja semanttisesti eheän lähdeaineiston valossa, ihmisten kommunikaatio ei riitä etenkään, kun osa tiedoista välittyy puheena, hiljaisina sopimuksina, erillisissä ohjeissa sekä toimintakulttuurina. Suunnitteluprosessin järjestelmällisyys ja laatu luovat perustan saumattomalle ja tuotteen elinkaaren aikaiselle tiedon hallinnalle. Semogen-hanke edustaa uutta avausta lähestymistavoiltaan sekä teknologiavalinnoiltaan.Tätä hanketta lähimpinä on Simantics-projekti, jossa luotiin moderni simuloinnin integrointiympäristö ja välineitä semanttiseen mallikonfiguraatioiden määrittelyyn (Simantics, 2010). Lisäksi TiKoSu Tietokantakeskeinen koneenohjausjärjestelmän suunnittelu -hankkeessa on tarttumapintoja (VTT, 2011). Kansainvälisesti tarkastellen esimerkiksi konejärjestelmien yhteensopivuus ovat laajalti kiinnostusta herättävä alue (AutomationML, PLC Open, CAN in Automation). Vaikuttaa siltä, että alueen tutkimus ja kehitys on voimakkaasti kasvussa, koska hyödyntämispotentiaali alueella on merkittävä. Semogen-hanke lähestyi moniteknisen suunnitteluaineiston yhdistämisen aihepiiriä ruohonjuuritasolta käsin eli miten aitojen suunnitteluaineiston yhteensopivuus olisi mahdollista rakentaa. Tämä konkretisointi luo vahvan maadoituksen todellisiin haasteisiin, jolloin myös haasteet ja pullonkaulat voidaan tunnistaa. Ylätason vaihtoehtoisen mallin luominen vaatisi laajaa neuvottelua ja erilaisia kompromissejä. Tähän hankkeen resurssit eivät riitä, joten edustavan tapauksen avulla lähestyminen voidaan pohtia tulosten laajempaa siirrettävyyttä. Olennaista on, että miten työvälineet, ohjelmistot ja toimintamallit saadaan keskustelemaan yhteisten rajapintojen kautta. Suomalaisen koneenrakennuksen kannalta virtuaalinen prototypointi, suunnitteluaineistojen semanttinen mallinnus sekä suunnitteluprosessien laadun kehittäminen luo mahdollisuuksia keskittyä erilaisten asiakassegmenttien huomiointiin sekä suunnittelun tehokkuuden kehittämiseen. Laajemmin tarkasteltuna Semogen-hankkeella on yhteyksiä virtuaaliprototypointiin, mekatronisiin koneensuunnittelumalleihin, suunnittelutiimin moniteknisen osaamisen hallintaan ja tuotetiedon elinkaaren hallintaan. Näitä ovat älykkäät varaosakirjat, mukautuvat huoltotoimenpideohjeet, konfiguraation muutosten arviointi ja konejärjestelmän tuotetiedon hallinta. Suunnitteluinformaation uudelleen käyttö, koneluettavuus, teknologiaintegrointi sekä validius ovat vaikuttamassa sekä liiketoimintamallehin sekä vaadittavaan osaamiseen. Tämä Semogen-hankkeen loppuraportti luo katsauksen todellisiin suunnitteluaineistoihin perustuvan semanttisen mallinnusprosessin, työvälineiden, teknologioiden sekä menetelmien mahdollisuuksista virtuaalisten konelaboratorioiden tuotantomenetelmistä mutta myös laajemmin koneensuunnittelun tulevaisuuden mahdollisuuksista. Hankeyhteistyö teollisuuskumppanien kanssa on mahdollistanut tutkimustulosten maadoittamisen käytäntöön. Loppuraportti jakautuu kolmeen osioon. Osio 1 koostaa hankkeen tulokset yleisemmällä tarkastelutasolla sekä ohjaa lukijaa tarkemman tiedon luo. Osio II kuvaa hankkeen väliraportin, jossa käsitellään yksityiskohtaisesti semanttista mallinnusta ja prosessia, työvälineitä, mallinnusmenetelmiä, teknologioita sekä aineistojen yhteensopivuutta. Tämä on kirjoitettu 12/2010. Osio III kertoo hankkeen selvitysvaiheesta, jossa orientoiduttiin monitieteiseen alueeseen sekä tunnistettiin sovellustapauksia. Liitteissä on kuvattu hankkeen tieteelliset julkaisut sekä viittauksen aineistoihin. 10 Hankekonsortio toivottaa lukijoille antoisia hetkiä. Loppuraportin lisäksi hankkeen tulosaineisto on saatavilla avoimesti hankkeen web-sivuilta. 11 2. Semanttinen suunnitteluprosessi Kirjoittaja: Ossi Nykänen Suunnitteluprosessi tähtää annetun suunnittelutehtävän täyttämiseen sille osoitetut reunaehdot ja resurssit huomioiden. Koneensuunnittelussa voidaan tyypillisesti tunnistaa seuraavat vaiheet (Norton, 2006): Identification of need Background research Goal statement Task specifications Synthesis Analysis Selection Detailed design Prototyping and testing Production Yksityiskohtaiset suunnittelukäytänteet ja ohjeet kuitenkin vaihtelevat eri toimialoilla. Vaiheiden taustalla vaikuttavat vahvasti tehtävänanto, työkulttuuri sekä mm. suunnitteluinformaatiolle asetettavat tieto- ja jatkokäyttötarpeet. Perinteisen suunnittelun hiljaisina olettamuksina --- ja siten suunnittelijoille annettavien työtehtävien rajauksina --- näyttävät usein olevan valmistusvaiheen tietotarpeiden korostaminen sekä lähtökohtainen olettamus (ihmis)suunnittelijoiden roolista kaikenlaisessa tiedon tulkinnassa. Tällöin haasteiksi voivat muodostua muiden tehtävien tietotarpeiden tyydyttäminen (esim. simulointi, dokumentointi, koulutus, huolto, yms.) sekä tiedon koneellisen käsittelyn ongelmat (suunnitteluaineisto koostuu tyypillisesti ihmisen tulkintaa vaativista piirroksista ja narratiivisista dokumenteista). Semogen-hankkeen punaisena lankana on virtuaalisten konelaboratorioiden tuotantomenetelmien tutkimus. Kun suunnittelutehtävään siten sisällytetään vaatimus linkitetyn ja uudelleenkäytettävän tiedon tuottamisesta, nousee näkökulma yksittäistä suunnitteluprojektia yleisemmälle ja toistettavalle tasolle. Kun tavoitteena on lisäksi suunnitteluinformaation koneluettavuus ja automaattinen tietojen käsittely myös tiedon merkityksen tasolla, voidaan suunnitteluorganisaation liiketoimintaprosessin, projektikäytänteitä ohjaavan metasuunnitteluprosessin ja yksittäisten suunnitteluprosessien rinnalle nostaa semanttinen prosessi (Nykänen et al., to appear, ks.myös osio II, Semogen-väliraportti). Kuva 2.1. Intuitiivinen ja yksinkertaistettu esimerkki semanttisesta prosessista Semanttisen prosessiajattelun perusidea on tunnistaa eri suunnittelutehtävien välisiä informaatiorajapintoja (ks. kuva 2.1) siten, että tuotantomenetelmän edellyttämä tiedon 12 koneluettavuus ja jatkokäsiteltävyys toteutuvat paitsi tietorakenteiden, myös niiden sovelluskohtaisen tulkinnan näkökulmasta. Kuva 2.2 esittää semanttisen prosessin käsitteelliset rakenneosat. Tässä suunnitteluinformaatio virtaa prosessin eri aktiviteettien (A) välillä käsittelyaskelien tehtävien (T) sovittamana. Eri suunnitteluaktiviteettien rajapintojen formaali määritys perustuu sopimuksiin informaatiorajapinnat (C) ja informaatiotarpeet (R) mallintavista skeemoista. Näin kunkin suunnitteluaktiviteetin edellyttämän informaatioon saatavuus on mahdollista tarkistaa ja tietorakenteilla on yhteinen, koko suunnitteluprosessin läpäisevä tulkinta. Tiedot eivät siten linkity toisiinsa vain tietorakenteiden tasolla, vaan myös linkityksen merkitys konelaboratoriosovelluksen kannalta on tunnettu ja sama tieto voi esiintyä käsittelyn eri vaiheissa eri rooleissa. (Semanttisen prosessin määrittelyä ja toteutusta on tarkasteltu lähemmin väliraportissa.) Kuva 2.2. Koneluettavaan tiedon hyödyntämiseen tähtäävän semanttisen prosessin stereotyyppinen rakenne Semanttinen prosessiajattelu auttaa ymmärtämään, ohjeistamaan ja johtamaan mitä (suunnittelu)tietoja projekteissa ylipäänsä tulisi kerätä ja hallinnoida. Se osaltaan osoittaa myös välineitä ja konkreettisia vaatimuksia yksittäisen suunnitteluprojektin aktiviteettien informaatiorajapinnoille. Tällöin esimerkiksi konelaboratorion generointitehtävän näkökulmasta hydrauliikka-, 3D- ja simulointisuunnittelutehtävien tietojen tulisi linkittyä toisiinsa, ja sisältää tarpeelliset tiedot simulointimallin generointia silmälläpitäen. Käytännöllisinä haasteina ovat kuitenkin koneluettavan mallinnuksen sopivan tarkkuustason löytäminen sekä kompleksisuuden hallinta.Tämä edellyttää tietämyksen ja informaation hallintaan keskittyvän informaatioarkkitehdin tai -insinöörin (knowledge engineer) työroolin tunnistamista. Hyvin konkreettisena havaintona voidaan todeta, että Semogen-hankkeessa informaation "master"järjestelmäksi muodostui semanttisen prosessin tarvitsevat tiedot kokoava version- ja projektinhallintajärjestelmä (SVN ja Eclipse IDE), johon rakennettiin tapaustutkimusten edellyttämät skeemat ja käsitemallit, ja jonne tietoa kuvatiin ja linkitettiin erinäisistä suunnittelun perusjärjestelmistä (esim. CAD). Näin semanttinen prosessi näyttäytyi käytännössä putkilinjaston määrittelynä, jota suoritettiin Apache Ant -prosessorilla. Tällä tavoin määriteltynä semanttisen prosessin implementoiva putkilinjasto hoiti siten sekä informaatiorajapintojen tarkistuksen että virtuaalisen konelaboratorion komponenttien (esim. simulointi- ja visualisointimallit) generoinnin tehtävät. Generoidun konelaboratorion komponentteja suoritettiin erillisessä selainpohjaisessa Semogen Player -sovelluksessa, mikä mahdollisti esim. koulutuksen ja virtuaaliprototypoinnin tehtävien testauksen. Semogen-projektissa selvitettiin myös nykyisten luonnollisten suunnitteluprosessien osa-alueita (ks. osio II, Semogen-väliraportti). Tulosten analysoinnissa nousi esille kontekstisidonnaisuus. Eri yritykset työskentelevät eri tavoin, eikä esim. jo kertaalleen tuotetun informaation jatkojalostamista koneellisen käsittelyn edellyttämään muotoon ollut tyypillisesti otettu huomioon. Osasyynä tähän 13 oli mm. edellä mainitun "master"-suunnittelujärjestelmän puuttuminen, minkä seurauksena tietoja tyypillisesti kertyi eri järjestelmiin eri muodoissa. Semogen-projektiin valitun tapaustutkimuksen (ns. puomin nosto -tapaus) kautta tätä ongelmakenttää oli kuitenkin mahdollista tarkemmin avata ja analysoida. Kun aihepiirin suunnitteluprosesseja eri menetelmin (mm. class-responsibility-collaboration -tyyppisellä analyysillä) iteroitiin sekä pienryhmä- että työpajatasolla, päädyttiin seuraavankaltaiseen jäsennykseen. Hyvänä pidettävän "Semogen"-suunnitteluprosessin osaprosesseja ovat tällöin mm. • Konseptisuunnittelu • Suunn.ratkaisun tavoitteiden ja reunaehtojen määritys • Teknologioiden ja peruskomponenttiratkaisujen valinta • Virtuaaliprototypointi • Järjestelmäsuunnittelu • "Järjestelmäarkkitehtuurin" valinta • Konfiguraatioiden ja laiterajapintojen määrittely • Laitteen toiminnallinen kuvaus, vikaantumismallinnus, turvallisuusanalyysi • Nimikkeiden hallinta (nimet, standarditermit, eheys, luominen ja ylläpito) • Semanttinen yhtenäisarkkitehtuuri • Ylätason käsitemallin ja viittausrakenteen (terminologia) suunnittelu esiintymätiedolle • Ensisijaisesti sovellettavien sanastojen valinta ja esiintymätiedon nimeämiskäytännön määrittely • Semanttisen putkilinjaston ja loppusovellusten validointi/generointi/prosessointi/yms. määrittely • 3D • Mekaanisten osien 3D-visualisointi • Mekaniikan simulointimallin alustus • CAN / Sähkö- ja automaatiosuunnittelu • Suunnittelukaavioden visualisointi • Simulointimallin (ohjausjärjestelmä) generointi • Osa kokonaisvaltaista ohjaussignaalin kulkua (toimintojen mallinnus) • Hydrauliikka • Kaavion visualisointi • Hydr.komponenttien valinta ja toiminnallinen kuvaus • (Yms. suunnittelun osa-alue) • Koneluettava dokumentaatio • Suunnittelutiedon rakenteiden iteratiivinen semanttinen rikastaminen • Laitteen suunnittelutehtävien informaatiorajapintojen määrittely ja informaation laaduntarkkailu • Adapterien valinta ja tarvittaessa uusien kehitystyö • Virtuaaliprototypointi • Simulointi; menetelmän, parametrien ja komp.simulointimallien valinta • Virtuaalilaboratorion komponenttien generointi ja integrointi • Suunnitteluratkaisujen arviointi ja toimijoidenvälinen kommunikaatio ja koulutuskäyttö 14 • Testien määrittely ja toteutus, laadunvalvonta • Kehitys- ja tutkimuskäyttö, ml. hypoteesien testaus, analytiikka, näkymät ja tunnusluvut (Suunnittelun osaprosesseja, joita ei tarkasteltu lähemmin, olivat ohjelmistosuunnittelu, tuotanto, huolto- ja kunnossapito, jälkimarkkinointi, myynti, osto/hankinta, tekijänoikeudet, dokumentaatio, HR, yms.) On merkillepantavaa, että suunnitteluprosessin uudenlainen jäsennys auttaa havaitsemaan "perinteisen" suunnitteluprosessin haasteita ja raja-aitoja. Lyhyesti sanottuna informaatiolähtöisessä suunitteluprosessin tulkinnassa pääsuunnittelijan ja informaatioarkkitehdin rooli korostuvat ja tuotantomenetelmien eri suunnittelutehtäville asettamat tietotarpeet tulevat osaksi arkista suunnittelutyötä. Onnistumisen edellytyksenä näyttäisi kuitenkin olevan suunnitteluprosessin tarkoituksenmukainen jäsentäminen organisaation prosessikartalla. Kuva 2.3. Integroitu semanttinen tuotantoprosessi Kuva 2.3 havainnollistaa tilannetta yksinkertaisen prosessikaavion avulla. Ideana on tulkita yksittäinen suunnitteluprosessi (kuvassa prosessi S3) kiinteästi osaksi laajempaa tuotannollista näkökulmaa. Tällöin mittareiden ja informaatioarkkitehtuurin valinta palvelevat useita suunnitteluprojekteja ja projektien tuloksia voidaan hyödyntää ja ottaa opiksi tulevissa hankkeissa myös formaalin tiedon tasolla. Suunnitteluprosessien tuottaman informaation varassa voidaan paitsi valmistaa tuotteita, myös esim. generoida konelaboratoriokomponentteja. Suunnittelutietoa voidaan siten hyödyntää tuotannon jatkovaiheissa (esim. tekninen dokumentointi, koulutus ja markkinointi) sekä suunnittelussa (esim. prototypointi ja testaus). Näin muodostuu positiivinen kierre, jossa suunnittelutiedon rikastamisesta saadaan välitöntä hyötyä myös itse suunnitteluprosessin kuluessa, mikä puolestaan kannustaa rikastamaan tietoa enemmän, ja siten auttaa myös seuraavien prosessien tietotarpeiden tyydyttämisessä ja tiedon automaattisen käsittelyn tehostamisessa. On kuitenkin huomattava, että mikäli suunnitteluprosessi tulkitaan ainutkertaiseksi "siiloksi" tai saarekkeeksi irrallaan esim. prototypoinnin, testauksen, koulutuksen sekä teknisen kirjoittamisen tehtävistä, ei hedelmällistä vuorovaikutusta eri osaprosessien välillä synny. Tällöin semanttisen prosessin ja edelleen informaation koneellisen käsittelyn asettavat vaatimukset näyttäytyvät lähinnä vaikeasti perusteltavissa olevana tarpeettomana lisätyönä. 15 Kenties tärkeimmät integroidun semanttisen tuotantoprosessin puolesta puhuvat tekijät liittyvät tuotannon kokonaisanalyysiin sekä design as service –ajatteluun. Suunnitteluvaihe on tunnetusti verraten lyhyt mutta kustannusvaikutuksiltaan kauaskantoinen vaihe monimutkaisen työkoneen elinkaaressa. Suunnitteluinformaatiolle on kuitenkin runsaasti käyttöä myös varsinaisen suunnitteluaktiviteetin päätyttyäkin. Mikäli suunnitteluinformaatio on huonosti jäsennettyä ja hankalasti hyödynnettävissä, kertautuvat tiedon hyödyntämisen ja käsittelyn kustannukset elinkaaren pituuden myötä eikä organisaation ole mahdollista helposti kytkeä tätä lähtökohtaisesti arvokasta tietopääomaa uusien suunnittelu- ja tiedon jatkojalostustehtävien perustaksi. Kun tämä on sisäistetty, voidaan semanttinen prosessiajattelu lopulta tulkinta vain "hyvän suunnittelun" ja tiedonhallinnan menetelmänä. 16 3. Konejärjestelmän suunnitteluaineiston semanttinen mallinnus 3.1. Yleiskatsaus aineistoon ja tutkimustapauksen rajaus Kirjoittanut Pekka Ranta Semogen-hankkeen tavoitteena oli kehittää malleja, menetelmiä ja teknologioita virtuaalisen konelaboratorion tuotantomenetelmien automatisointiin. Hankkeen tahtotilana oli hyödyntää aitoa konejärjestelmän suunnitteluaineistoa tuotantomenetelmän perustana. Lisäksi tavoitteena oli rakentaa konejärjestelmästä rikas ja tietokoneen käsiteltävä semanttinen malli sekä automaattisesti generoitu dynaaminen reaaliaikasimulointmalli, joiden avulla virtuaalinen konelaboratorio rakennetaan. Virtuaalinen konelaboratorio sisältää dynaamiseen reaaliaikasimulointiin perustuvia työvälineitä: kaavio- ja 3D–visualisointi, mittausvälineet, vikatilanteiden muokkaus, osaluettelo, toimintaketju sekä kouluttajan tukivälineitä. Virtuaalisella konelaboratoriolla voidaan nähdä myös laajempia käyttökohteita, kuten virtuaaliprototypointi ja älykkäät huolto- ja varaosakirjat. Kuvassa 3.1.1 on havainnollistettu virtuaalista konelaboratoriota, joka mahdollistaa konejärjestelmien opiskelun virtuaalikoneen, reaaliaikasimulointimallin, rikastetun kaavion, mittaus- ja ohjausvälineiden sekä linkitetyn oppimateriaalin avulla. Kuva 3.1.1. Virtuaalinen konelaboratorio, joka tarjoaa rikkaita näkymiä ja tarkoituksenmukaisia työvälineitä sekä koulutus- että suunnittelukäyttöön. (SmartSimulators–tutkimusryhmä) Esiselvitysvaiheessa pilot-ympäristö rajattiin koskemaan tunneliporauslaitteen Jumbon puominnostotoimintoa (kuva 3.1.2). Tätä rajausta noudatettiin koko hankkeen ajan. Rajauksen tukena olivat myös seuraavat käyttötapakuvaukset 1. Huoltoasentajakoulutus ja kouluttajan työvälineet, 2. Virtuaalisen konelaboratorion generointi automaattisesti ja/tai semiautomaattisesti suunnitteludokumenttien, -ohjelmistojen ja konelaboratorion semanttisten kuvausmenetelmien avulla sekä 3. Poralaitteen (Jumbo) puomin konstruktiomuutos. Nämä ohjasivat osaltaan aineistojen käsittelyä, menetelmien ja mallien kehitystä sekä pilot-ympäristön rakentamista. Nämä on kuvattu tarkemmin väliraportin liitteessä 5.2. 17 Rajaus sisältää yksinkertaisen hydraulijärjestelmän, jonka tärkeimmät komponentit ovat CANohjattu suuntaventtiili, nostosylinteri ja pumppu. Lisäksi rajaukseen sisältyy nostotoimintoon liittyvä CAN-järjestelmä, puomin 3D-mekaniikkamalli, tuotetietoa ja osaluettelo. Projektia varten saatu materiaalia kattaa rajatun järjestelmän suunnittelumateriaalin lukuun ottamatta komponenttien parametreja, komponenttien 3D-malleja ja ohjausjärjestelmää. Alkuperäinen aineisto on kuvattu tarkemmin väliraportissa (luku 3.1, ml. taulukko 3.1.1). Kuva 3.1.2. DTi-jumbo tunnelissa. Tässä luvussa kuvaamme Semogen-hankkeessa käytettyyn suunnitteluaineistoon pohjautuvaa semanttista mallinnusta. Aluksi kuvailemme aineiston rikastamista ja semanttista mallinnusta sovellusaloittain (hydrauliikka, CAN-väyläjärjestelmä ja mekaniikka). Pohdimme edelleen myös aineistojen integrointia. Sovellustapauksena integroidulle semanttiselle mallille esittelemme simulointimalliin liittyvää työtä. Tässä loppuraportissa kuvaamme ainoastaan aineistotutkimukseen liittyviä yleisiä haasteita sekä hankkeen ensimmäisen vaiheen lopussa tapahtuneet edistykset. Aineistoon liittyvää mallinnusta käsitellään laajemmin väliraportissa erityisesti luvuissa 3.2, 3.3, 3.4 ja 3.5. Merkittävä huomio hankkeen ensimmäisen vaiheen loppupuolella on ollut laitteen toiminnallisen kuvauksen puuttuminen lähdeaineistoista. Tämä on osoittautunut haastavaksi löytää koneluettavassa muodossa kuvauksia laitteen toiminnallisuuksista sekä siitä, mitkä osajärjestelmät ja niiden komponentit osallistuvat kunkin toiminnallisuuden toteutumiseen. Laitteen toiminnallisuuden kuvaaminen on tärkeää erityisesti virtuaalisen konelaboratorion opetuskäytön kannalta. Ilman toiminnallisien rakenteiden kuvauksia, on konelaboratoriosta vaikeaa tai hankalaa luoda näkymiä laitteen toimintaa kuvaavista toimintoketjuista. Toiminnallisen rakenteen kuvaaminen näyttäisi 18 myös lupaavalta lähestymistavalta yleisestikin aineistojen välisten ristiviittauksien pohtimiseen. Näihin aineistojen integrointiin ja rikastamiseen liittyviin ongelmiin on paneuduttu erityisesti tämän loppuraportin aliluvussa 3.5. 19 3.2. Hydrauliikkasuunnittelu Kirjoittanut Markus Rokala, Vänni Alarotu ja Jaakko Salonen Esimerkkitapauksena olleen puomin nosto-toiminnon suunnittelun yhtenä osa-alueena on hydraulijärjestelmän suunnittelu. Hydrauliikkasuunnittelu koostuu järjestelmän vaatimuksien, toiminnan ja rakenteen selvittämisestä, komponenttien mitoituksesta ja valinnasta sekä kaavion piirrosta suunnitteluohjelmalla. 3.2.1. Hydrauliikkasuunnitteluaineisto Alkuperäinen suunnitteluaineisto koostuu koneen hydraulikaavioista ja mahdollistaa koneen fyysisen valmistamisen. Aineisto on kuitenkin tehty tavalla, joka ei tue tietojen löytymistä ja linkittämistä semanttiseen malliin. Aineiston piirteitä on tarkemmin analysoitu väliraportissa (osio II, Semogen väliraportti). Tiivistetysti suunnitteluaineistossa havaittiin seuraavia haasteita: Kaavioiden komponentit on liitetty ainoastaan visuaalisesti toisiinsa, eikä lähdedatan perusteella komponenttien semanttinen yhdistely ole triviaalia. Näin ollen kaaviossa kuvattua hydraulipiiriä ei myöskään välttämättä voida luoda semanttiseen malliin ilman lähdeaineiston muokkausta. Myös tunnisteet on paikoin liitetty komponentteihin ainoastaan visuaalisesti Eri kaavioiden välillä käytetty nimikkeistö voi vaihdella, jolloin ilman erillisiä koodilistoja ei komponenttien välisiä yhtäläisyyksiä voida kaavioiden välillä välttämättä päätellä Vastaavasti hydraulikomponentin yksilöiminen muista kuin hydrauliaineistoista vaatii muunnostaulukon käyttöä tai käsityötä Aineistoon liittyviin haasteisiin puututtiin hankkeessa rikastamalla lähdeaineistoa, sekä määrittelemällä suunnittelijan tueksi vaatimuksia siitä, minkälainen hydrauliaineisto tarjoaa konelaboratoriokäytössä parhaan mahdollisen uudelleenkäytettävyyden. 3.2.2. Aineiston rikastaminen Aineiston rikastamisella tarkoitetaan hydraulikaavion piirtoa niin, että kaavio sisältää myöhemmin putkilinjassa tarvittavan tiedon koneluettavassa muodossa. Käytännössä hydraulikaavion piirrossa tulee ottaa huomioon seuraavat asiat: Komponenttien väliset yhteydet piirretään aina määritellystä yhteyspisteestä toiseen yhteyspisteeseen. Tällä tavoin komponenttien väliset yhteydet säilyvät, vaikka komponenttien sijoittelu muuttuu. Jokaiselle komponentille annetaan nimi/tunniste, jonka avulla komponentit muut tiedon on mahdollista löytää tietotietojärjestelmästä (PDM-järjestelmä). Lisäksi on hyvin oleellista, että komponenttien nimi/muut tiedot liitetään komponenttiin, niin että komponentin ja nimen välinen yhteys säilyy myös kaaviosta tehtävissä ulkoistuksissa (esim. SVG skaalautuva vektorigrafiikka). Semanttisesti rikkaan hydraulikaavion piirteitä ja sen tuontia SVG-muodossa on tarkemmin esitelty väliraportissa (osio II, Semogen väliraportti). Aineiston rikastamista ja komponenttidatan tallennusmahdollisuuksia on esitelty erikseen aihetta käsittelevässä artikkelissa (Markkula, Rokala, Palonen, Alarotu, Helminen, Koskinen, Salonen, Nykänen, Ranta, Pohjolainen, 2011). 20 3.2.3. Aineiston siirto Hydraulijärjestelmän suunnittelun jälkeen Vertex HD -hydraulikaaviota jatkojalostetaan teknisesti seuraavan prosessin mukaisesti: Hydraulikaaviot tuodaan Vertex HD -ohjelmistosta SVG-muodossa SVG-muotoista hydraulikaaviota käsitellään edelleen, jotta se voidaan avata suoraan virtuaalisessa konelaboratoriossa (XSL-muunnos) Rinnakkaisessa muunnoksessa SVG-kaaviosta irrotetaan semanttinen informaatio RDFdokumentiksi Lopputuotteina prosessista syntyvät konelaboratoriossa hyödynnettävä hydraulipiirin semanttinen kuvaus (RDF) sekä visualisointi (SVG). Aineistojen siirrossa haasteeksi osoittautui SVG-lähdeaineiston semanttinen rikkaus sekä siinä käytettyjen piirtomerkkien valinta. SVG:hen tulevat piirtosymbolit pohjautuvat Vertex HDohjelmistossa määriteltyihin makroihin (komponenttiaihiot). Komponentteihin voidaan liittää makrotasolla lisäinformaatiota runsaankinlaisesti: erityisesti komponentin nimi, tyyppitieto ja siihen liittyvät portit voidaan kuvata ohjelmiston avulla siten, että ne säilyvät myös SVG-aineistoihin. Makrotasoa tarkemmin kohdentuvan informaation lisääminen osoittautui kuitenkin mahdottomaksi. Näin ollen komponenttiaihioon ei voida helposti kuvata niitä osia, joista komponentti koostuu. Näin ollen esimerkiksi sylinterin piirtomerkkiin ei voida koodata tietoa siitä, mikä osa piirtosymbolista vastaa sylinterin mäntää (kts. kuva 3.2.3.1). Kaaviokuvan animoinnin osalta vaikeuksia aiheuttaa myös SVG-elementtien valinta: polyline-elementtiä käytetään usein myös suorakulmaisten kappaleiden merkkaukseen, mikä tekee visualisoinnista hankalaa verrattuna siihen, että kappaleet olisi semanttisesti kuvattu suorakulmioksi (SVG:n rect-elementti). Puutteellinen kuvailutarkkuus johtaa siihen, että SVG-viennistä saatavia kaavioita ei voida suoraan hyödyntää hydrauliikan dynaamiseen visualisointiin tai alikomponenttitason tietojen esittämiseen. Kuva 3.2.3.1. Havainnollistus hydraulikaavion piirtosymbolien ja SVG-elementtien yhteyksistä On syytä kuitenkin huomata, että merkittävältä osin SVG-kaavioihin koodattua semanttista tietoa saadaan hyödynnettyä. Erityisestikin komponenttien tyypitys ja niiden väliset yhteydet saadaan tehokkaasti mallinnettua. Dynaamisten visualisointien tuottaminen näyttäisi kuitenkin vaativan edelleen käsityötä. Vaihtoehtoisesti SVG-vientiformaattia tulisi jatkossa jalostaa tukemaan alikomponenttitason informaation koodaamista, jotta hydraulikaavion dynaamisia visualisointeja voitaisiin generoida suoraan suunnitteluaineistoista. 21 Jotta visualisointi voitaisiin toteuttaa, komponentti täytyy kuvata järkevinä osakokonaisuuksina. Esimerkkinä tästä on sylinteri (kuva 3.2.3.2.), joka on piirretty käyttäen suorakaidekappaleita. Suorakaiteet on ryhmitelty järkevästi niiden dynamiikan kannalta. Simulaatioarvojen perusteella voidaan muuttaa suorakaiteiden kokoa, siirtää niitä ja käyttää täytevärejä. Lopputuloksena on simulaation tahdissa liikkuva sylinteri kaaviossa. Kuva 3.2.3.2. Havainnollistus hydraulikaaviosta semanttisilla, animoitavilla piirtosymboleilla 3.2.4. Hydrauliikkasuunnitteluaineiston semanttinen mallinnus Rikastetun hydraulikaavion perusteella voidaan generoida malli, joka kuvaa hydraulikaaviossa esitetyn piirin sekä sen yhteydet muihin aineistoihin. Kuva 3.2.1.4: Hydraulikaavion semanttisen mallin visualisointia Protégé-ohjelmistolla 22 Kuvassa 3.1.4. on esitetty visualisointi osasta hydraulikaavion semanttista mallia. Kuvan perusteella voidaan tarkastella mallin piirteitä: Malliin on kuvattu hydraulikaavio (boomlift-hd.svg) sekä siihen siihen liittyvät komponentit (comp-3_16, comp-3_17, jne.) Komponentit on liitetty niihin kuuluviin portteihin (port-2_8, port-2_13, jne.) Portit yhdistyvät edelleen painelinjojen (pipe-1_40, pipe-1_43) avulla Kaikki resurssit on liitetty osaksi yleisempää hydrauliikkaa kuvaavaa skeemaa (hydraulicCircuitDiagram, hydraulicComponent, hydraulicPort, hydraulicPipe) Semanttisen mallin tarkkuus riittää näin ollen varsin hyvin useisiin käyttötapauksiin. Skeeman hyödyntäminen mahdollistaa semanttisen haun toteuttamisen. Vastaavasti hydraulipiirin täydellinen kuvaaminen mm. porttien ja painelinjojen avulla mahdollistaa hydrauliikan simulointimallin generoinnin. Koska kaaviosta tehty malli käyttää resurssien tunnistamiseen globaaleja nimikkeitä (URI), voidaan mallia rikastaa lisäämällä viittauksia myös muihin hydraulikaavioihin sekä muihin aineistoihin kuten CAN-verkkoihin ja mekaniikkamalleihin. Perehdymme näihin sovelluksiin myöhemmissa aliluvuissa. Hydraulikaavion osalta semanttisen mallin vaatima tiedon rikastaminen ei merkittävästi muuta suunnittelun vaatimuksia. Komponenttien suunnitelmallinen nimeäminen ja eheiden yhteyksien rakentaminen komponenttien välille on jo nykyään mahdollista ja toivottavaa. Näiden asioiden tarkastaminen ja komponenttien rakenteeseen ja kaavion ulkoistukseen liittyvät vaatimukset on mahdollista toteuttaa suunnitteluohjelman sisälle. 23 3.3 CAN-suunnittelu Kirjoittanut Matti Helminen, Jaakko Salonen 3.3.1. CAN-aineisto CAN-aineisto käsittää proCANopen-ohjelmalla luodut kolmen verkon CANopen-projektit. Jokainen verkko on oma projektinsa. Yksi projekti sisältää aina nodelist.pco-tiedoston, joka vastaa sisällöltään standardin mukaista nodelist.cpj-formaattia. Siinä on kerrottu mitkä solmut (nodet) verkkoon kuuluvat. Solmuista on kerrottu ainoastaan DCF-tiedoston nimi. ProCANopen:n pco.ini projektitiedostossa on puolestaan samat tiedot, mutta lisäksi on solmulle määritelty kuva. Solmut on myös ryhmitelty grouppeihin, mutta näillä ei kuvata todellista topologiaa. Kussakin CANopen projektissa jokaisella solmulla on oma DCF-tiedostonsa. Tiedosto sisältää tiedon solmun vastaanottamista ja lähettämistä signaaleistä, sekä niiden mappauksen data-objekteihin. Jokaisella erityyppisellä solmulla on oma EDS-tiedostonsa. EDS määrittelee pohjan DCF-tiedostoille eli kuvaa solmun tarjoamat ominaisuudet rajapintoineen. DCF-tiedosto sisältää edellisen lisäksi kaikki parametriarvot, jotka ovat solmukohtaisia. CAN-aineisto on kuvattu tarkemmin väliraportin luvussa 3.3.1 (Osio II, Semogen-väliraportti) 3.3.2. CAN-aineiston semanttinen mallinnus Can-aineiston eli CANopen-projektien perusteella luodaan semanttinen malli laitteen CANopenväylistä ja CANopen-laitteista. Semanttisen mallin luontiin käytetään CANopen-projektin DCFtiedostoja ja ProCANopen-projektin nodelist.pco sekä pco.ini-tiedostoja. Näistä luodaan nyt suoraan RDF-malli (Kuva 3.3.2.2) ilman välivaiheita, jotka väliraportin sivulla 23 on kuvattu. RDFmallista generoidaan edelleen SVG-muotoinen CAN-kaavio sekä simulointimalli. Generointi tapahtuu Eclipse-ympäristössä ja on toteutettu python-ohjelmointikielellä. Generoinnin vaiheet on esitetty kuvassa 3.3.2.1. Kuva 3.3.2.1: CAN-aineiston generoinnin vaiheet 24 CANopen hallintaprosessi, sekä standardin mukainen nodelist.cpj eivät tue kuin yden CAN-verkon mallinnusta kerrallaan. Sama rajoitus periytyy myös työkaluihin, kuten proCANopeniin. Esimerkkiaineistona toimivaan puominohjausjärjestelmään kuuluu kolme erillistä CAN-verkkoa. Liikennettä verkkojen välillä ei pystytä käytetyillä työkaluilla ja niiden käyttämillä formaateilla kuvaamaan. CiA-302-7 standardiehdotuksen perustuvan reitittävän CANopen-laitteen reititystaulusta voidaan kuitenkin lukea signaalien kulku verkkojen välillä. Esimerkiksi verkkojen välillä siltana toimiva laite näkyy molempien verkkojen CANopen-projektissa, mutta tietoa siitä, että kyseessä on yksi ja sama laite, ei ole suoraan kuvattu missään. CiA-302-7 määrittelee myös reitittävän CANopen-laitteen node-id:n eri verkoissa, joten tämän perusteella olisi mahdollista selvittää mitkä DCF-tiedostot kuvaavat samaa laitetta ja sitä kautta myös mitkä eri laitteet eri CANopen projekteissa ovat itseasiassa sama fyysinen reitittävä laite. Myöskään minkäänlaista verkkotopologiaa ei ole kuvattu, eikä sen kuvaamiseen ole standardia formaattia. Näitä ongelmia on lähdetty ratkomaan projektin aikana syntyneessä standardiehdotuksessa, jossa kuvataan uusi XMLpohjainen CANopen nodelist.graphml-formaatti, jolla saadaan usean verkon verkkotopologia ja kytkökset samaan tiedostoon. Nykyinen nodelist.cpj-formaatti kuvaa pelkästään verkon solmut, eikä ollenkaan topologiaa. Kuva 3.3.2.2: CAN-verkon semanttisen mallin visualisointia Protégé-ohjelmistolla CAN-verkon visualisointiin käytetään samaa SVG-formaattia, kuin hydraulikaavion visualisointiin. SVG-formaattia on laajennettu muutamilla attribuuteilla, joilla tunnistetaan kaaviossa olevat komponentit. Tämä mahdollistaa linkitykset semanttisen mallin ja kaavion välillä. CAN-verkko itsessään on kuvattuna myös semanttisessa mallissa, joten sitä voi visualisoida myös esimerkiksi Protégé-ohjelmistolla, jolloin siitä saa erilaisia näkymiä, kuten kuvassa 3.3.2.2. 25 3.4 3D-suunnittelu Kirjoittanut Tuija Palonen, Jaakko Salonen Alkuperäinen lähdeaineisto oli laajuudessaan projektin tarpeisiin liian suuri, joten aineiston rikastaminen aloitettiin yksinkertaistamalla puomista nostosylinterin toimintaa demonstroiva osuus. Automaattista generointia helpotettiin yhdistämällä useampi jäykkä kappale yhdeksi kappaleeksi, ns. kuorimalliksi. Tämän jälkeen kappaleet nimettiin ja niille lisättiin tunnistenumero osaluettelon perusteella. Mallin sylinterit koottiin omiksi alikokoonpanoikseen. Jokaiselle dynaamiselle kokoonpanolle lisättiin origo nivelpisteeseen. Mallin kappaleet myös ketjutettiin toisiinsa. 3Daineiston koostumusta on käsitelty myös väliraportin luvussa 3.4.1 (Osio II, Semogen-väliraportti) Kuva 3.4.1.1. Alkuperäisen 3D-aineiston visualisointi suunnitteluohjelmistossa (SolidWorks). Virtuaalisen konelaboratorion käyttöön mallia on yksinkertaistettava ja täydennettävä (rikastettava). Oikeassa laidassa Semogen ohjelmistolaajennuksen (add in) työkalupalkki. 3.4.2. 3D-aineiston rikastaminen Aineiston rikastaminen tapahtui käsityönä, ja jälkikäteen toteutettuna se oli työlästä, johtuen ensisijaisesti nimien ja osanumeroiden vastuuden hakemisesta jälkikäteen osaluettelosta. Malli olisikin hyvä rikastaa jo suunnitteluvaiheessa mikäli suunnittelussa käytetään kirjastoituja komponentteja. 26 Jotta rikastamista ei tarvitsisi tehdä jälkikäteen, suunnittelijan on huomioitava seuraavat asiat: 1. Yksittäisen osan origo ja koordinaatisto Tämä määrittää lokaalin koordinaatiston 3D:ssä Suositeltavat sijoituskohdat: Nivelpiste, jonka ympäri osa pyörii Osan massakeskipiste Nivelpiste, johon kinemaattisessa ketjussa seuraava osa kiinnittyy Lokaalin koordinaatiston orientaatiovaatimukset: Sama kuin globaalikoordinaatisto Jos liikkuva osa on vinossa globaaliin koordinaatistoon nähden, osan koordinaatiston jokin akseli osan liikkeen suuntaisesti Vastattava simuloinnin koordinaatiston orientaatiota 2. Osien ja kokoonpanon nimeäminen Nimien on oltava yksiselitteisiä Samanlaiset osat nimettävä juoksevasti, esim. osannimi+nro tai osannumero_kirjain Osat on nimettävä samoilla nimillä kuin simulointimallissa ja hydraulikaaviossa Mikäli tämä ei ole mahdollista, osalle on annettava tunniste tai viite osanumeroon, jonka perusteella se voidaan yhdistää kaavio tai simulointimallikomponenttiin. 3. Kinemaattinen ketju Kokoonpanossa liikkuvat osat on sidottava toisiinsa kinemaattisessa liikejärjestyksessä. Mikäli osat eivät liiku toisiensa suhteen, niistä voidaan tehdä alikokoonpano tai ryhmä. 3.4.3. Automaattisen generoinnin haasteet 3D:ssä Projektissa tutkittiin eri siirtoformaatteja ja siirtoteitä 3D-mallille. Koska Semogen-playerin käyttöliittymä suunniteltiin web-pohjaiseksi, yhtenäinen esitys vaati myös 3D-grafiikan esityksen selaisemessa. Esitystavaksi valitiin WebGL-pohjainen grafiikkamoottori, X3DOM. Tämä mahdollistaa 3D-grafiikan esittämisen sitä tukevassa selaimessa, kuten Firefox 5:ssa tai Google Chromessa. 27 Grafiikkamoottorin natiivi tiedostoformaatti on X3D, joka täyttää seuraavat tiedostoformaatilta vaaditut ominaisuudet: Kappaleiden nimet Kappaleiden tekstuurit Nivelpisteiden esitys Kokoonpanojen toteutus Kokoonpanojen sidosten toteutus Kappaleelle on mahdollista antaa useampia tekstuureja Ensisijainen haaste on aineiston siirtoformaatti, jossa aineisto (3D-mallit) siirretään automaattisen generoinnin käsiteltäviksi. Siirtoformaatilta vaadittavia asioita ovat: 1. 2. 3. 4. 5. 6. Osien nimien säilyminen Osien tekstuurien säilyminen Nivelpisteiden säilyminen Kokoonpanojen säilyminen Kokoonpanojen sidosten säilyminen Osan käsite: kappaleen aliosat rajataan eri teksturoinneilla, ei muotojen perusteella. Kohdat 5 ja 6 ovat valinnaisia, sidokset voidaan lisätä myöhemmin käsin ja osa voidaan koostaa muodoista lukuvaiheessa, mutta tämä vaikeuttaa osan kolmioverkon rakentamista automaattisessa generoinnissa. Siirtoformaatin valintaan luo haasteita myös se, ettei niiden lukemiseen tarkoitettuja kirjastoja ole saatavilla avoimen lähdekoodin versioina. Avoimet formaattien ongelmana on myös standardien puute, mikä on aiheuttanut sen, että esimerkiksi eri ohjelmasta tallennettu STEP-muotoinen malli ei vastaa toisesta ohjelmasta tallennettua. XML-pohjaisiin siirtoformaatteihin, kuten X3D (http://www.web3d.org/x3d/) ja Collada (https://collada.org/) on saatavilla lukijoita paremmin ja niiden käyttöä Semogen-projektissa tutkittiin ja tähän löydettiin ratkaisuja. Valitettavasti suunnitteluohjelmien tuki XML-pohjaisille siirtoformaateille on rajoittunutta. Aineiston suuri resurssien (näytönohjaimen teho, koneen muisti) kulutus tuo haasteita automaattiselle generoinnille. Aineiston resurssien kulutusta voidaan pienentää vähentämällä 3Dmallien sisältävien kolmioiden määrää. Tätä varten on olemassa valmiita algoritmeja, jotka toimivat erilaisilla periaatteilla. Yksinkertaisimmat algoritmit yhdistävät tietyllä etäisyydellä olevat Vertexpisteet toisiinsa, kun taas monimutkaisemmat rakentavat koko verkon uudelleen optimoituna (Hoppe, et al. 1993). Edelliset ovat tehokkaita kappaleille, joissa vertex-pisteiden väleissä ei ole suuria eroja, mutta tuloksen ulkoasu on aina tarkastettava silmämääräisesti, jälkimmäiset taas ovat hitaampia, mutta tulos on usein muototarkempi ja vähentää kolmioiden määrää koko mallin alalta riippumatta vertex-pisteiden väleistä. 3D-mallien resurssien kulutusta voidaan myös pienentää poistamalla kokoonpanosta ns. merkityksettömiä osia, kuten muttereita, aluslevyjä ja korvakkeita. X3D-tiedostoformaatin suurimpia ongelmia oli se, ettei sille löydy valmiita kääntäjiä. Tästä syystä suunnitelmana oli kääntää 3D-malli ensin Colladaksi, ja sen jälkeen muuntaa Blender-grafiikka ohjelmassa X3D-formaattiin. Tässä toteutuksessa havaittiin seuraavat ongelmat, jotka johtivat toteutustavan hylkäämiseen: 28 Mallin kääntäminen Collada-formaattiin oli erittäin hidasta, yksinkertaisen mallin kääntö saattoi kestää jopa 12 tuntia Blender muutti mallin koordinaatistoa, jolloin se ei enää ollut yhtenevä simulointimallin kanssa Yllämainittujen lisäksi työvaiheet suoritettiin manuaalisesti, eikä niissä ollut automatisointimahdollisuuksia. Ratkaisuna oli kehittää oma kääntäjä suoraan konelaboratoriossa käytettävälle X3D-formaatille, mikä vaati joko scriptejä tukevan tai ohjelmointirajapinnan sisältävän CAD-ohjelmiston. Solidworksin lisenssi sisältää mahdollisuuden käyttää Solidworks APIa, ohjelmiston omaa rajapintaa. Solidworksille ohjelmoitiin oma X3D-kääntäjä, ohjelmointikielenä toimi C-Sharp (C#). Kääntäjä toteutettiin COM-pohjaisena Add-in-sovelluksena, joka asennetaan erikseen Solidworksin yhteyteen. 3.4.4. Semogen 3D CAD-ohjelmistolaajennus Semogen ohjelmistolaajennus (Add-in) suunniteltiin palvelemaan semanttisen mallinnuksen tarpeita. Add-in tuottaa myös strukturoitua tietoa SolidWorksissa käsiteltävästä CAD-mallista semanttisen mallinnuksen tarpeisiin. Ohjelmistolaajennus tuottaa mallista seuraavat tiedot sekä XML-dokumentissa että Matlabin m-file parametritiedostona: Kappaleen nimi Kappaleen translaatio Kappaleen orientaatio Kappaleen massakeskipiste Kappaleen tunniste (id) Kappaleen inertiamatriisi Kappaleen massa Kappaleen tyyppi: nivel / jäykkä kappale Kappaleen skaala Ohjelmistolaajennus käyttää Solidworks APIa, jonka avulla malli käydään kappaleittain läpi. Jokaisesta kappaleesta kerätään tiedot ja tulostetaan haluttuun formaattiin. Käyttäjä voi nimetä ja sijoittaa tuloksena olevan tiedoston tahtonsa mukaan. Semogen ohjelmistolaajennuksen päätarkoituksena on 3D-mallin tuottaminen X3D-formaatissa. Tätä varten malli käydään kappaleittain läpi. Jokainen kappale jaetaan pinnoiksi, jotka jaetaan vielä erikseen kolmioiksi. Kolmioista tallennetaan verteksi ja reunatiedot. X3D-formaattia varten mallista kerätään ja tulostetaan seuraavat tiedot: Kappaleiden nimet Kappaleiden sijainnit ja orientaatiot Kappaleiden skaalat Kappaleiden materiaalit ja niiden värit Kappaleiden läpinäkyvyys Kappaleiden kolmioiden kärkipisteiden indeksit Kappaleiden kolmioiden kärkispisteiden koordinaatit Kappaleiden kolmiot muodostavat kärkipisteet 29 Myöhemmin tarkoituksena on myös tuoda seuraavat tiedot: Valot, sijainti ja suunta Varjot Semogen-ohjelmistolaajnneus on rakennettu modulaarisesti ja sitä voidaan laajentaa myös muiden 3D-tiedostoformaattien tuottamiseen. Ohjelmakoodi on myös yleistettävissä muille CADohjelmille, mikäli niiden rajapinta tukee C#-ohjelmointia, vaihtamalla rekisteröinnin ja mallin luvun tekevät luokat. Verrattaessa Semogen ohjelmistolaajennuksen X3D-mallin kääntönopeutta Collada-mallin kääntöön, päästään huomioitavasti parempiin tuloksiin. Testimallin kääntöön kului 6 minuuttia, eli nopeus oli 120-kertainen Collada-mallin kääntöön tähden. Kääntöä varten ei tehty erityisiä ratkaisua: mallin tiedot luetaan ohjelmistolaajennuksen omiin tietorakenteisiin ja kirjoitetaan Microsoftin tarjoamalla XML-writer luokalla X3D-formaattiin. 3.4.5. Semanttinen malli Semogen ohjelmistolaajennuksen kautta saadut tiedot voidaan integroida osaksi semanttista mallia yksinkertaisella muunnoksella (XML:stä RDF:ään). Vaikka periaatteessa suuri osa tiedoista olisi saatavilla suoraan X3D-tiedoston kautta, on erityisesti simulointimallin generoinnin ja mekaniikan semanttisen haun takia perusteltua tuoda näitä tietoja myös semanttiseen malliin. Kuva 3.4.5.1. Mekaniikan semanttisen mallin visualisointi Protégèlla Testiaineiston osalta semanttista mallia on visualisoitu kuvassa 3.4.5.1. Kaikki mekaaniset komponentit on tyypitetty mallissa samalla tavoin (mechanicalComponent). Kustakin komponentista on lisätty attribuuttietoa erityisesti simulointimallin tarpeiden näkökulmasta (massa, massakeskipiste, inertiamatriisi). Semanttista hakua ajatellen malli sisältää myös komponenttejen tunnistetietoja (nimi, ID). Osien välistä hierarkkiaa tai kinemaattista ketjua ei tässä vaiheessa ole 30 mallinnettu, mutta jatkossa tämän mallinnuksen piirteen lisääminen voisi olla perusteltua. Vastaavasti mallia voitaisiin rikastaa myös lisäämällä mekaniikkakomponenteille tyypitystietoa hydrauliikkamallin tavoin. 31 3.5 Suunnittelutietojen integrointi Kirjoittanut Jaakko Salonen ja Juha Nurmi Tässä aliluvussa kuvataan lyhyesti suunnittelutietojen integrointiin liittyviä haasteita ja ratkaisumalleja. Käsittely pohjautuu artikkeliin (Salonen, Nykänen, Ranta, Nurmi, Helminen, Rokala, Palonen, Alarotu, Koskinen, Pohjolainen, 2011). Lähdeaineiston perusteella vaikuttaa siltä, että suunnitteluaineistot on pyritty usein toteuttamaan siten, että kukin aineistoista muodostaisi mahdollisimman eheän ja selvärajaisen kokonaisuuden. Suunnitteluaineistojen välille tehtäviä viittauksia ei kuitenkaan voida kaikissa käyttötapauksissa välttää. Näin ollen menettelyt, joilla eri aineistoja voidaan integroida tulevat tarpeiseen myös useissa virtuaalisen konelaboratorion käyttötapauksissa. Ensinnäkin yksittäinen fyysinen komponentti, kuten hydraulisylinteri voi esiintyä useissa suunnitteluaineistoissa, mahdollisesti eri rooleissa (sylinteri mekaniikkakomponenttina, osana can/sähköjärjestelmää, osana hydraulijärjestelmää). Toisaalta ristiviittauksia tarvitaan myös silloin, kun halutaan kuvata koneen rakenteellisen mallin lisäksi sen toiminnallista mallia. Ristiviittauksia voidaan tarvita myös muista syistä. Erityisesti simulointimallin generoinnin kannalta on tärkeää, että kuvaus järjestelmästä on mahdollisimman täydellinen ja eheä. Saamamme lähdeaineiston perusteella näyttäisi siltä, että yksi mahdollinen tapa ristiviittauksien kuvaamiseen on ulkoisten viittaustaulukoiden käyttö. Käytännössä tällainen kuvaus voidaan toteuttaa esimerkiksi Excel-taulukkona. Yksinkertaisimmassa tapauksessa taulukkoon merkittään esimerkiksi riveittäin yksikäsitteiset komponentit ja sarakkeittain komponentin esiintymät eri suunnitteluaineistoissa (ks. taulukko 3.5.1). Tarvittaessa tätä viittaustaulukkoa voidaan käyttää lisäksi kuvaamaan myös muuta komponentteihin liittyvää suunnitteluinformaatiota, mitä ei muista aineistoista ole saatavilla. 32 Kuva 3.5.1. Kuva ristiviittauksen visualisoinnista. Puomin nostoon liittyvä ohjausventtiili esiintyy sekä CAN- (vasemmalla) että hydrauliikkasuunnitteluaineistoissa (oikealla). Komponenttikuvien lähdetiedot sijoitettu lähdeluetteloon. Ristiviittaustiedoston avulla suunnitteluaineistoja voidaan rikastaa viittaustaulukoiden tavoin myös muilla lisätiedoilla. Esimerkiksi järjestelmän toiminnallinen malli voidaan kuvata aineistoa rikastamalla tähän tiedostoon. On myös syytä huomata, että koska ristiviittaukset on tehtävä semanttiseen malliin koneluettavassa muodossa, täytyy ne tehdä globaalisti yksikäsitteisiä tunnisteita (URI) käyttäen. Teknisestä näkökulmasta nämä tunnisteet voidaan ylläpitää muusta semanttisesta mallista erillisessä tiedossa (ristiviittaustiedostoon). Tämä toimintatapa mahdollistaa sen, että ristiviittauksia voidaan tarpeen mukaan tuottaa joko käsin tai jatkossa erillisen työvälineen tai ohjelmiston avulla. Jälkimmäinen vaihtoehto on jatkokehitystyön kannalta tärkeä, sillä teknisten tunnisteiden käyttöä ei tuotantokäytössä voida suunnittelijoilta olettaa. 33 3.6 Simulointimalliaihiot Kirjoittanut Markus Rokala, Jaakko Salonen ja Vänni Alarotu Simulointimallin automaattinen generointi on merkittävä osa Semogen-hanketta. Simulointimalli toimii esimerkkinä, miten eri suunnitteluaineistojen yhteensopivuutta voidaan hyödyntää. Simulointimallin muodostaminen koostuu pelkistetysti datan keräämisestä lukuisista eri lähteistä sekä datan syöttämisestä simulointiohjelmaan. Prosessi on nykyisellään käsityötä, mikä tekee siitä hitaan ja virhealttiin. Prosessin kehittämiseksi simulointimallien automaattiselle generoinnille on olemassa selkeä tarve. 3.6.1. Simulink-aihioista ja niiden generoinnista Semogen-hankkeessa tarvittavista komponenteista (hydrauliikka-, mekaniikka- ja CANkomponentit) on rakennettu komponenttikohtaisia simulointimalleja Matlab/Simulink ohjelmistolla. Komponenteille on tehty oma kirjasto Simulinkin kirjastorakenteeseen. Mallinnetut komponentit on rajattu niin, että komponenteilla saadaan toteutettua tapaustutkimuksen kohteena ollut puomin nosto. Mallinnetut komponentit on rajattu niin, että komponenteilla saadaan toteutettua tapaustutukimuksen kohteena ollut puomin nosto. Kyseiseen toimintoon kuuluvat hydrauliikka-, mekaniikka- ja CAN-komponenteista tehtiin matemaattinen malli Simulink-ohjelmistoa hyödyntäen. Mallinnetut komponentit hydrauliikan osalta ovat pumppu, putki, 4/3-venttiili, sylinteri, suodatin ja tankki. Mekaniikkakomponenteista mallinnettiin kiinteä alusta, jäykkä kappale, sylinteri, sekä rotaatio ja translaationivel. CAN-komponenteista mallinnettiin joystick, väylä ja ohjain. Lisäksi omiksi malleikseen on laitettu UDP-liikennöintiin tarvittavat komponentit. Mallin muodostamiseen voi toki käyttää myös muita Simulink-kirjastoissa olevia komponentteja. Väliraportissa (osio II, Semogen-väliraportti) esitetty tekstimuotoinen mallien yhdistäminen todettiin hankalaksi toteuttaa ja nykyisellään simulointimalli muodostetaan Matlab-komentojen avulla. Simulointimalli koostetaan RDF-mallin perusteella simulointikirjastossa olevista komponenteista. Simulointimallin generointia varten on siis ensin luotu käsin simulointikirjasto, joka käsittää peruskomponentit kuten esimerkiksi pumpun ja sylinterin. Tämän jälkeen tiedot simulointikirjastossa olevista komponenteista on luettu RDF-malliin ja linkitetty komponenttien tyyppeihin. Näin tietyn tyyppiset komponentit saavat automaattisesti itselleen simulointimallin. Myös hydraulikaavion tiedot luetaan RDF-malliin ja siinä olevat komponentit linkittyvät komponenttien tyyppien kanssa ja sitä kautta myös simulointikirjaston komponenttien kanssa. Kun kaikki tieto on RDF-mallissa pystytään siitä suoraan tuottamaan Matlab-koodi, joka koostaa malliin ja hydraulikomponentit ja yhdistelee ne toisiinsa hydraulikaaviosta saatujen tietojen perusteella. Automaattista generointia on kuvattu hydrauliikan osalta kuvassa 3.6.1.1. Samalla tavalla eri suunnitteluohjelmistoista voidaan automaattisesti generoida simulointimalliin komponentteja eli hydraulikaaviolle rinnakkaisena voisi kuvassa olla myös esimerkiksi mekaanisten osien ja CANaineiston kuvaus. Simuloitavat komponentit tarvitsevat myös parametreja esimerkiksi sylinterin halkaisija, jotka tällä hetkellä lisätään ajamalla käsin kirjoitettu Matlab-koodi, joka sisältää parametrien arvot. Jos lähdeaineistona käytetään myös PDM-järjestelmää, voidaan komponenttien parametrit tuoda RDFmalliin ja generoida automaattisesti simulointimallin parametritiedostoksi. Tätä mahdollisuutta kuvataan katkoviivoilla kuvassa 3.6.1.1. 34 Kuva 3.6.1.1. Esimerkki putkilinjasta, jolla simulointimalli voidaan automaattisesti koostaa lähtötietoina olevista suunnitteludokumenteista 3.6.2. Simulointiohjelmistoista Ohjelmistoja, joilla fyysisiä järjestelmiä voidaan matemaattisesti kuvata ja ratkaista järjestelmää kuvaavat differentiaaliyhtälöt on saatavilla lukuisia, joten projektin alkuvaiheessa kartoitettiin mahdollisia toteutusohjelmistoja. Erityisesti toiveena oli löytää avoimen lähdekoodin ohjelmisto virtuaalisen konelaboratorion käyttöön. Kartoituksessa kiinnitettiin huomiota reaaliaikamallin luomiseen, valmiisiin komponenttikirjastoihin ja niiden muokattavuuteen, liikennöintiin mallin ja muun järjestelmän välillä sekä saatavuuteen. Vertailukohtana käytettiin Matlab/Simulinkohjelmistoa, jonka käyttö ja ominaisuudet olivat entuudestaan tunnettuja. Yhteenvetona voidaan todeta, että kaupallisissa ohjelmistoissa ominaisuudet ovat yleensä riittävällä tasolla, joskin ongelmaksi saattaa muodostua haluttujen ulostulojen saaminen simulointimallista. Avoimen lähdekoodin ohjelmistojen ongelmina ovat puutteellinen dokumentaatio ja paikoin epästabiili käyttäytyminen. Lisäksi komponenttikirjastot ovat hyvin suppeita. Virtuaalinen konelaboratorio päätettiin toteuttaa Matlab/Simulink-ohjelmistolla. Matlab/Simulink on yleisesti käytössä ja se tarjoaa selkeän ja yksinkertaisen visuaalisen työkalun mallien rakentamiseen. Valmiiden komponenttien valikoima on laaja, mikä tukee moniteknisen laitteen mallintamista ja simulointia. Komponenttimallit ovat kuitenkin osaksi liian suljettuja, joten haluttuja suureita ei saada mallista ulos. Tämä aiheuttaa sen, että mallit joudutaan kuitenkin tekemän itse. Simulointimallit voidaan kääntää eri alustoille. Haasteena on mallimuutosten tekeminen, koska mallin kääntäminen vaatii aina Matlab/Simulink-ohjelmiston. 35 3.6.3. Komponenttipohjaisen simulointimallin matematiikkaa Kirjoittanut Jukka-Pekka Humaloja, Jaakko Salonen Simulointimallien mallinnuksen kannalta on tärkeää, että mallia voidaan täydentää ja hallita modulaarisesti. Hankkeessa tutkittiin mahdollisuutta lisätä simulointimalliin lisäkomponentti tässä tapauksessa puomin nostoon kuorman käyttäytyminen. Matemaattinen malli on tapa kuvata todellisuutta yhtälöiden avulla. Ratkaisemalla mallia kuvaavat yhtälöt tietyillä alkuarvoilla saadaan tietoa sekä mallin että mallinnettavan ilmiön käyttäytymisestä. Tätä kutsutaan simuloinniksi. Komponenttipohjaiset simulointimallit ovat työkalu jatkuvien ilmiöiden mallintamiseen ja simulointiin. Komponenttipohjaisuuden etuina ovat valmiit komponenttikirjastot sekä mahdollisuus omien komponenttien tekemiseen. Jälkimmäinen mahdollistaa mallinnustyön hajauttamisen useammalle henkilölle, mikä on hyödyllistä etenkin eri tekniikan aloja yhdistävissä sovelluksissa. Komponenttipohjaisten simulointimallien matematiikka -raportin (Humaloja, 2011) pääpaino on simulointimallin valintaan ja ratkaisuun vaikuttavissa tekijöissä, joihin luodaan seuraavaksi lyhyt katsaus. Laitekomponenttien simulointimalleja valittaessa on päätettävä, mitä komponentin ominaisuuksia malliin sisällytetään ja miten niitä mallinnetaan. Useampien ominaisuuksien mallintaminen tekee mallista realistisemman, mutta samalla malli saattaa saada piirteitä, jotka vaikeuttavat sen ratkaisemista. Mallin yksinkertaistaminen luonnollisesti helpottaa ratkaisua, mutta yksinkertaisempi malli ei välttämättä vastaa mallinnettavaa ilmiötä riittävän tarkasti. Simulointimalli joudutaan yleensä ratkaisemaan numeerisesti. Mallia ratkaisemaan valitun numeerisen menetelmän tulee pystyä käsittelemään mallin numeerista jäykkyyttä,epäjatkuvuuksia ja epälineaarisuuksia, minkä lisäksi reaaliaikasovelluksissa ratkaisu täytyy saada laskettua riittävän nopeasti. Rajoitettu laskenta-aika edellyttää käytännössä kiinteää askelpituuden ratkaisumenetelmän käyttöä, mikä Simulink-ohjelmistoa käytettäessä johtaa eksplisiittisen ratkaisumenetelmän valintaan. Simulink tarjoaa kylläkin yhden implisiittisen kiinteän askelpituuden ratkaisumenetelmän, mutta kyseinen menetelmä ei pysty käsittelemään simulointimallin singulariteettejä robustisti. Komponenttipohjaisten simulointimallien osalta tutkittavaksi jää, miten malli tulisi jakaa moduuleihin. Simulointiohjelmat tarjoavat joitakin suuntaviivoja moduulienrakentamiseen. Esimerkiksi AMESim-ohjelmiston AMESet-työkalu ohjaa 1) hyvin dokumentoitujen, 2) standardoitujen, 3) uudelleenkäytettävien ja 4) helposti ylläpidettävien alimallien rakentamista (mm. Imagine S.A., 2004). Useimmissa simulointiohjelmistoissa valmiit kirjastot koostuvat laitekomponenttien malleista, mikä antaisi viitteitä laitekomponenttipohjaisten moduulien suosiosta. Modelica-ohjelmiston oppaissa on mainittu erilaisia mallinnuslähestymistapoja, jotka vaikuttavat myös simulointimallin modulointiin. Lisäksi Modelican kotisivulla on koottu yhteen runsaasti Modelicaan liittyviä julkaisuija (http://www.modelica.org/publications), joissa käsitellään muun muassa Modelican komponenttikirjastoja. Modulaarista mallintamista on sovellettu tapauskohtaisesti ja sitä onkin tehty kattavasti eri tekniikan alojen sovelluksina (mm. Zupancic, 1998; Sinha, Liang, Paredis, Khosla, 2001; Vyatkin, Hanisch, Pfeiffer, 2003; Burmester, Giese, Gambuzza, Oberschelp; Sorensen, Stoustrup, 2008; Ozpineci, Tolbert, 2003; Crusca, Aldeen, 36 2003). Simulointiohjelmien ulkopuolelta lähestymistapoja modulointiin voisi etsiä esimerkiksi modulaariarkkitehtuurin menetelmistä (Knoernschild, 2011). Tulosten perusteella lisäkomponenttien integrointi on mahdollista. 37 4. Pilot-ympäristö ja sovellustapaus Kirjoittajat: Juha Nurmi, Jaakko Salonen, Ossi Nykänen Tässä luvussa kuvaamme hankkeessa suoritetun teknisen tapaustutkimuksen. Osana tätä tapaustutkimusta määrittelimme ja toteutimme semanttiseen tiedonkäsittelyn pilot-ympäristön (osio 4.1). Pilot-ympäristöä koekäytettiin lisäksi hankkeen aineiston avulla rajatulla sovellustapauksella (osio 4.2). Tarkastelu pohjautuu väliraportissa kuvattuihin tuloksiin (ks. Osio II). Semogenkehitysympäristön rakenne ja putkilinjaston toiminta perustuvat määrittelyja selvitysdokumentteihin (Nykänen 2010a, Nykänen 2010b, ks. liitteet A ja B). 4.1. Pilot-ympäristö Pilot-ympäristö koostuu käsitteellisesti kolmesta eri komponenttiin: Semogen Manager, Semogen Processor ja Semogen Player. Semogen Managerin vastuulla on toteuttaa tiedonhallintaan ja versiointiin liittyvät piirteet. Semogen Processor -komponentti vastaa tiedon käsittelyprosessien toteuttamisesta, käsittelyaskelten toteuttamiseen liittyvien komponenttien hallinnasta ja tiedon validoinnista. Semogen Playerin avulla tuotantoprosessissa syntyviä semanttisia malleja voidaan edelleen tarkastella. Pilot-ympäristöä varten kustakin kolmesta komponentista on toteutettu prototyyppi valituilla teknologioilla. Näiden komponenttien toteutusta on kuvattu aliluvuissa 4.1.1., 4.1.2 ja 4.1.3. Yleisesti ottaen konelaboratorioympäristössä on haluttu toteuttaa käyttäjälle mahdollisuus selata semanttisessa muodossa olevaa suunnitteluaineistoa, tarkastella 2D- ja 3D-visualisointeja järjestelmästä ja seurata simulaatiomallin tuottamia tapahtumien etenemistä järjestelmässä. Konelaboratorioita voidaan käyttää suunnitteluvaiheen tukemiseen, koulutuksessa ja koneen ylläpito- ja käyttöohjeena. Konelaboratorioille on tunnistettu erilaisia käyttäjän kannalta tarpeellisia ominaisuuksia (Helminen, Palonen, Rokala, Ranta, Mäkelä, Koskinen, 2011; myös Salonen, Nykänen, Ranta, Nurmi, Helminen, Rokala, Palonen, Alarotu, Koskinen, Pohjolainen 2011): Mahdollisuus ketterään suunnittelun prototypointiin muuttamalla koneen suunnittelutiedostoja. Dynaaminen reaaliaikainen simulaatio koko koneelle tai sen osalle. Koneen ohjauksen toiminnan simulointi. Komponenttihaku sekä navigointi kaavioiden ja komponentin tietojen välillä semanttisen mallin avulla. Uuden suunnittelutiedon liittäminen osaksi järjestelmää ohjelmiston koodia muuttamatta. Dynaamiset 2D- ja 3D-visualisoinnit koneen suunnittelukaavioista ja mekaniikkamalleista. Mittausvälineet järjestelmässä tapahtuvan dynamiikan mittaamiseksi (paine, tilavuusvirta, voima, asento). Toimintoketjun kuvaus semanttiseen malliin ja toimintoketjun esittäminen käyttäjälle. Simulaation toiminnan ajonaikainen muuttaminen (hidastus, kelaus, toisto). Yhtenäinen käyttöliittymä. 38 Vertailuteknologiana toimivassa virtuaalisen konelaboratorion (virtuaalinen hakkuukone toteutettuna M1-teknologioilla) toteutettiin näitä ominaisuuksia. Tässä eivät toteutuneet seuraavat ominaisuudet: ketterät muutokset suunnitteluaineistossa, semanttista mallia hyödyntävä haku, uuden suunnittelutiedon liittäminen osaksi järjestelmää ohjelmiston koodia muuttamatta yhtenäinen käyttöliittymä. Semogen-hankkeen pilot-ympäristössä kaikkien ominaisuuksien toteuttamiseen etsittiin menetelmiä ja teknologioita. M1-ympäristön jatkokehittämisen sijaan päädyttiin suunnittelemaan kokonaan uusi prototyyppi, joka tukisi juuri semanttisen mallin avulla jäsenneltyä suunnitteluohjelmien tuottamaa suunnitteluaineistoa. M1-ympäristöä ei ole suunniteltu tukemaan suunnitteluohjelmien tuottamaa tietoa ja samalla teknologiat, joita voidaan käyttää konelaboratorion toteuttamiseen ovat kehittyneet. Selainohjelmistojen nopea kehitys on tuonut selaimen päteväksi ohjelmointialustaksi ja helpottanut katselimen luontia suunnitteluainoiston 3D-malleja ja 2D-kaavioita varten. Vuonna 2010 Firefox- ja Google Chrome (Chromium) -selaimet sitoituivat kehittämään selaimensa 3D-grafiikan suorituskykyiseen esittämiseen ja selaimet soveltuivat jo erinomaisesti SVG-kuvien katseluun sekä vuorovaikutteisuuden luontiin niihin. Suunnnitteluaineistosta saatiin jo projektin alkuvaiheessa generoitua selaimessa avautuvaa 2D- ja 3D-aineistoa. Vastaavasti M1:ssä niiden käyttäminen olisi vaatinut paljon lisätyötä. Tästä syystä päätettiin tehdä selaimesta pääkäyttöliittymä ohjelmaan. Semanttisen webin tekniikoita toteutetaan erityisesti toimimaan WWW-selaimissa ja WWWpalvelimissa. Projektissa tehdyt kokeilut kevyellä WWW-palvelimella, selaimen 3D-näyttimellä sekä M1:ssä havaittu SVG:n käsittelyn helppous selaimessa rohkaisivat jatkamaan kokeilujen perusteella toimiviksi havaittujen teknologioiden avulla konelaboratorion ominaisuuksien toteuttamista. 4.1.1. Eclipse-kehitysympäristö (Semogen Manager) Pilot-ympäristön prototypoinnissa tavoitteena on määritellä ja toteuttaa sellainen työympäristö, jossa eri suunnitteluohjelmistoista saatava tieto voidaan koota yhteen ja edelleen viedä ulos erilaisiin kohdesovelluksiin. Tavoitteena on, että ympäristö tukisi integroitumista moniin erilaisiin suunnitteluohjelmistoihin. Ympäristön avulla semanttista tietoa voitaisiin myös rikastaa. Sen tulisi tukea myös vientiominaisuuksien toteuttamista semanttisen tiedon viemiseksi erilaisiin kohdejärjestelmien tukemiin formaatteihin. Prototyyppi pilot-ympäristöstä on toteutettu Eclipse-sovelluskehyksen (http://www.eclipse.org/) ja sen tarjoamien perustoiminnallisuuksien ja -työkalujen avulla (kuva 4.1.1.1). Eclipse on pitkälle kehittynyt, vakaa, avoimen lähdekoodin sovelluskehys ja se perustuu joustavaan laajennusmekanismiin. Erilaisten dokumenttin katselu, muokkaaminen ja käyttö on ympäristössä hyvin tuettua. Laajennusten avulla sovelluskehystä voidaan laajentaa esim. Java, C/C++, Python ja C#-kehitysympäristöksi. Myös XML-tekniikoiden (XML, XSLT) käyttö on hyvin tuettua. Ryhmätyöominaisuuksia ja versionhallintaa varten kehys sisältää tuen CSV-versionhallintaan. Myös muiden versionhallintajärjestelmien tuki on saatavissa laajennusten avulla. 39 Kuva 4.1.1.1. Eclipse-kehitysympäristön hyödyntäminen pilot-ympäristön prototyypissä Semogen Manager ja Semogen Processor -toteutuksissa Pilot-ympäristön nykyisessä prototyypissä mallinnettavat tiedot jäsennetään Eclipseen projekteiksi. Kuhunkin projektiin sisällytetään siihen liittyvät resurssit. Projektien välille voidaan tarpeen vaatiessa myös luoda riippuvuuksia, esimerkiksi useissa projekteissa tarvittavien työvälineiden käsitteellistämiseksi. Yksittäinen projekti jaetaan edelleen käsitteellisesti useaan osa-alueeseen. Näitä osa-alueita ovat aktiviteetit (activities), kirjastot (lib), tiedonkäsittelyputkilinjat (pipelineprocessing) sekä näitä prosesseja tukevat työvälineet (tools). Sekä osa-alueet, että niiden sisältämät resurssit jäsennetään projektiin kansioina. Tällä tavoin tietoja voidaan mm. siirtää ja kopioida helposti projektien välillä pelkän resurssienhallinnankin avulla. Aktiviteetit ovat projektiin liittyviä prosessin osia. Kussakin aktiviteetissa toteutetaan jokin yksittäinen osa koko prosessia. Esimerkiksi hydrauliikan tai simulaation suunnittelu voidaan jäsentää aktiviteeteiksi. Jokaiseen aktiviteettiin liittyy sekä tiedollisia vaatimuksia sekä erilaisia resursseja. Aktiviteettiin liittyvät tiedolliset vaatimukset (requirement) kuvaavat aktiviteetin edellyttämät tiedotarpeet siihen tuotettavalta aineistolta. Esimerkiksi hydrauliikan suunnittelussa vaatimukseksi voidaan kuvata, että hydraulikaavioissa kuvataan komponentteihin liittyvät tunnisteet ja komponettien väliset yhteydet siten, että ne voidaan koneellisesti jäsentää kaaviosta. Kuhunkin aktiviteettiin liittyviä resursseja voidaan tunnistaa ainakin kolme erilaista tyyppiä: ulkoiset, generoidut ja käsin kuvatut resurssit. Aktiviteettiin liittyvät ulkoiset resurssit (external) ovat perusjärjestelmien, kuten Vertex HD, käyttämiä resursseja. Pilot-ympäristö ei tue näiden resurssien muokkaamista, vaan ne työstetään ympäristöstä ulkoisissa perusjärjestelmissä. 40 Generoidut resurssit (generated) ovat aineistoista automaattisesti tuotettuja, generoituja resursseja. Generointi on voitu tehdä joko suunnitteluohjelmistojen tuontitoiminnolla tai pilot-ympäristön tarjoamilla työvälineillä. Jos jonkin osa-alueen tuottaminen ei generointiprosessin avulla ole mahdollista tai kannattavaa, voidaan lisäksi hyödyntää käsin kuvattuja resursseja (mappings). Käsin kuvatut resurssit sisältävät täydennettyä tietoa mallista niiltä osin kuin tietoa ei ole muualta saatavissa. Nämä resurssit voidaan tuottaa esimerkiksi pilot-ympäristössä sen tarjoamien editorien avulla. Esimerkiksi hydraulikaavioon voidaan käsin kuvatuilla resursseilla täydentää tietoa siihen liitettyjen komponenttien ominaisuuksista, esim. simuloinnin tarpeisiin. Kirjastot (lib) täydentävät aktiviteetteihin liittyviä projektin resursseja. Kirjastoon voidaan sisällyttää aktiviteettien tavoin ulkoisista järjestelmistä tuotuja ja käsin kuvattua. Ajatuksena on, että kirjastoidut resurssit ovat käytettävissä useissa eri aktiviteeteissa - ts. kirjastoidut resurssit ovat projektin sisällä uudelleenkäytettäviä. Esimerkiksi komponenttitoimittajalta saatavat tarkat spesifikaatiot komponentin hydrauliikka ja simulointimallista voidaan liittää kirjastoon, jolloin niihin voidaan viitata sekä hydrauliikan että simuloinnin suunnitteluaktiviteeteista. Kirjastointia voidaan hyödyntää myös tiedon jakamiseen useiden projektien välillä määrittelemällä projekteille näiden välinen riippuvuus. 4.1.2. Tiedonkäsittelyn putkilinja (Semogen Processor) Generointiprosessit (pipeline-processing) kuvaavat prosessikohtaisesti vaiheittain ne toimenpiteet, jotka kyseiseen generointiin liittyvät. Vaihekuvaukset sisältävät mm. tiedon siitä, mitkä syötetiedot kuhunkin vaiheeseen liittyvät, mitä työvälineitä (tools) tarvitaan vaiheen suorittamiseen sekä minne vaiheeseen liittyvät tulostiedot sijoitetaan. Syötetietojen tarkistus voidaan suorittaa vaihekohtaisesti, jos siihen liittyvät tiedolliset vaatimukset on kuvattu. Kuva 4.1.2.1. Visualisointi sovellustapauksessa käytetystä generointiputkilinjasta Kuvassa 4.1.2.1 on visualisoitu sovellustapauksessa käytetty generointiputkilinja. Putkilinja koostuu yksittäistä, nimetyistä osatehtävistä (askeleista) sekä näiden välille kuvatuista riippuvuuksista. Putkilinjaan kuvatut tehtävät voidaan suorittaa joko kokonaisina tai askeleittain, kuitenkin siten, että kutakin askelta vastaavat riippuvuudet tulevat suoritetuiksi. 41 4.1.3. Semoplayer (Semogen Player) Pilot-ympäristön keskeinen osa on semanttista mallia käyttävä kevyt Semoplayer-ohjelmisto. Semoplayerin ohjelmistoarkkitehtuuri ja komponentit suunniteltiin tukemaan nopeaa konelaboratorion prototypointia. Näkymiä ja erilaisia käyttöliittymiä voidaan suunnitella erikseen model-view-controller-mallin mukaisesti tekemättä muutoksia muualla ohjelmassa tai asetustiedostoissa. Pilot-ympäristöä voidaan muuttaa ja sen osia voidaan vaihtaa tai lisätä ilman suuria muutoksia itse kirjoitettuun ohjelmakoodiin. Semoplayeriin liitetyt ulkopuoliset kirjastot ovat lisenssoitu avoimiksi ja itse Semoplayer julkaistaan ja lisenssoidaan avoimen lähdekoodin BSDlisenssillä. Semoplayer-prototyypin ideana on toteuttaa kuvan 4.1.3.1 mukaista arkkitehtuuria mahdollisimman paljon. Suunnitelmassa WWW-palvelin toteuttaa rajapinnan semanttiseen malliin. Simulaatio päivittää semanttiseen malliin tietoja komponenttien tilasta WWW-palvelimen kautta. Selain on yhteydessä WWW-palvelimeen ja voi sen kautta pyytää erilaisia simulaatioita ajettavaksi. Selaimesta voidaan myös WWW-palvelimen rajanpinnan kautta tehdä kyselyitä ja muokkauksia semanttiseen malliin. Kuva 4.1.3.1. Konelaboratorion osa-alueet ja niiden väliset yhtymäkohdat viestinkulkuineen Pääosin tämä malli toteutuu nyt kehitetyssä prototyypissä ja sen toteutuksen ongelmat on tunnistettu. Vision tekninen toteuttaminen vaatii ratkaisun muutamiin ongelmiin. Ratkaisematta on, miten simulaatio saadaan ajonaikana muutettavaksi, ja voidaanko tarjota usealle käyttäjälle eri simulaatiota yhdeltä palvelimelta vai pitääkö simulaatio ajaa asiakaskoneella reaaliaikasimulaation viiveen hallitsemiseksi ja laskennan hajauttamiseksi. Lisäksi semanttisia web-sovelluskehyksiä, 42 jotka toteuttaisivat semanttisen mallin päivitys- ja kyselyrajapinnan, ei ole tällä hetkellä olemassa. Täytyy myös huomata, että tällä hetkellä suunnitteluohjelmat tukevat hyvin heikosti semanttista mallinnusta ja niiden tuottama suunnitteluaineisto ei voida hyödyntää visualisoinnissa, koska hankkeen tavoitteet ja käyttötarkoitukset ovat uusia. Parhaimmillaan järjestelmä lukisi suunnitteluohjelmien tuottamia koneluettavia resursseja sellaisenaan ilman ihmisen suorittamia korjauksia. Semoplayer sisältää erittäin nopean, Tornado WWW-palvelimen (http://www.tornadoweb.org/). Tornado vastaa hyvin tarpeisiin jaella ja koostaa WWW-selaimella katseltavia käyttöliittymänäkymiä sekä vaatimukseen reaaliaikasimulaatiosta. Nopea vasteaika simulaation kanssa saavutettiin käyttämällä Tornadon tukemaa WebSocket-protokollaa. Semoplayerissa on semanttisen mallin kyselykieltä (SPARQL) käyttävä rajapinta, jonka avulla voidaan hakea tietoa semanttisesta mallista. Semoplayerin selainpohjainen Ajax-mallinen käyttöliittymä on toteutettu JavaScript-ohjelmointikielellä käyttäen useita valmiita vapaan lähdekoodin JavaScript-kirjastoja. Lisätietoa Semoplayerista löytyy sitä käsittelevästä julkaisusta (Salonen, Nykänen, Ranta, Nurmi, Helminen, Rokala, Palonen, Alarotu, Koskinen, Pohjolainen, 2011). 43 4.2. Sovellustapaus Yhtenäinen käyttöliittymä on luotu selaimeen, jossa 2D- ja 3D-visualisoinnit toimivat rinnakkain. 2D-visualisoinnit ovat SVG-kuvia, joiden tiedot ovat yhteydessä semanttiseen malliin ja jotka toimivat osana käyttöliittymää. 3D-visualisoinnit ovat X3D-malleja, jotka esitetään X3DOMnäyttimen avulla. X3DOM tarjoaa 3D-näyttimelle tarpeelliset ominaisuudet. 3D-maailmassa voi liikkua, kappaleita voi valita ja korostaa sekä 3D-malli on linkitetty osaksi muuta käyttöliittymää ja semanttista hakua. Sekä M1:stä ja Semogen pilot-ympäristöä toteutettaessa havaittiin Simulink-ohjelman rajoitteet luoda ajonaikana muutettavaa simulointimallia. Ensinnäkin simulointimallin muokkaaminen ja kääntäminen vaatii käytännössä aina Matlab- ja Simulink-ohjelmistojen lisenssit sekä paikallisen asennuksen. Kääntäminen muihin ympäristöihin kuin Windowsiin on käytännössä osoittautunut myös hankalaksi, sillä osa simulointimalleissa käytetystä ohjelmistokoodista on alustariippuvaista. Konelaboratorioiden jakelun ja opetuskäytön kannalta olisi eritiysesti toivoittavaa, että simulointimalleja voitaisiin ajaa Linux- ja Unix-palvelimella. Käännettyihin Simulink-mallien palvelinkäyttö on myös muutoin osoittautunut haastavaksi. Esimerkiksi simulointimallien käyttämät portit (TCP, UDP) joudutaan kovakoodaamaan käännöstä varten, mikä käytännössä estää saman simulaation usean kopion ajon rinnakkain palvelinympäristössä. Konelaboratoriossa on tarve tarkastella erilaisia toimintojen kokonaisuuksia (esim. puomin nosto). Näitä toimintoketjuja tai edes komponentin yksittäisiä toimintoja ei ole kuvattu suunnitteluaineistossa. Siksi toimintoja ja toimintoketjuja kuvaava semanttinen tieto lisättiin käsityönä osaksi semanttista mallia. Toimintoketju on mallinnettu tietokoneluettavaan muotoon määrittelemällä sille malleja ja ontologioita. Toiminnot mahdollistavat toisia toimintoja ja muodostavat toimintojen verkon. Toimintojen verkossa kuljetut polut muodostavat lopulta toimintoketjun. Koska toimintoketjun jokainen toiminto liittyy aina komponenttiin, voidaan toimintoja tarkastella myös komponenttien vuorovaikutusketjuna. 4.2.1. Käyttöliittymä Selaimeen toteutettu käyttöliittymä on vuorovaikutteinen käyttäjän näkymä suunnitteluaineistoon ja semanttiseen malliin. Se pyrkii esittämään semanttisessa mallissa olevan suunnittelutiedon välisiä yhteyksiä käyttäjälle. Esimerkiksi komponenttia voidaan tarkastella 2D- ja 3D-visualisoinnista ja hakea siitä tietoja. Semanttinen haku mahdollistaa navigoinnin järjestelmän suunnitteluaineiston avulla valitsemalla hiirellä haluttu komponentti tai valitsemalla komponentteja valmiiden kategorioiden mukaan. Seuraavaksi esitellään lyhyesti keskeisimmät käyttöliittymän toiminnot selainnäkymästä otettujen kuvakaappausten avulla. 44 Kuva 4.2.1.1. Näkymä katselinohjelmiston käyttöliittymästä. Vasemmalla hydraulikaavio, oikealla puomin 3Dmalli. Hydraulikaaviosta on valittu ohjausventtiili (keltainen korostus) . Valitsemalla hiirellä komponentti 2D- tai 3D-visualisoinnista voidaan tulostaa semanttisesta mallista komponenttiin liittyvää tietoa (keskellä). Esimerkiksi CAN-väylä ja siinä olevat CAN-komponentit on visualisoitu ja visualisointi voidaan avata käyttöliittymässä (kuva 4.2.1.2). Haulla voidaan hakea kaikki CAN-komponentit listana ja korostuksella kertoa, mikä komponentti on visualisoinnissa, kun hiiri viedään sen nimen päälle. Taulukossa on signaalin tunniste, nimi sekä määränpää- ja lähtönodet listattuna. 45 Kuva 4.2.1.2. CAN-signaalien taulukkolistaus ja visualisoitu CAN-väylä. Komponenttikuvien lähdetiedot sijoitettu lähdeluetteloon Vastaavaa tarkastelua voidaan suorittaa hydrauliaineistolle (kuva 4.2.1.3). Katseltavan kaavion voi valita malliin liittyvistä aineistoista. Kuva 4.2.1.3. Hydrauliosat taulukoituina ja oikealla avattuna hydraulikaavio Semanttiseen malliin rikastettua toimintoketjua voidaan tarkastella käyttöliittymässä graafina, jossa käyttäjä saa edetä toimintoa edustava solmu kerrallaan eteenpäin. Jokainen toiminto liittyy komponenttiin ja komponentti korostuu kaaviossa kun hiiri viedään graafin solmun päälle (kuva 4.2.1.4). 46 Kuva 4.2.1.4. Käyttäjä on edennyt neljä askelta graafissa, jolloin seuraava toiminto paljastuu ketjusta. Oikealla hydraulikaaviossa korostettuna osa, johon toiminto liittyy. Opetuskäytössä käytettävistä mittaustyövälineistä toteutettiin piirturi. Simulaatiolta tulevia arvoja voidaan tarkastella ja tietyn valitun arvon käyttäytymistä voidaan seurata piirturissa ajan suhteen (kuva 4.2.1.5). 47 Kuva 4.2.1.5. Simulaatiolta tulevat mittausarvot taulukoituina. Valittu arvo esitetään piirturissa. 48 5. Tiedotus ja liiketoimintahyödyt Kirjoittanut Pekka Ranta 5.1. Tiedotus Semogen-hanke edustaa uutta avausta, jonka tulokset liittyvät laajemminkin teollisuuden virtuaaliympäristöjen hyödyntämiseen osaamisen kehittämisessä, tutkimus- ja tuotekehityksessä, suunnittelussa ja laajemmin jälkimarkkinointipalveluissa. Hankeen tuloksista tulee tiedottaa aktiviisesti. Tämä on myös rahoittajan kanta. Hankkeen tiedotustavoitteiksi määriteltiin: Viestiä sidosryhmille virtuaalisten konelaboratorioiden mahdollisuuksista sekä herättää laajempi kiinnostus näiden mahdollisuuksiin. Muodostaa kriittinen massa virtuaalisten konelaboratorioiden hyödyntäjistä. Korostaa uutta avausta konejärjestelmien suunnitteluprosessien kehittämiseen virtualisoinnin ja digitaalisen tuoteprosessin avulla. Tuotantomenetelmien kehitys on edellytyksenä laajempaan ja kustannustehokkaaseen levitykseen. Tukea rahoittajan tahtotilaa innovaation kaupallistamiseen sekä levitykseen. Tukea II vaiheen rahoitushakua sekä innovaation jatkokehittämistä. Tiedotuksen keskeisinä kohderyhminä ovat koneenrakennussuunnittelijat koulutusorganisaatioiden johto, rahoittajat ja yritysosapuolet. ja -johtajat, Tiedotus on painottunut hankkeen loppuun. Hankkeen tiedotustoimenpiteet: Hankkeesta on toimitettu lehdistötiedote suomalaisiin tiedotusvälineisiin 15.9.2011 TTY:n tiedotuksen avulla. Vertex Systems Oy:n asiakaslehdissä on esitelty kahteen otteeseen hanketta. Konejärjestelmien järjestelmäsuunnittelun standardointiyhteisöä tavoitettiin CAN in Automation -standardointiehdotuksen avulla. Tiedeyhteisö on tavoitettu useissa konferenssi- ja lehtiartikkeleissa. Fluid Power Hankkeesta on kerrottu useaan otteeseen konsortion henkilöstölle sekä työpajojen ja tapaamisten avulla Teknologiateollisuuden 100-vuotissäätiön hallitukselle on esitetty hanketta kahteen eri otteeseen. TEKES-edustajat ovat myös tietoisia hankkeesta. Suunnitteilla on TEKES-yhteissseminaari, jossa myös Semogen-hankkeen tuloksia esitellään. Hankkeen wiki-sivu. https://wiki.tut.fi/SmartSimulators/Semogen, josta löytyy hankekuvaus sekä hankkeen tulosaineistot. Hankkeen tulosten käyttöoikeuksissa on hyödynnetty avoimen lähdekoodin periaatteita. Kehitetyt ohjelmistot julkaistaan BSD-lisenssoituna (Berkeley Software Distribution-licence), joka on vapaa ohjelmistolisenssi ja yksi käytetyimmistä avoimen lähdekoodin lisensseistä. Hankkeen dokumentit kuten tämä loppuraportti julkaistaan Creative Commons -lisenssein. Hankkeen tulosaineistot jaellaan wiki-sivuston kautta. 49 5.2. Liiketoimintahyödyt Yrityskumppanit toimivat aktiivisesti Semogen-hankkeessa. Keskeisinä työtapoina ovat ohjausryhmätyö, raportoinnit, työpajat sekä tapaamiset. Hankkeessa kartoitettiin yritysosapuolten näkemykset hankkeen hyödyistä. Ne jakautuivat neljän pääteeman alle: Semanttisen prosessin osaamisen hyödyt Osataan tuottaa suunnitteluprosesseja tehokkaammin ja pienemmin kustannuksin. Kustannussäästöt esim. simulointimallien hyödyntämisestä suunnittelun tarpeisiin Osataan jo suunnitteluvaiheessa ottaa huomioon liiketoiminnan muita prosesseja esim. huoltoliiketoimintaa tukevia prosesseja, kuten älykkäitä koulutustuotteita, varaosakirjoja, vianetsintäohjeita jne. Malli mahdollistaa tulevaisuudessa tuotekehitysprosessien tehostamisen. Suunnittelun ja teknisen informaation yhteistyön kehittyminen Projektin hallinnointi - dokumentaation liittäminen virtuaaliympäristöön, esim. simulink mallien käyttö osana määrittelydokumentaatiota Kunnossapito - elinkaarenhallintatiedon integrointi ko. ympäristöön - huoltotiedon lisääminen konemalliin, komponenttien kuormitusten esittäminen virtuaalikoneessa, varaosavaihdon suunnittelu ja ohjeistaminen Semogen-hanke sisältää kokonaan uudenlaista suunnittelun ja tuotehallinnan ajatusfilosofiaa - sen toteutuksessa käytetään novelleja ohjelmistotyökaluja ja –rajapintoja. Liiketoiminnalliset hyödyt Hankkeessa syntyy prototyyppi prosessista, josta on jatkojalostettavissa yrityksemme palvelutuotteiksi R&D - Suoraviivaisempi ja tehokkaampi konejärjestelmien kehitystyö Virtuaalinen konseptointi – teknologiaratkaisujen tehokas analysointi ja vertailu, esim. puomirakenteet ja liittyvät ohjausjärjestelmät Tuotekehitys - korkean tason toiminnallinen kuvaus konejärjestelmistä Tuotanto - kokoonpanovaiheiden kuvaaminen tehdyn virtuaalimallin pohjalta, nykyisin erikseen tehtävä ohjeistus Kunnossapito - elinkaarenhallintatiedon integrointi ko. ympäristöön - huoltotiedon lisääminen konemalliin, komponenttien kuormitusten esittäminen virtuaalikoneessa, varaosavaihdon suunnittelu ja ohjeistaminen Kokonaisprosessi suunnittelusta simulaatioon ja älykkäisiin lopputuotteisiin, joita hyödynnetään huoltoliiketoiminnassa. Esimerkiksi älykkäät varaosakirjat, koulutusmateriaalit ja huolto-ohjeet Yrityksemme haluaa olla ensimmäisten joukossa, jotka luovat uusia liiketoimintamalleja hyödyntämällä tätä mallia. Semanttisen mallin hyödyntäminen antaa mahdollisuuksia kehittää uutta palveluliiketoimintaa tekniseen informaatioon ja suunnitteluun. Uudesta suunnitteluprosessista lisäarvoa asiakkaidemme huoltoliiketoiminnalle 50 Tuotanto - kokoonpanovaiheiden kuvaaminen tehdyn virtuaalimallin pohjalta, nykyisin erikseen tehtävä ohjeistus Koulutuksen ja osaamisen kehityksen hyödyt Lisää mahdollisuuksia vianhaun koulutukseen, joka käytännössä on hyvin vaikea toteuttaa Mahdollisuus itsenäiseen työskentelyyn, jolloin kouluttaja vapautuu paremmin muiden ryhmien käyttöön Uusi, mielenkiintoinen tapa opiskella hydrauliikkaa. Operaattorien osaaminen- käyttökelpoisia komponentteja koulutussimulaattoreihin Hanke antaa uusia ulottuvuuksia kehittää esim. verkkokursseja ja työkaluja osaamisen testaamiseen. Markkinointi ja imagohyödyt Parantaa yrityksen brändiä ja yrityskuvaa Uuden osaamisen avulla voimme erottua kilpailijoista ja saada uusia asiakkaita Tuotekehitysprosessien tehostaminen parantaa asiakkaidemme kilpailukykyä ja se mahdollistaa yrityksellemme uutta liiketoimintaa Sisäinen markkinointi - uusien ajatusten esittäminen Ulkoinen markkinointi - yksityiskohtaisesta mallista irrotettavissa edustavaa materiaalia markkinoinnille, videota ja kuvakaappauksia Ajateltaessa hankkeen tulosten hyödyntämistä ja sen jälkeen kaupallistamista, lienemme tässä vaiheessa vielä koe- ja soveltamisympäristöjen käytössä. Tärkeintä nyt on saatujen tulosten laaja-alaisempi levittäminen ja disseminaatio. Tämän kautta saadaan laajempaa asiakaskokemusta ja koulutuksen kautta asiantuntijaosaamista. Vasta tämän jälkeen meillä on oikeat ja realistiset mahdollisuudet esim. uusiin kaupallisiin suunnitteluohjelmistoihin. Tästä syystä näenkin suurena vaarana, että hyvin alkanut kehitystyö keskeytyy liian aikaisin kaupallistamisen näkökulmasta. Voidaan todeta, että yrityskonsortio tunnistaa hankkeessa kaupallista potentiaalia. Semanttinen prosessi ja virtuaalinen konelaboratorio ovat varsin uusia tutkimusalueita, joten perustutkimusvaihe pitää huolellisesti toteuttaa. Tämän tiedon päälle on mahdollista kehittää soveltavaa tutkimusta. 51 5.3. Kaupallistamismalli Hankkeen tavoitteisiin kirjattiin tuotantomenetelmien ja teknologioiden kaupallistaminen. Hankkeen kuluessa vahvistui käsitys, että kyseessä on perustutkimus, jonka tulokset on mahdollista kaupallistaa soveltavamman tutkimus- ja yrityskohtaisten projektien avulla. Ohjausryhmä totesi, että kaupallistaminen siirretään seuraavaan vaiheeseen. 52 6. Johtopäätökset Kirjoittanut Pekka Ranta, Kari T.Koskinen ja Seppo Pohjolainen Semogen-tutkimushankkeen keskeinen haaste oli kehittää menetelmiä ja malleja käsityön vähentämiseksi virtuaalisten konelaboratorioiden rakentamisessa. Esimerkiksi hydrauliikkakaavion visualisointi konejärjestelmän toiminnan havainnollistamiseksi vaati asiantuntijalta suuren käsityön, vaikka lähdeaineisto oli digitaalisena. Vastaava tilanne koski monia muita teknologia-alueita. Lisäksi konejärjestelmän moniteknisten toimintaketjujen aineisto piti kokonaisuudessaan tuottaa käsin puhumattakaan järjestelmän simulointimallista. Automatisoinnille oli selkeä tilaus. Nämä haasteet ohjasivat etsimään ratkaisuja uusista lähestymistavoista, menetelmistä sekä näkökulmista. 6.1.Viitekehys Hankkeen keskeinen oivallus liittyi informaation prosessoinnin teoreettisen viitekehyksen ja edelleen semanttisen mallinnuksen hyödyntämiseen konejärjestelmän kokonaisvaltaisessa mallinnuksessa. Hypermediassa nämä ovat luontaisia lähestymistapoja. Pelkällä viitekehyksellä tai mallinnusmenetelmällä ei saavuteta läpimurtoa, jos ei ole syvällistä konejärjestelmien osaamista ja suunnitteluaineistojen ymmärrystä. Tähän koneenrakennuksen - kuten hydrauliikan ja automatiikan - tieteenalat tuovat vahvan perustan. Näiden moniteknisten tieteenalojen avulla voitiin rakentaa mallinnusmenetelmä, jossa eri teknologioiden suunnitteluinformaatio virtaa sovittimien välityksellä kohti konejärjestelmän linkittynyttä kokonaismallia eli koneellisesti käsiteltävää formaalia semanttista mallia. Tätä kutsutaan putkilinjastoksi (pipeline). Semanttinen malli ja hankkeessa kehitetyt mallinnus- ja simulointimenetelmät tukevat simulointimallin semiautomaattista generointia. On huomioitava, että kaikkea mallinnuksessa tarvittavaa informaatiota tai algoritmeja ei voida automaattisesti prosessoida, koska tämä edellyttää konejärjestelmän syvällistä mallinnusosaamista. Lisäksi mallinnusmenetelmä tarjoaa ratkaisumallin suunnitteluinformaation rikastamiseen loppukäyttäjien tarpeiden perusteella. 53 6.2.Suunnittelumalleista Hankkeen alkuvaiheessa havaittiin, että suunnitteluaineiston eheydessä, rikkaudessa sekä erityisesti koneen käsiteltävyydessä on kehittämistä. Suunnittelukäytäntöjen mallinnuksessa nousi esiin havainto, että suunnittelijat suunnittelevat luonnollisesti tuotantoa varten ja tuottavat määrityksiä muille suunnittelijoille. Tämä aineisto on pääosin digitaalista, mutta osa informaatiosta siirtyy keskustelujen, muistioiden ja yhteisten käytäntöjen välityksellä. Semanttisen mallinnuksen kannalta tilanteen tekee haasteelliseksi se, että kone ei pysty käsittelemään tällaista tietoa, koska se ei ole tuotettu tarvittavalla formaatilla ja syntaksilla. Aikaisemmin teollisuudessa oli asiantuntijarooli normitarkastaja-, jonka vastuulla oli suunnittelutiedon eheyden, säännönmukaisuuksien ja käytänteiden seuranta. Tämä rooli on siirtynyt suunnittelijoiden vastuulle. Moniteknisen tiedon validoinnin, yhteensopivuuden sekä kattavuuden hallintaan tarvittaisiin uusi rooli –teknisen tiedon hallinnan suunnittelija (knowledge engineer). Hänen roolinsa tukisi suunnittelua siten, että monitekninen tieto olisi suunnittelunormiston mukaista sekä koneluettavaa. Luonnollisesti roolin työtä tukisi mahdollisimman saumattomat rajapinnat eri suunnitteluohjelmien välillä. Hankkeessa mallinnettiin suunnittelijoiden työnkuvausten perusteella semanttinen prosessimalliehdotus, jossa luonnolliseen suunnitteluprosessiin kiinnitettiin semanttisen mallinnuksen vaatimuksia. Hankkeessa tunnistettiin seuraavat luonnolliset suunnitteluosa-alueet, jotka tulisi huomioida semanttisessa prosessimallissa: konsepti-, mekaniikka-, hydrauliikka-, sähkö, automaatio- ja ohjelmistosuunnittelu sekä virtuaaliprototypointi. Semanttinen prosessimalliehdotus toimii eräänä lähtökohtana kehittyneempien suunnittelumenetelmien kehityksessä. Parhaimmillaan semanttinen suunnitteluprosessi sovitettuna yrityksen omiin prosesseihin luo toimintamallin, joka tarjoaa suunnittelutiimille yhtenäisen tavan tuottaa, tallentaa, kommentoida, jakaa sekä visualisoida suunnitteluaineistoa suunnitteluvaiheen mukaisesti. Tämä mahdollistaisi moniteknisen järjestelmän iteratiivisen ja holistisen tarkastelun ja suunnittelumallien virtuaalisen visualisoinnin sekä prototypoinnin käyttäjäystävällisellä tavalla. Ohjelmistotuotannossa vastaavat ajatukset ovat helpottaneet virheiden havaitsemista jo varhaisessa vaiheessa sekä vähentänyt kommunikaatioongelmia ja dokumentaation tarpeen määrää. 54 6.3. Semanttinen mallinnuksen teknologiat Semanttisessa mallinnuksessa hyödynnettiin työvälineitä, ohjelmistoja sekä sovelluskehyksiä, jotka on saatavilla varsin yleisesti. Nämä on listattu väliraportissa luvussa 3. .Hankkeen tulosten perusteella voidaan suuntaa-antavasti todeta, että työvälineet, ohjelmistot ja sovelluskehykset vaikuttavat lupaavilta. Virtuaalinen konelaboratorioprototyyppi saatiin lisäksi toimimaan selainteknologioilla, joka tarjoaa virtuaaliympäristön jakamisen yhteisöllisesti. Selainteknologioiden avulla voitiin ajaa reaaliaikasimulointia sekä visualisoida simuloituja signaaleja varsin pienellä aika-askeleella. Nämä teknologiat tuovat merkittäviä säästöjä ohjelmistokoodin määrään sekä yhteensopivuuteen. Prototyypistä saatujen kokemusten perusteella, voidaan todeta, että teknologiat vaikuttavat soveltuvan varsin hyvin virtuaalisen konelaboratorion rakentamiseen. Haasteena on suunnitteluaineistojen rajapinnat, sillä mallien visualisointiin tarvittavaan ohjelmistoon piti rakentaa informaation yhdistelyn, muokkauksen ja täydentämisen ohjelmistoja. Täydellisessä maailmassa data virtaisi saumattomasti standardirajapintojen välityksellä putkilinjastoa pitkin semanttiseen ja simulointimalliin. Visualisointitarpeiden mukaan haetaan tarvittava informaatio, joka yhdistellään mielekkäiksi näkymiksi päätesovelluksessa. Rajapinnat ovat olennainen osa ohjelmistoja. Hankkeen suurin resurssi kului suunnittelutietoformaattien sekä niiden rajapintojen tutkimiseen ja ratkaisujen määrittämiseen. Hankkeen alussa määritelty integroitu ohjelmistokehys ja semanttisen mallinnuksen työvälineet osoittautuivat varsin toimiviksi. 55 6.4. Tuotetiedon hallinta Tuotetieto ja digitaalinen tuoteprosessi näyttelee keskeistä osaa hankkeen isossa kuvassa. Mikäli suunnitteluprosessissa muodostunut tuotetieto tallennetaan semanttisesti rikkaalla tavalla tuotetietojärjestelmään (PDM tai PLM), voitaisiin tätä hyödyntää konkreettisten suunnitteludokumenttien rinnalla. Tuotetietoon liittyvät nimikkeen hallintaprosessi ja nimikkeen hallintajärjestelmät. Semanttisen mallinnuksen kannalta tämä tarkoittaisi järjestelmällistä nimikkeiden hallintaa. Konkreettinen esimerkki liittyy hydrauliikan suuntaventtiiliin. Täsmälleen samalla tuotetiedolla ja tunnisteella varustettu komponenttia hyödynnetään useassa toiminnossa. Näin ollen pelkkä yksilöivä tunniste ei riitä, vaan edellytetään kokonaisvaltaisempaa nimeämistä ja nimiketiedon hallintaa. Mikäli tätä ei toteuteta, ei moniteknistä komponenttitietoa sitoa muihin teknologioihin, visualisointeihin tai näkymiin. Kokonaisvaltainen suunnittelutiedon hallinta edellyttää järjestelmällisyyttä, prosessikuvauksia sekä tiedon hallinnan järjestelmiä sekä informaation digitaalista jakelua tukevia rajapintoja. Yksityiskohtaisemmin ja teknologia-alueittain tarkasteltuna tulokset osoittivat suunnitteluaineistoissa varsin suuria eroja. Erityisesti automaatiosuunnitteluun liittyvän järjestelmäsuunnittelun CANopen (CiA) -standardeihin perustuvat aineistot ja ohjelmistot edustavat suuntaa, joka tarjoaa semanttisesti hyödynnettävän lähdeaineiston. Hankkeessa kehitetty CiAstandardointiehdotus väyläsolmujen GraphML(XML)-pohjaisesta listaustiedostosta CANopenjärjestelmiin edustaa suuntaa, jonka kaltaisia suunnitteluaineistojen tulisi tulevaisuudessa olla. Tässä ehdotuksessa on pystytty rakentamaan yhteys eri teknologioiden välillä. Lisäksi rakenteisiin dokumentteihin (XML, SVG) perustuvat aineistot vaikuttavat asianmukaiselta perussuunnalta.Semanttisessa mallissa hyödynnetään RDF-kuvauskehystä ja syntaksia. Luonnollisesti suunnitteluaineistojen rajapintojen mahdollisimman hyvä yhteys RDF-perustaiseen mallin prosessointiin toisi merkittäviä lisäarvoja. Näin voitaisiin välttyä ylimääräisten sovittimien kehittämiseltä.Suunnitteluohjelmistoissa esim. Vertex ED, HD ja G4 on käytössä kuvailutiedon lisäysmahdollisuus sekä asianmukaisia komponenttikirjastoja. Havaintojemme mukaan toimialalla ei ole vielä vallitsevia suunnittelukäytäntöjä, jotka korostaisivat kuvailutiedon järjestelmällistä käyttöä sekä tuotetiedon kirjastointiratkaisuja. Mikäli komponentit sekä niiden mallit ja tuotetieto esimerkiksi simulointi-, 3D-, rakennemallit olisivat kirjastokomponenteina liitettävissä osaksi suunnitteluratkaisuja, semanttinen prosessi helpottuisi merkittävästi. 56 6.5. Simulointipohjainen suunnittelu Simulointiperustainen suunnittelu on teollisuuden eräs vahva trendi. Lentokoneteollisuuden toimialalla koneeen ja järjestelmien simulointimalli rakennetaan suunnittelun alkuvaiheessa, ja malli tarkentuu suunnittelun edetessä. Semogen-hankkeessa simulointimallin semiautomaattisessa generointiin löytyi ratkaisuja, joiden avulla simulointimalleja voitiin kirjastoida sekä hyödyntää semanttista mallia parametrisoinnin, yhteyksien kuvaamisen ja nimeämisen määritelyissä. Simulointimalli rakennettiin modulaariseksi, jolloin matemaattisia malleja voitiin liittää perusmalliin. Näin ollen simulointimalli on laajennettava, muokattava sekä hallittavissa. Täysin automaattista generointia on erittäin haastava toteuttaa, koska suunnittelijoiden substanssiosaamisen perusteella voidaan malleja verifioida. 6.6. Virtuaalisen konelaboratorion teknologiat Sekä M1-teknologioilla rakennettu virtuaalinen konelaboratoriota sekä Semogen-hankkeen pilotympäristöä toteutettaessa havaittiin Simulink-ohjelman rajoitteet simulointimallin luonnissa. Ensinnäkin, simulointimallin muokkaaminen ja kääntäminen vaatii aina Matlab- ja Simulinkohjelmistojen lisenssit sekä paikallisen asennuksen. Kääntäminen muihin ympäristöihin kuin Windowsiin on käytännössä osoittautunut myös hankalaksi, sillä osa simulointimalleissa käytetystä ohjelmistokoodista on alustariippuvaista. Konelaboratorioiden jakelun ja opetuskäytön kannalta olisi erityisen toivottavaa, että simulointimalleja voitaisiin ajaa Linux- tai Unix-palvelimella. Toiseksi, simuloinnista ei voida esittää kuin reaaliaikasimulaatiota. Tunnistettua tarvetta ajonaikana muutettavasta simulointimallista, jossa voidaan esimerkiksi toistaa hidastettuna tietty toiminto, ei voida helposti toteuttaa ohjelmistojen avulla. Ohjelmistojen näkökulmasta hankkeessa kehitetttyä pilot-ympäristöä on mahdollista ajaa palvelinkoneella, jolloin sitä voidaan käyttää selainohjelmien avulla verkon yli, mutta tällä hetkellä Simulink-pohjainen simulaatio soveltuu tähän huonosti. Lisäksi hankkeessa kehitetyn pilotympäristön näytinohjelma Semoplayer ei ole tietoturvamielessä valmis ajettavaksi julkiseen Internetiin näkyvänä palveluna. Lisäksi asiakas-palvelin-mallinen toteutus vaatisi simulaation kääntämistä Linux- tai Unix-ympäristössä ajettavaksi. Semoplayerin muut osat ovat jo käyttöjärjestelmäriippumattomia. Jos suunnitteluohjelmat tuottavat simulaation ja yhtenäisen semanttisen mallin koneesta, suunnittelutyön aikana kokonaisuuksien hallinta korostuu. WWWpalvelin hyödyntää luotuja resursseja ja tarjoaa erilaisia näkymiä selaimeen, johon käyttöliittymä on toteutettu. WWW-palvelin voi jakaa esimerkiksi suunnitteluryhmälle heidän suunnittelutyönsä mukaista konelaboratorionäkymää, jota voidaan iteroida ja käyttää ketterän koneensuunnittelun apuna. 57 6.7. Hyödyt, vaikuttavuus ja tulevaisuuden näkymät Semogen-hankkeen tuloksilla on merkitystä teollisuuden moniteknisen tuotetiedon hallintaan, tuotantoprosesseihin sekä elinkaaritiedon hallintaan. Lisäksi yhteys simulointiavusteiseen tuotekehitykseen ja suunnitteluun on ilmeinen. Vaikuttaa siltä, että menetelmien ja teknologioiden hyödyt korostuvat moniteknisten suunnitteluratkaisujen ajantasasaisessa tarkastelumahdollisuudessa sekä simulointi- ja visualisointimahdollisuuksissa. Vaikutukset heijastuvat välillisesti alan koulutukseen, suunnittelumenetelmiin, suunnitteluohjelmistojen ominaisuuksiin, suunnittelutiedon kattavuuteeen ja eheyteen, rajapintoihin sekä tuotteen elinkaaritiedon käyttötapoihin. Valitettavasti hankkeen tulosten vaikutusten tieteellistä vertailua ja vaikuttavuusarviota nykysuunnitteluprosesseihin ei ollut mahdollista resurssihaasteiden vuoksi toteuttaa, joten hyöty ja vaikuttavuusarviot perustuvat subjektiivisiin ja teollisuuskumppanien arvioihin Teknologiateollisuuden 100-vuotissäätiön hallitus tunnisti hankkeen merkityksen tuotteiden t&k- ja suunnitteluprosessin ”sähläyskustannusen” vähennysmahdollisuutena. Mikäli moniteknisen tiimin jäsenet keskittyvät omaan teknologia-alueeseen puutteellisella kokonaiskuvalla, yhteensopimattomilla dokumenteilla, puutteellisella tuotedokumentti-informaatiolla sekä vaihtelevilla suunnittelu- ja kommunikaatiokäytännöillä, heijastusvaikutukset suunnitteluprosessiin kokonaishallintaan ovat ilmeiset. Lisäksi yhteisten suunnitteluratkaisujen ulkoistusten (esim. prototyyppi tai simulaattori) avulla tehtyjen kokonaisarvion puute luo liian pitkän ”pimeän” vaiheen, jolloin suunnitteluratkaisu joudutaan iteroimaan jopa perusteista asti. Kokeneet suunnittelijat pystyvät hallitsemaan kompleksisia ratkaisuja pidempään ilman konkretisointia. Usein suunnitteluun osallistuu eri kokemus- ja koulutustason osaajia, jolloin konkreetisten yhteissuunnittelunäkymien tiheälle tarkastelulle on selkeä tarve. Tuotetuen dokumentointiprosessia esim. varaosakirjat, koulutusaineistot ja osaluettelot voidaan tukea merkittävästi, mikäli Semogen-tulosaineistojen menetelmiä ja periaatteita hyödynnetään. Tämä vähentää merkittävästi informaation uudelleen kuvausta ja saumatonta etenemistä. Parhaimmillaan tuotetuen dokumentaation rakentaminen etenisi suunnitteluprosessin rinnalla. Vallitsevien käytäntöjen mukaan tämä tuotetaan usein jälkikäteen ja lähdeinformaatiota pitää tuottaa uudestaan erilaiseen käyttötarkoitukseen. Mikäli t&k- sekä suunnitteluvaiheissa huomioidaan myös tuotetuen tarve, voitaisiin kehittää samanaikaisesti fyysiset sekä informaatiotuotteet. Semogen-hankkeen tulosten perusteella voidaan karkeasti päätellä, että ensimmäisellä ja toisella suunnitteluiteraatiolla Semogen-menetelmien, -mallien ja -teknologioiden soveltaminen lisää suunnittelutaakkaa, mutta seuraavien iteraatioiden kohdalla merkitys vaiheittain korostuu, koska koneluettavuus, uudelleen käytettävyys, yhteensopivuus, informaation validius ja kommunikaatiomenetelmät tarjoavat lisäarvoja. Tuotteen elinkaaren hallinnassa em. ominaisuudet voidaan nähdä välttämättöminä. Tämä luo ketteryyttä ja automatisointija räätälöintimahdollisuuksia. Tulevaisuudessa voidaan tavoitella semanttiseen prosessiin liittyvää virtuaalista konelaboratoriota, joka tarjoaa integroidun suunnittelunäkymän, mittaus- ja testausvälineitä, reaaliaikaisia simulointimalleja, semanttisia hakuja, tehtävä- ja toimintaympäristöeditorin, lisätyn virtuaalitodellisuuden havainnollistuksia sekä suunnittelutiedon eheyttä tarkastelevia validaattoreita tuotteen elinkaaritiedon avulla. Tähän voidaan integroida kunnonvalvontainformaatioa ja 58 laajemminkin tuotetuki-informaatiota, jolloin suunnitteluratkaisuihin saadaan takaisinkytkentä sekä tarkka ja yhteensopiva palaute, jolloin seuraava tuoteversio tai geneerisemmin tuoteperheversio kehittyy. 6.8. Yhteenveto Loppupäätelmänä voidaan todeta, että hankkeen tavoitteet on saavutettu pääosin. Lisäksi määriteltyjä käyttötapakuvauksia on pystytty toteuttamaan. Hankkeen alkuperäinen yleistavoite virtuaalisen konelaboratorion tuotantomenetelmien kehitys semanttisen mallin avulla on luonut uusia mahdollisuuksia. Pilot-ympäristössä olevat koulutusominaisuudet eivät ole täysin vastaavia kuin aiemmissa sovelluksissa, mutta periaatteet soveltuvat myös koulutussovellusten kehitykseen. Semogen-hankkeen tulokset loivat perustan jatkohankkeille, josta on suunnitteilla ainakin Semogen II Virtuaalinen konelaboratorio ja semanttinen mallinnus konejärjestelmän suunnittelun tukena. 59 Lähteet AutomationML. Saatavilla http://www.automationml.org/ Burmester S., Giese H., Gambuzza A., Oberschelp O. (2004). Partitioning and modular code synthesis for reconfigurable mechatronic software components. Proceedings of European Simulation and Modelling Conference (ESMc’2004), Paris, France, pp. 66-73. Crusca, F., Aldeen, M. (2003). Simulink-based Modular Modeling of Power Systems for Faultdetection Studies. Proceedings of the 6th International Conference on Advances in Power System Control, Operation and Management, APSCOM 2003, pp. 262-267. CAN in Automation. Saatavilla www.can-cia.org) Digitaalinen tuoteprosessi. TEKES. Saatavilla http://www.tekes.fi/ohjelmat/DTP/ Helminen, M., Palonen, T., Rokala, M., Ranta, P., Mäkelä, T., Koskinen, K. T. (2011). Virtual Machine Laboratory based on M1-technology. Proceedings of the Twelfth Scandinavian International Conference on Fluid Power, vol. 1, pp. 321-334. May 18-20, 2011, Tampere, Finland. Humaloja, J.-P. (2011). Komponenttipohjaisten simulointimallien matematiikka. Imagine S.A. (2004). AMESet Version 4.2 Documentation. Knoernschild, K. (2011). http://www.kirkk.com/modularity/about/ Modular Architecture. Saatavilla: Norton, R.L. (2006). Machine design: an integrated approach. Pearson/Prentice Hall. Nykänen, O., Salonen, J., Markkula, M., Ranta, P., Rokala, M., Helminen, M., Alarotu, V., Nurmi, J., Palonen, T., Koskinen, K., & Pohjolainen, S. (Accepted). What Do Information Reuse and Automated Processing Require in Engineering Design? 2011. Journal of Industrial Engi-neering and Management. Nykänen, O. (2010a). Semogen Semantic Process: Data Processing Aspect. Semogen project technical document. (Ks. liite A) Nykänen, O. (2010b). Semogen Semantic Process: Asserting and Validating Information Requirements. Semogen project technical document. (Ks. liite B) Ozpineci, B., Tolbert, L. (2003). Simulink Implementation of Induction Machine Model - A Modular Approach. Proceedings of Electric Machines and Drives Conference, 2003 (IEMDC'03), pp. 728736. PLC Open, Saatavilla http://www.plcopen.org/, Salonen, J., Nykänen, O., Ranta, P., Nurmi, J., Helminen, M., Rokala, M., Palonen, T., Alarotu, V., Koskinen, K., Pohjolainen S. (2011). An Implementation of a Semantic, Web-Based Virtual Machine Laboratory Prototyping Environment. Lecture Notes in Computer Science, vol. 7032. Top appear. 60 Simantics. (2010). Simatics Platform - Details about Simatics platform, the software architecture, and its applications. WWW-sivu. Saatavilla: https://www.simantics.org/simantics/aboutsimantics/simantics-platform Sinha, R., Liang, V.C., Paredis, C.J.J., Khosla, P. (2001). Modeling and Simulation Methods for Design of Engineering Systems. Journal of Computing and Information Science in Engineering, Vol. 1, Issue 1, March 2001. Sorensen, K. K., Stoustrup, J. (2008). Modular modelling and simulation approach - applied to refrigeration systems. IEEE International Conference on Control Applications, 2008. pp. 983-988. VTT. (2011). TIKOSU - Tietokantakeskeinen koneenohjausjärjestelmän suunnittelu ja toteutus. WWW-sivusto. Saatavilla: http://www.hermia.fi/fima/tutkimusprojektit/tikosu/ Vyatkin, V., Hanisch, H.-M., Pfeiffer, T. (2003). Object-oriented modular place/transition formalism for systematic modelingand validation of industrial automation systems. Proceedings of IEEE International Conference on Industrial Informatics, 2003, pp. 224-232. W3C. (2006). Ontology Driven Architectures and Potential Uses of the Semantic Web in Systems and Software Engineering. Editor's Draft, 2006/02/11. Saatavilla: http://www.w3.org/2001/sw/BestPractices/SE/ODA/ W3C. (2009a). Semantic Web Applications in Neuromedicine (SWAN) Ontology. W3C Interest Group Note 20 October 2009. Saatavilla: http://www.w3.org/TR/hcls-swan/ W3C. (2009b). Product Modelling using Semantic Web Technologies. W3C Incubator Group Report 08 October 2009. Saatavilla: http://www.w3.org/2005/Incubator/w3pm/XGR-w3pm20091008/ W3C. (2011). Describing Linked Datasets with the VoID Vocabulary. W3C Interest Group Note 03 March 2011. Saatavilla: http://www.w3.org/2001/sw/interest/void/ Zupancic, B. (1998). Modular hierarchical modelling with SIMCOS language. Math. comput. simul., Vol. 46, pp. 67-76, 1998. Komponenttikuvien alkuperäislähteet CAN-visualisoinnissa Kuva 3.5.1 s. 29 ja kuva 4.2.1.2. s. 41. BTL - Balluff Transsonares Längenmesssystem (Micropulse). Balluf. Saatavilla. http://www.balluff.com/Balluff/de/ResourcesChannel/Technical+Reference/?menuLevel=2 CANopen I/O Node. Pirkan Elektroniikka Oy. Saatavilla: http://www.tke.fi/downloads/2009_jan/PE552%20CANopen_IO%20V0005.0000.pdf Electronic Pilot Module, EPM2. BoschRexroth. Saatavilla: http://www.boschrexroth.com/borexmvz2/Category.jsp?ccat_id=30050&publication=NET&pagera ction=switchpage&remindCcat=on&language=en-GB&page=20 61 Digsy Compact. Inter Control. Saatavilla. http://www.intercontrol.de/automation/en/02_products/product.php?id=4&lang=en&company=4 Digsy CMV. Inter Control. Saatavilla. http://www.intercontrol.de/automation/en/02_products/product.php?id=32&lang=en&company=4 Ohjauskäsinojat. Sandvik Mining and Construction Oy ja Pirkan elektroniikka. RCC, Resolver as Absolute-Encoder in CANopen-Profile. LTN Servotechnik GmbH. Saatavilla: http://www.ltn.de/global/pdf/TechnicalDataSheet-CANOpen-RCC%20Rev1.pdf Julkaisut: Nykänen, O., Salonen, J., Markkula, M., Ranta, P., Rokala, M., Helminen, M., Alarotu, V., Nurmi, J., Palonen, T., Koskinen, K., & Pohjolainen, S. (2011). What Do Information Reuse and Automated Processing Require in Engineering Design? 2011. Journal of Industrial Engineering and Management. Accepted. Markkula, M., Rokala, M., Palonen,T., Alarotu V., Helminen, M., Koskinen, K. T., Ranta, P., Nykänen, O., Salonen, J. (2011). Utilization of the Hydraulic Engineering Design Information for Semi-Automatic Simulation Model Generation. Proceedings of the Twelfth Scandinavian International Conference on Fluid Power, vol. 3, pp. 443-457. May 18-20, 2011, Tampere, Finland. Salonen, J., Nykänen, O., Ranta, P., Nurmi, J., Helminen, M., Rokala, M., Palonen, T., Alarotu, V., Koskinen, K., Pohjolainen S. (2011). An Implementation of a Semantic, Web-Based Virtual Machine Laboratory Prototyping Environment. ISWC 2011: The 10th International Semantic Web Conference. Accepted Matti Helminen, Tuija Palonen, Markus Rokala, Pekka Ranta, Teemu Mäkelä, Kari T. Koskinen (2011) Virtual Machine Laboratory based on M1-technology. Proceedings of the Twelfth Scandinavian International Conference on Fluid Power, vol. 1, pp. 321-334. May 18-20, 2011, Tampere, Finland. NodeList.GraphML -ehdotus Toimitettu elokuussa 2011 CAN in Automation TF-311standardointiryhmän arvioitavaksi. Saha, H., Nykänen, O. Salonen, J. Helminen, M. New method for describing can network topology. Matti Helminen, Heikki Saha, Ossi Nykänen, Jaakko Salonen, Kari Koskinen, Pekka Ranta & Seppo Pohjolainen. 13th international CAN Conference. Abstract submitted in 23rd of September. 62 Liitteet: Nykänen, O. (2010a). Semogen Semantic Process: Data Processing Aspect. Semogen project technical document. [Ks. liite A] Nykänen, O. (2010b). Semogen Semantic Process: Asserting and Validating Information Requirements. Semogen project technical document. [Ks. liite B] 1 Semogen Project Document: For internal project use only Semogen Semantic Process: Asserting and Validating Information Requirements ANALYSIS & SPECIFICATION FOR SEMOGEN WORK PACKAGE 2 Version 2010-10-01 Ossi Nykänen (ossi.nykanen@tut.fi) Tampere University of Technology, Hypermedia Laboratory Abstract. This document establishes methods for creating and transforming information in the semantic process, and asserting and validating the related information requirements. We also consider the concrete implementation technologies and enclose observations about the related modelling decisions. Table of Contents 1. Introduction ................................................................................................................................................... 2 2. Fundamental Concepts and Methods ........................................................................................................... 2 2.1. Mappings between Domain (Information) Objects ............................................................................... 3 2.2. Methods for Object Creation and Information Transformations ........................................................... 5 3. Evaluation and Development Tool using Success Indicators......................................................................... 7 4. Information Requirements in Practice: Two Case Studies ............................................................................ 8 4.1. A Canonical Approach........................................................................................................................... 10 4.2. A Microformat Approach ("A Sidestep") .............................................................................................. 12 5. Definition of a Simple Success Indicator for Meeting Information Requirements ..................................... 14 6. Design Notes ................................................................................................................................................ 16 7. Conclusion ................................................................................................................................................... 18 References ....................................................................................................................................................... 18 1 (18) Semogen Project Document: For internal project use only 1. Introduction This document establishes methods for creating and transforming information in the semantic process, and asserting and validating the related information requirements, as defined in [1]. In brief, we aim supporting designing and validating semantic processes from engineering point of view. Methods proposed in this document may be used, for instance, for analysing a situation where an established semantic process breaks, after adding more data or making modifications. The main objective of this work is to explicate the notion and the techniques related to critical information paths up to a level where useful implementations can be discussed. (Please note this document includes currently unpublished work etc. analysis by the author.) While moving towards specific data manipulation processes and information architectures, we meet the opportunity to align our design and process concepts with well-known approaches of the field. For purposes of our discussion, two generic approaches for working with data processing systems might be indentified here1: The first is the OASIS Darwin Information Typing Architecture (DITA) [2] which aims advancing a document creation and management via building content reuse into the authoring process. The second is OASIS Web Services Business Process Execution Language (WSBPEL) [3] for enabling users to describe business process activities as Web services and define how they can be connected to accomplish specific tasks. Note that in principle (using suitable extensions etc.), the second approach might be considered to provide generic service-oriented means to model any data processing applications. (The cost, of course, is certain complexity of the approach.) However, while we share some of the ideological foundation and certain technologies of these approaches, we do not aim integrating directly to these concepts and/or technologies. In brief, we wish to analyse the situation in a more abstract level, and hope to achieve more with respect to particular research topics. In particular, we seek to establish means to analyse the data modelling, information requirements, and data processing activities on the information (and later on the knowledge) level, providing new kinds of methodological concepts and tools for the knowledge engineer. 2. Fundamental Concepts and Methods Recall the abstract concepts of the semantic process and the critical information path [1]. In brief, data processing activities are organised into a pipeline where data flows from one activity to another, according to the structure of the pipeline (which itself is a set trees with overlapping root and possibly some other nodes). This establishes the relative roles of providers and requestors to the activities which in turn sets the requirement of critical information paths. Figure 1 below (from [1]) illustrates the concept of a critical information path in a simple example where the activity A5 provides requested information to the activities A6 and A7. 1 Note, however, that this document is an internal draft for the SemoGen project. A more complete presentation of the context is to be presented in scientific publications. 2 (18) Semogen Project Document: For internal project use only Figure 1. Example of an operational interpretation of provider-requestor relationship (see [1]) We shall next analyse the concept of critical information paths in detail and suggest a method of modelling them in a way that can be implemented in practice. 2.1. Mappings between Domain (Information) Objects In order to simplify the discussion and make it more concrete, consider a linear semantic process of three activities (see Figure 2): Figure 2. Example of three sequential activities Our task is now to establish a method of asserting and validating information requirements in the semantic process. Assuming we are interested in the information content of the data flow, and not just the text format of the data interchange, we need to know about the domain (information) objects related to each activity. While typically neglected in abstract schema design, this observation is critical when information content is considered: The mere existence of information exchange protocol does not as such necessarily guarantee that the actual information content is sufficient. Hence, we need to introduce a bookkeeping method for the actual information content of the activities. Considering Figure 2, we may conceptualise the situation as follows: Assume that the activity A3 acknowledges its domain objects D3, the activity A5 its domain objects D5, and the activity A7 its domain objects D7. Note that technically, a set of domain objects is simply a set of identifiers (e.g. codified names of individual entities that sufficient in identifying the individual entities within the domain for purposes of some application). The (semantic) properties of the domain objects of A3 (D3) are described using a suitable vocabulary, P3. Likewise, the properties of the domain objects D5 are described using a vocabulary P5, and domain objects of D7 using a vocabulary P7. Note that technically, definition of semantic properties includes two separate things: a vocabulary of predicate names with a specific domain and range over a specific value space (which might be modelled using a semantic schema), and a system of actual assertions about individuals of the domain (e.g. a set of statements describing particular individuals). 3 (18) Semogen Project Document: For internal project use only Now, assuming the activities A3, A5 and A7 establish a data processing pipeline, some of the objects and properties of A5 are due A3, and some objects and properties of A7 due A5 (see Figure 2). Thus, if the data processing pipeline is working, (some) information from A3 is mapped (e.g. transformed) to A5 and (some) information from A5 is mapped to A7. We may now model this as follows (see also Figure 3 below): { (x, p(x)) | x D3, p P3} f35 { (y, q(y)) | y D5, q P5} f57 { (z, r(x)) | z D7, r P7}. (1) In other words, there are information mappings (transformations) that map both the objects and their properties from one domain to another (here f35 and f57). Note that this mapping needs not to be surjective, i.e. there might be objects in D5 that are not due a mapping from D3. Note that the situation can be obviously simplified, by assuming that each activity uses a common vocabulary (i.e. P3 = P5 = P7), or that there exists a global object index (i.e. D3 = D5 = D7). However, for generality, we shall not make such of an assumption here. Note also that in practice, one of the following must hold: The information transformations "understand" the semantics of the providing and the requesting activities, or the providing and the requesting activities share semantic schemas. Now, the example formulation (1) suggests a method for actually designing (information) transformations between activities: 1. For each connected activity, identify the domain (information) objects for each domain (using activity-specific domain definitions when necessary). 2. Identify the semantic properties of the objects within each domain (using domain-specific vocabularies when necessary). 3. Define information transformations of objects and properties between domains. We wish to emphasise that the step 1 is critically important when validating critical information paths. To see this, assume that the domain D5 is supposed to include an (information) object yD5, whose properties can be (partially) read and transformed from (D3, P5). In general, however, there is no guarantee that the domain D3 actually identifies an object that can be mapped 1:1 to y without effectively creating a new object. For instance, y might be only implicitly present in the relationships between the objects of D3 and not explicitly identified. Thus, in order that the critical information path can be validated, it is the responsibility of the activity A5 to assert the existence of such object y and the acceptable schema of which the property declarations must follow. 4 (18) Semogen Project Document: For internal project use only Figure 3. A conceptual example of mapping individual data objects in a semantic data processing system Figure 3 above provides a graphical presentation of the domain information objects (D) and information mappings between them (f). In brief, the figure illustrates the idea of mapping objects from one domain to another (e.g. from D1 to D3), and declaring new objects in a domain without mappings (all objects in D 1, some objects in D5). Finally, it is quite obvious that the domain information objects do not need to identified explicitly; information transformations can simply map information from one data structure to another. However, unless the existence of certain domain objects is known/asserted a priori, it is very difficult to see how the information requirements of activities could be validated. For instance, unless A5 asserts explicitly "from above" that D5 should include information about more than one objects categorised as "hydraulic components" (etc.), it is unlikely that related information requirements could be mechanically validated. 2.2. Methods for Object Creation and Information Transformations Because managing domain object indices and properties of complex applications can be quite expensive, we consider few practical methods for both the domain object creation and the property transformations. For simplicity, we present the methods using the example setting described earlier and assume transforming data from A3 to A5 as depicted in the example in Figure 2 (the generalisations, however, are straightforward). The basic method of mapping information from one domain to another is using the method of information transformations between objects with a priori identity (recall Figure 3 above): Method 1 (Validated information transformations between objects with a priori identity): 1. Identify objects: Define D5 by enumerating its objects. Assume D3. 2. Assert required information schema: For each object in D5, assert which kind of properties they should have. Note that this assertion may include not only the data format aspect, but also the information content aspect (e.g. cardinalities and non-empty values). 5 (18) Semogen Project Document: For internal project use only 3. Transform the provided information: Define transformation that associates objects in D5 with properties derived from D3. (If there are several activities that information is requested from, define at least one transformation for each.) 4. Enclose local information: Produce and enclose local information about the objects in D5. By "local information" we mean here information that is created within the activity and is not to be read/transformed from another activity, within the abstraction level of the data processing pipeline. (In some cases local information may also complement the missing data that would be ideally required from the previous activities in the pipeline.) 5. Validate required information: Validate the transformed information (organised according to the providing activities and locally enclosed data) with respect to the required information schema. If the data does not conform, report shortcomings and terminate. (If particular data are missing, enclose heuristic suggestions about which activities should provide that data and go back to step 1, or, go back to step 4 and enclose the missing data locally.) 6. Process activity data: Once all required information is available, perform the activity-specific (here D5) data processing and provide the results to following activities (e.g. A7) when needed. Note that in step 5, validating the required information, we are not making the (quite strong) assumption that it is always a priori known which of the preceding activities should provide the required information. Reasons are highly practical: The requesting activity might in general not know this and it is easy to imagine a scenario where it actually makes sense to shift the role of an activity owning a particular information source from one activity to another. Thus, the step 5 involves the analysis of such information ownership and obligation questions in a recursive fashion. For instance, A5 might not wish to locally enclose certain information and requires A3 to provide it. However, A3 might not wish to enclose it either, and delegates the task of providing the required information to some previous activities (and then simply passes the provided information to A5 e.g. using identity mappings). Note that e.g. the ownership questions are not only technical, but also related to e.g. policies. In practice, assuming identity for objects within each domain a priori can be cumbersome. Thus, practical methods are needed for (partly) automating the step 1 of the above Method 1. Perhaps the simplest approach is to complement (manually etc.) enumerated lists of domain objects, is to use domain (information) object creation rules: If X D3 and pj(xX) for some pj P3, then create a new object y D5 where y = f(X,{pj}). (2) In other words, some of the objects in D5 are created based on the (sets of) objects in D3. (Note that while we could simply assume creation rules as mapping from individuals of D3, this might not allow e.g. introducing new objects y D5 based on relationships in D3.) Note that in principle, the object creation rules and property transformations might be integrated. In practice, however, it might make sense to perform these in two explicit steps, i.e. braking (1) into two distinct phases (first introducing objects and then enclosing and transforming their properties). The reason is that a single set of property transformations might be applied both to the objects enumerated and created using rules. Having clear expectations about the existence of domain objects also helps implementing information requirements schemas. 6 (18) Semogen Project Document: For internal project use only 3. Evaluation and Development Tool using Success Indicators It is relatively easy to imagine a semantic data process "given from above" that does the specified job. However, in practice, we are dealing with a potentially very complex engineering problem: The more complex the process, the bigger the challenge. Since it is again easier to discuss these tasks in the context of a simple example, recall the example pipeline from [1], depicted as Figure 4 below: Figure 4. A simplified example of semantic data processing system (see [1]) Assume we are given a development draft of a semantic data processing pipeline. How to evaluate the success of meeting the critical information path requirements? (To put this discussion in a context of a simple example, consider, e.g., the tree of activities A1-A8 in Figure 4 above). Ideally, we would like to have an evaluation and development tool that is capable of performing e.g. the following tasks (starting from the simple ones): 1. Unsatisfied Requestors: Point out the requestor activities that are requesting information that is not currently provided. 2. Underperforming Providers: Point out the provider activities that are not providing the information they are obliged to provide. 3. Unused deliverables: Point out the provider activities that are providing information that nobody is requesting. 4. Requirements distribution: Visualise the distribution of requirements and obligations in the pipeline. 5. Simple success indicator: Provide a simple success indicator of meeting the critical information path requirements of the whole system (e.g. "75% successful where the shortest successful path is 2 activities out of 4, and the first activity missing critical information is 'Data Enrichment for AfterSales Services'."). The first task is straightforward: Associate required information schemas with requesting activities and check which schemas do not validate. 7 (18) Semogen Project Document: For internal project use only The second task is a bit more difficult since it (in addition) requires identifying the activities which are responsible for providing the currently missing information. The third task again builds on top of the previous ones. It involves taking a "diff" of the provided and requested information. Observing deliverables that are not used anywhere implies either that unnecessary processing takes place, or it may point out that some information transformations are still missing (e.g. in order to satisfy non-fulfilled information needs). The fourth task points out a big picture of the situation. This should help determining if the efforts and requirements are reasonably and rationally distributed in the process. For instance, it might happen that certain monolithic activities are assumed to provide most of the information. In turn, this might suggest identifying more (sub)structures in the process. Finally, the fifth task aims providing a single, simple indicator that helps quickly getting rough feel what is the success of the data processing, and which activity should be "fixed". It turns out that implementing this kind of evaluation and development tool is not trivial. While it is easy to point out which activity in the pipeline is the first to miss required information, it is difficult to say much beyond this. Several challenges exist: The first challenge is that all information is not available before successfully processing the whole pipeline. To see this, assume e.g. that the information requirements of A5 are not satisfied in some development draft of a pipeline (see Figure 4); it is now difficult to say if activities A6 and A7 would provide all required information to A8. The second challenge is that unless requestor activity explicitly asks input from specific provider activities, it may be difficult to target requirements to specific activities. To see this, assume that A5 is missing required information; unless A5 gives specific requests to A2 and A3, both might be identified as underperforming providers. The third challenge is that analysing instance data and schemas is technically quite difficult in practice. For instance, given certain transmitted instance data and a schema document, it may be difficult to compute the maximal number of validation errors that evaluating a schema may potentially yield. In order to make this discussion more concrete, we shall next consider two case studies of an implementation of information requirements in principle. (We will come back to the topic of a success indicator after introducing a concrete technical context for the above discussion.) 4. Information Requirements in Practice: Two Case Studies Consider the following implementation of the example process depicted in Figure 5 below: 8 (18) Semogen Project Document: For internal project use only Figure 5. Example of three related activities In terms of (simplified) data processing, we may model this with the following semantic process project (file) structure of XML data and tools (see [1]): ... activities/ A2/ ... out/ objects.xml data.xml A3/ ... out/ objects.xml data.xml A5/ in/ objects.xml data.xml reqs/ critical.sch out/ objects.xml? data.xml? In brief, the files A2/out/objects.xml and A3/out/objects.xml enumerate the domain objects of A2 and A3. The files A2/out/data.xml and A3/out/data.xml represent the objects in terms of semantic properties. Note that A2 and A3 output data unaware of each other. The file A5/reqs/critical.sch is the schema that asserts the critical information requirements of A5. This means that if the data provided to A5 (here A5/in/*, compiled from A2/out/* and A3/out/*) do not conform to this schema, processing A5 as a data processing pipeline step is not possible. Finally, the files A5/out/*? are the (anticipated) results of processing A5 as an Ant target. In other words, these establish the output that results from "executing" A5 as a step in the data processing pipeline. Note that computing A5/out/ includes two steps: First, declaring & creating the domain objects of A5, and then declaring & creating the related data. Now, it is instructional to consider what the files might look like in a simplified setting. To simplify the discussion, we first assume that a standard format (a restricted form of RDF/XML, a specific XML syntax for the Resource Description Framework) for encoding activity outputs is used. Strictly speaking, this would not be necessary, and using a variety of (XML) data formats could be used. 9 (18) Semogen Project Document: For internal project use only 4.1. A Canonical Approach We shall next describe an approach of using a (proprietary) canonical form variant of RDF/XML, that we call RDF/cXML, for encoding data. This allows dual interpretation of the data format: As structural XML (semantic tree model) or as semantic RDF (semantic network model). The basic idea is that unlike in RDF/XML, all structural patterns and abbreviations in encoding statements are not accepted. This allows reading data in a well-defined manner effectively as XML, so that technologies such as XSLT and ISO Schematron can be used. However, when necessary, the data can also be interpreted in RDF which allows using, e.g., genuine semantic query and reasoning technologies. For instance, the object list A2/out/objects.xml might look like this: <!DOCTYPE rdf:RDF [<!ENTITY ex "http://www.tut.fi/hlab/semogen/example/">]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://www.tut.fi/hlab/semogen/example/" xmlns:sg="http://www.tut.fi/hlab/semogen#"> <sg:domain rdf:about="&ex;domain-A2"> <sg:has-object rdf:resource="&ex;A2#a1" /> <sg:has-object rdf:resource="&ex;A2#a2" /> </sg:domain> </rdf:RDF> In other words, the object list simply declares that two objects exist. Should we wish not to give an identity to the domain itself, we could replace the attribute rdf:about with rdf:nodeID, providing a placeholder for a temporary name (blank) for the domain. The adopted restricted RDF/cXML interpretation now suggests that e.g. writing the semantically equivalent information using some other RDF/XML serialisation pattern is not allowed. This allows safely reading A2/out/objects.xml in terms of DOM, XPath etc. parsing. Note that we have separated the names of the example (prefix ex) from the names of the common Semogen semantic vocabulary (prefix sg) in different namespaces. The basic idea is to introduce new domain names for each application, using the common Semogen vocabulary as a semantic glue (here we used a class sg:domain and a predicate sg:has-object). Going forward with the example, the data file A2/out/data.xml might look like this: <!DOCTYPE rdf:RDF [<!ENTITY ex "http://www.tut.fi/hlab/semogen/example/"> <!ENTITY sg "http://www.tut.fi/hlab/semogen#"> ]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dct="http://www.example.org/terms/" xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:sg="http://www.tut.fi/hlab/semogen#" xml:lang="en"> <rdf:Description rdf:about="&ex;A2#david-designer"> <rdf:type rdf:resource="http://www.w3.org/2000/10/swap/pim/contact#Person" /> <contact:fullName>David H. Designer</contact:fullName> <contact:mailbox rdf:resource="mailto:dd@david-works-here.org" /> </rdf:Description> <rdf:Description rdf:about="&ex;A2#a1"> <rdf:type rdf:resource="&sg;Motor" /> 10 (18) Semogen Project Document: For internal project use only <rdfs:label xml:lang="fi">Moottori</rdfs:label> <rdfs:label xml:lang="en">Motor</rdfs:label> <sg:XPos>120.17</sg:XPos> <sg:YPos>1.2</sg:YPos> <dct:author rdf:resource="&ex;A2#david-designer" /> </rdf:Description> <rdf:Description rdf:about="&ex;A2#a2"> <rdf:type rdf:resource="&sg;Crane" /> <rdfs:label xml:lang="fi">Puomi</rdfs:label> <rdfs:label xml:lang="en">Crane</rdfs:label> <sg:XPos>0.0</sg:XPos> <sg:YPos>0.2</sg:YPos> <sg:operated-by rdf:resource="&sg;a1" /> <dct:author rdf:resource="&ex;A2#david-designer" /> </rdf:Description> </rdf:RDF> Again, we assume the (canonical) RDF/cXML interpretation, which here means that there is exactly one rdf:Description element per a described resource. The example data include descriptions of the two domain objects identified before, and one additional resource (the author). The reason why sg:david-designer was not identified as a domain object is a modelling decision – perhaps this information is considered merely auxiliary, etc. and is not really critical in completing A5. Another reason might be that a future version of the semantic processing pipeline might use this information. (Thus, strictly speaking, the object &ex;A2#david-designer might be unused but provided.) Similar data are provided by A3. Now, assuming the RDF/cXML format, the data in A5/in/* can be almost trivially transformed and integrated from A2/out/* and A3/out/*. (Or not transformed at all and read directly from sources. This would be less expensive but complicate the process of writing the information requirement schema.) Now, we wish to assert that completing the A5 as an Ant target requires that descriptions of domain objects are really provided, equipped with labels in Finnish and 2D coordinates. Assuming the RDF/cXML format, we may assert the information requirements in ISO Schematron (a trivial example): <schema xmlns="http://purl.oclc.org/dsdl/schematron" queryBinding='xslt2' schemaVersion='ISO19757-3'> <ns prefix="rdf" uri="http://www.w3.org/1999/02/22-rdf-syntax-ns#" /> <ns prefix="sg" uri="http://www.tut.fi/hlab/semogen#" /> <title>A5 Information Requirements</title> <pattern> <rule context="/rdf:RDF"> <assert test=".[rdf:Description]">Information objects are missing.</assert> </rule> <rule context="//rdf:Description"> <assert test="rdfs:label[lang('en')]">English label is missing. </assert> <assert 11 (18) Semogen Project Document: For internal project use only test="sg:XPos">Coordinate information is missing (Xpos). </assert> <assert test="sg:YPos">Coordinate information is missing (Ypos). </assert> </rule> </pattern> </schema> Note that this does not actually process the outcome of A5; it merely asserts the required information. Note also that considering processing A5, integration of data provided by A2 and A3 might require, e.g., recognising that data originates from different domains. For instance, A2 and A3 might report coordinates using different coordinate systems or scales. A more expressing information requirement schema might also assert requirements for the coordinate systems, etc. It is important to observe that the dual RDF/cXML interpretation also allows making semantic assertions assuming the RDF interpretation. For instance, we might require that the data does not imply semantic inconsistencies (e.g. empty classes in OWL, Web Ontology Language). As a technical note, it might be observed that using a cleaning technology such as GRDDL (Gleaning Resource Descriptions from Dialects of Languages) might effectively lead into the case described above. However, this would be related to the delivered output of an activity, rather than accepted input of an activity. (Hence, this would now be related to the implementation of A2 and A3.) 4.2. A Microformat Approach ("A Sidestep") Another strategy for encoding the information provided by an activity, is to avoid extracting the information already encoded in some legacy documents, and simply refer to these structures. We call this the microformat approach. In this case, information objects are not extracted into an explicit list of object but simply pointed out in some existing data structure. In other words, instead of insisting using RDF/cXML also for object descriptions, one could use some proprietary (XML) structure and point out the parsing of the objects. Here is an example of this kind of an object list, A2/out/objects.xml: <!DOCTYPE rdf:RDF [<!ENTITY ex "http://www.tut.fi/hlab/semogen/example/"> <!ENTITY sg "http://www.tut.fi/hlab/semogen#"> ]> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ex="http://www.tut.fi/hlab/semogen/example/" xmlns:sg="http://www.tut.fi/hlab/semogen#"> <sg:domain rdf:about="&ex;domain-A2"> <!-- object list --> <sg:has-object rdf:resource="&ex;A2#a1" /> <sg:has-object rdf:resource="&ex;A2#a2" /> <!— namespace declarations --> <sg:ns> <sg:prefix rdf:resource="http://www.w3.org/2004/07/xpath-functions">fg</sg:prefix> <sg:prefix rdf:resource="http://www.w3.org/2000/svg">svg</sg:prefix> <sg:prefix rdf:resource="http://www.tut.fi/hlab/semogen#">sg</sg:prefix> </sg:ns> </sg:domain> 12 (18) Semogen Project Document: For internal project use only <!-- property mappings --> <rdf:Description rdf:about="&ex;A2#a1"> <sg:selector>fn:doc('export.svg')//svg:rect[1]</sg:selector> <sg:property> <sg:propertyName>sg:XPos</sg:propertyName> <sg:propertyValue>@x</sg:propertyValue> </sg:property> </rdf:Description> <rdf:Description rdf:about="&ex;A2#a2"> <sg:selector>fn:doc('export.svg')//svg:rect[2]</sg:selector> <sg:property> <sg:propertyName>sg:YPos</sg:propertyName> <sg:propertyValue>@y</sg:propertyValue> </sg:property> </rdf:Description> </rdf:RDF> The basic idea is that for each object, a selector provides a node from which the object properties can be read, all using XPath 2.0 expressions. Rest of the definitions simply encode the information that is required for achieving this. Now, a trivial sample source data document A2/out/export.svg might look something like this: <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <svg width="12cm" height="4cm" viewBox="0 0 1200 400" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <desc>Trivial legacy data example</desc> <rect x="1" y="1" width="1198" height="398" fill="none" stroke="blue" stroke-width="2"/> <rect x="400" y="100" width="400" height="200" fill="yellow" stroke="navy" stroke-width="10" </svg> /> In other words, the domain (information) objects a1 and a2 are simply read from the rect elements. Of course, a realistic example would be much more complex and might include application-specific vocabularies. In the case of the microformat approach, asserting the information requirements schema either requires a mapping based on the property mappings, or an intermediate transformation step of source data into the RDF/cXML format. (In which case, the previous case study and the previous schema may be applied as such.) Note that in practice, the microformat approach strategy can be technically also adopted in terms of the implementation of the A2 activity. In other words, the processing that e.g. outputs the data A2 and e.g. provides A2/out/data.xml in canonical RDF/cXML format, may in fact read data and transformed in the above sense. This simply implies that the responsibility of interpreting the legacy data in which microformats are used, is shifted from A5 to A2. 13 (18) Semogen Project Document: For internal project use only Since the microformat approach may be encapsulated by a design of activity roles, we shall adopt the first, canonical approach. While this is potentially more expensive computationally, it yields simpler and clearer modelling. 5. Definition of a Simple Success Indicator for Meeting Information Requirements Now, having outlined an approach for asserting information requirements, assume we would like to establish a numeric success indicator. Recall the example data processing pipeline from Figure 3. Intuitively, we may consider attaching information requirements schema for every activity that acts as requestor in the process (in the example A2-A8). In cases where requestor receives input from several providers (now A5 and A8) the requirements cannot be uniquely addressed to a single provider. Considering information requirement schemas in Schematron, a simple way to calculate required information is to consider the number of fired rules (that include assertions), r, and the number of failed rules f. We say that a rule fails if at least one of its assertion tests faila. (According to the ISO Schematron standard, in the level of the markup, rules are marked using rule elements and assertions using assert elements. Rules may, however, also include report elements that means that every rule might not include an assert element. Note that this allows designing the granularity of the failed rules – the strictest approach is to introduce a separate rule for every assert element. Note also that while we present the basic definitions in the context of the concrete Schematron technology, the definitions generalise into most schema systems. However, typical schema technologies do not by default report their internal pattern matching/instantiating processes. This makes implementations more challenging.) We say that a schema rule fires when it matches the instance document. We say that a rule fails if it includes a failing assertion. Now, let Rk denote the information requirements schema asserted by Ak. Let INk denote the data that is provided to Ak, i.e. to be validated using Rk. Further, let r = r(INk, Rk) (with the function signature r:N) denote the number of the fired rules (that include assertions) when validating INk using Rk. Let f = f(INk, Rk) (with the function signature f:N) denote the number of the failed rules when validating INk using Rk. Note that the functions thus depend both on the input data and on the schemas. If Rk actually sets some requirements that match INk, it follows that some rules fire and r(INk, Rk)>0. We say that an information requirement schema is actual (with respect to INk) if it includes a rule that fires. If none of the rules of Rk fire, r(INk, Rk)=0. Note that in general, asserting schemas that are not actual does not seem useful and may indicate input and/or schema design error(s). We say that the provided data INk fully conforms to (or fully succeeds) Rk if none of the rules fail, i.e. f(INk, Rk)=0. If some assertions fail, we get f(INk, Rk)>0 and say that also INk fails. For purposes of computing also the "near misses", we say that INk partially fails (or partially conforms) if f(INk, Rk)>0. Note that can INk fail only when at least one rule has fired, i.e. f(INk, Rk)>0 only when r(INk, Rk)>0. We may now define information requirements failure ratio F = F(INk, Rk) as follows: 14 (18) Semogen Project Document: For internal project use only (3) In other words, INk fully conforms to Rk only if F(INk, Rk)=0, otherwise it partially fails with an information requirements failure ratio f(INk, Rk)/r(INk, Rk). It is easy to see that according to our definition of f and r, rf (because a failing rule is always due a firing rule). Thus, it always holds that F1. So it always also holds that F[0,1]. When F=1, we say that INk fully fails. (This may happen, e.g., with a schema that include only a single rule that fails.) The information failure ratio captures the level of partial failing reasonably well. However, from the enduser perspective, the negative wording and the use of fractions might seem unnecessary complex. Thus, we define the information requirements success indicator as percentage value (where C stands for Conformance): C = C(INk, Rk) = ( 1 - F(INk, Rk) ) * 100 %. (4) Intuitively, this definition is relatively clear: C(INk, Rk) is 100% when INk fully conforms to Rk and 0% when it fully fails; otherwise it is something in between. Let Ck denote the information requirements success indicator associated with activity Ak. Assuming information requirements are actual, computing Ck typically that the parents of Ak fully conform, computing several information requirements with failure levels (0) at a same time, is possible only for activities in different branches of the semantic process. Thus the following case is possible: A1 (C1=100%) --+--> A2 (C2<100%) --+ +--> A6 (C6=?) --+--> A8 (C8=?) | | | | +--> A3 (C3<100%) --+--> A5 (C5=?) --+--> A7 (C7=?) --+ On the other hand, the following case is impossible: A1 (C1=100%) --+--> A2 (C2=100%) --+ +--> A6 (C6=?) --+--> A8 (C8=?) | | | | +--> A3 (C3<100%) --+--> A5 (C5>0%) --+--> A7 (C7=?) --+ The reason is simple: Ck can be computed only if Cj=100% for all of the providing activities Aj. In the above case, there is no guarantee that C5 can be computed since it may lack information from A3. Thus, given a development draft of a semantic data processing pipeline, what we can do is the following: 1. Start processing the pipeline from the outputs of the root activities that no other activity depends on. (The root activities may also have information requirements, but for information that is simply provided to them "from above", and which is not an output of any other activity.) 2. For an activity Ak to which the input can be computed, calculate the information requirements success indicators Ck. 3. Continue the above step recursively, while considering the following conditions: a. If all activities conform 100%, report that the all activities conform to the information requirements, and quit: If the semantic process fails, it is not because of missing some asserted information requirements. b. If for some activity Aj we get Cj<100%, stop computing that branch (and all branches that share that activity as a node) and report a partial conformance of (Aj, Cj). 15 (18) Semogen Project Document: For internal project use only c. When computing stops with some activities conforming <100%, report the non-conforming activity that has the smallest depth, and total depth of the process structure (longest branch in the set of trees), and quit. Below is a conceptual example of this kind of output: Start. Evaluating the information requirements set by A1: Ok (100% conformance). Computing output from A1: Done. Evaluating the information requirements set by A2: Ok (100% conformance). Computing output from A2: Done. Evaluating the information requirements set by A3: Ok (100% conformance). Computing output from A3: Done. Evaluating the information requirements set by A5: Fail (75% conformance). Computing output from A5: Unable to compute due missing input. Evaluating the information requirements set by A6: Fail (no input). Evaluating the information requirements set by A7: Fail (no input). Evaluating the information requirements set by A8: Fail (no input). Unable to complete the semantic process, quit. Final report: From automatic data processing point of view, the semantic process breaks in the activity A5 with 75% conformance, with a depth of 3/5 in the pipeline. Stop. The motivation of defining the information requirements success indicator originates from the fact that a semantic process might include relatively few activities that transfer relatively large amounts of data. Thus, the conformance indicator provides a simple measure to evaluate the success of fulfilling the information needs of a particular activity, not just reporting failures in a "black and white" fashion. Considering the discussion in Section 2 about explicitly identified domain objects, it should be observed that the information requirements indicator can be complemented with other information. In particular, assuming A5 requests data for specific domain objects, it might be possible to articulate which objects and/or which properties in particular are missing, thus helping the job of a knowledge engineer to work for a solution. Note that adopting schema technology that does not (easily) allow defining a sensible measure for partial conformance when evaluating activities, might effectively force using 1/0 conformance evaluation, simply for technical reasons. 6. Design Notes It should be obvious that successfully conforming to the information requirement schema does not guarantee that the output of an activity can in fact be computed. The above definitions and success indicator simply aim supporting the task of a knowledge engineering, providing a tool that with a proper design should help analysing the situation when an established semantic process breaks, e.g., after adding more data or making modifications. As a consequence, the above approach might be considered as a method for monitoring data quality in the semantic process. Another observation is that it seems unlikely that a complex semantic process is written from scratch. Rather, a typical iterative design process might first focus into individual data processing steps, e.g., mapping data from A2 and A3 to A5. This suggests that the concrete design of a semantic data processing 16 (18) Semogen Project Document: For internal project use only pipeline should be modular. From technological perspective this might suggest that the data processing from (A2, A3) to A5 should be first perceived as a self-sufficient task for easy testing and debugging. On the other hand, e.g., using global indicators requires a "big picture" of the data processing pipeline. As a consequence, both the bottom-up and the top-down design patterns should be acknowledged in the design process. (As a technical note using Apache Ant, this suggests that the global buildfile is composed of several smaller, to certain extent independent buildfiles that are called from the global one.) Note that this discussion is also related to other schema design. In particular, the semantic information modelling schemas (for instance, S1-S3 in Figure 4) that introduce and capture domain semantics can be modelled from several design perspectives. Let us identify two such perspectives here: 1. Minimal pragmatic design, emphasising the local or short-term computing needs of the data processing pipeline, typically from the perspective of local information transformations. 2. Verbose authentic design, emphasising the natural semantics of the domain, typically from the perspective of related domain expert(s). Note that these modelling perspectives represent the two ends of a modelling continuum (see Figure 6 below). Figure 6. The modelling continuum of minimal pragmatic design and verbose authentic design As such, neither of the perspectives is completely right or wrong. A design stance "close" to the minimal pragmatic design introduces mainly semantic structures that are needed in actually programming information transformations. On the other hand, a design stance "close" to the verbose authentic design might typically introduce "additional" semantic (super)structures that explain data objects and put them in proper semantic context within the domain. Thus, arguments for proper modelling should be sought from the application context. For instance, the objects of the domain D2 might be associated with semantic properties (e.g. classified according to a general terminology adopted from a related standard, and equipped with particular assertions about objects such as "is-a: moving part", "has-material: plastic") that are not strictly speaking required in computing the outcome of the semantic data processing pipeline. Indeed, from a very formal point of view, verbose authentic design may introduce optional parts in schemas, i.e. structures that are not strictly speaking required in processing data. We claim, however, that reasonable semantic verbosity should be favoured to ensure reasonably authentic modelling. The reason is that the semantic process actually has three complementary use cases: 1. Semantic data processing pipeline use case 2. Semantic end-user applications use case 3. Semantic design process use case 17 (18) Semogen Project Document: For internal project use only The first is related to production and deployment; generating novel applications from semantically enriched legacy data (e.g. virtual laboratories). The second is related to designing end-user applications that exploit the semantic data in their function (e.g. semantic search view to highlight moving machine parts). The third is related to the collaborative design and communication activities among designers (e.g. using common terminology, rationalising activities, and enclosing design needs and information requirements). This discussion points out that the information requirements can be set also from the perspective end-user applications and design process. As a consequence, a component of a semantic model that is not strictly speaking required for use case 1 and is thus "optional" might in fact be required for the uses cases 2 or 3. 7. Conclusion In this document we have briefly identified and analysed the Semogen Semantic Process from the information requirements perspective. This work provides a draft specification for implementing information analysis and validation tools for the Semogen semantic process, and discusses the related semantic modelling topics. The work continues in analysing (verbose and authentic) semantic models and performing related data processing case studies, in the context of the Ecplise/Ant implementation of the proposed Semogen Semantic Process Environment. References 1. Nykänen, O. 2010. Semogen Semantic Process: Data Processing Aspect (version 2010-09-16). Internal Semogen project document for WP2, Tampere University of Technology, Hypermedia Laboratory. 2. OASIS Darwin Information Typing Architecture (DITA) TC Home Page. OASIS. Available at http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita (Referenced 2010-10-01) 3. OASIS Web Services Business Process Execution Language (WSBPEL) TC Home Page. OASIS. Available at http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel (Referenced 2010-10-01) 18 (18) Semogen Project Document: For internal project use only Semogen Semantic Process: Data Processing Aspect ANALYSIS & SPECIFICATION FOR SEMOGEN WORK PACKAGE 2 Version 2010-08-20 Ossi Nykänen (ossi.nykanen@tut.fi) Tampere University of Technology, Hypermedia Laboratory Abstract. In this document we propose and analyse the Semogen Semantic Process from the mechanical data processing perspective. In brief, we point out the overall process structure, illustrate the concept of critical information paths, and outline the concrete components of a potential development environment. Table of Contents 1. Introduction ................................................................................................................................................... 1 2. Basic Concepts ............................................................................................................................................... 2 3. Pipeline Data Processing and Critical Information Paths .............................................................................. 3 3.1. Abstract Information Needs ................................................................................................................... 4 3.2. Notes about Implementation ................................................................................................................. 4 3.3. A Case Study ........................................................................................................................................... 5 4. Recommendation for Systemic Implementation .......................................................................................... 7 4.1. Components of the Semogen Semantic Process Development Environment ....................................... 7 4.2. Suggestions of Specific Tools and Technologies ..................................................................................... 8 4.3. Relationship with Design and Application Systems.............................................................................. 10 5. Conclusion ................................................................................................................................................... 10 1. Introduction This document specifies the data processing aspect of the Semogen Semantic Process. In brief, we analyse and specify the various logical components of the Semogen Semantic Process with the objective of mechanical processing of design information for well-defined applications, and suggest technologies and tools for its implementation. The purpose of this document is to provide a specification basis for further studies and experimental work. (In turn, this document provides a technical specification foundation for the 1 (10) Semogen Project Document: For internal project use only publication, abstract of which was presented to the Semogen advisory group in 10. June 2010. Please note that as a consequence, this document includes currently unpublished work etc. analysis by the author.) Note that as the title suggests, besides this mechanical data processing aspect, the Semogen Semantic Process also includes the (Machine) Design Process Aspect that describes the machine design process and provides informal instructions and tools for producing and managing technical information in a combination of legacy and data processing formats. The Machine Design Process aspect is specified in another document. Further, the exact semantic data formats and models of the Semogen Semantic Process are to be specified, again in a separate document. 2. Basic Concepts Let us begin by introducing the fundamental concepts of the Semogen Semantic Process by analysing a simplified example. Throughout the example, we will assume the presence of a new technical designer role, called knowledge engineer. The exact relationship of the knowledge engineer with the other designers and engineers in specified elsewhere. For the sake of the example, assume a design office or an engineering firm in the process of designing a mobile drilling machine. The design system of the machine includes specific machine designers and other designers and a variety of tools, and outputs (legacy) design data as a set of design documents in various legacy formats (such as specific CAD file formats). Now, besides for manufacturing purposes, we would like to exploit the design data in creating simulator applications and end-user documentation for purposes a virtual machine laboratory application. Let us simplify the setting further by considering only the hydraulics and the mechanical design of the system. Figure 1. A simplified example of semantic data processing system Figure 1 depicts an example of a simplified semantic data processing system related to our example domain, relating the two main aspects of the semantic data processing system: semantic process and semantic modelling. In brief, the example identifies seven activities (A1, A2, ..., A8), starting from conceptual sketching of a particular artefact to be manufactured (e.g. a drilling machine), and ending to the processes of simulation and documentation design of the virtual machine laboratory application, and of course actual manufacturing (needs of which we ignore for now). The example also identifies three 2 (10) Semogen Project Document: For internal project use only schemas (S1, S2, and S3), referred from certain process activities. Note that due to the recursive nature of processes, each activity might in itself be modelled as a process, with sub-activities. The semantic process part (the darker round rectangles in the figure) appears as a feed-forward network (or a tree) of activities, perhaps conducted by different actors. Two activities connected with an arrow establish a directed relationship of information provider and information requestor. For instance, A5 is a requestor for both A2 and A3, and provider for A6 and A7. Quite obviously, the modelling stance of the process diagram dictates which information requirements are formally acknowledged – and validated. For instance, while A1 seems not to appear a requestor of any information, its information needs are simply not depicted in the process model. Note that generally, one cannot assume that information received by an activity is always provided by it since activities may in principle process data arbitrarily. For instance, unless A3 specifically includes a subcomponent of an identity mapping, the information provided by A1 might not be as such available to A5 (i.e. A5 only receives information A3 chooses to provide). The semantic modelling part includes the hierarchical schemas which formally model the information that is present in the process. In addition, schemas may be referenced by some activities of the semantic process. This implies minimal information requirements, or necessary parts, for the schemas. For instance, the process activities A1, A2, and A3 refer to the schema S1. In brief, this means that these activities are based on a shared semantic schema and that schema provides a common ground for fulfilling the roles of information requestor and provider between activities. Designing process activities using shared schemas is very important since shared schemas establish agreed data structures and semantics for transmitting data. The hierarchical structure of schemas allows importing and including general-purpose schemas. For instance, S1 and S3 refer to S2. This might imply using shared structures and names on the schema level (e.g. common names of specific classes and properties). Note that the schemas may also include optional parts that are not strictly speaking required by the data processing activities, but whose presence is appreciated, e.g. for informative purposes or for the sake of completeness. It is important to note that for simplicity, we have knowingly detached the semantic modelling from the semantic process part, and hence artificially differentiating the "concrete" design activities from the "meta" modelling activities. In practice, one might assume that the schemas are in fact iteratively designed in a collaborative process with the actors drawn from the semantic process, perhaps with the help of a specific knowledge engineer. Thus, a more complete process representation would in fact acknowledge the creation of the schemas as well. (Indeed, this is a task of the Machine Design Process Aspect of the Semogen Semantic Process.) 3. Pipeline Data Processing and Critical Information Paths From the perspective of mechanic data processing, information in the critical information paths needs to be formalised. Also, the role of the schemas becomes clear when we consider the meaning of the provider and requestor relationship in detail. 3 (10) Semogen Project Document: For internal project use only 3.1. Abstract Information Needs Figure 2 presents an abstract information interpretation of a specific part of the previous example process model, considering only the activities A5, A6, and A7. For the sake of the example, one may, e.g., imagine that A6 aims producing a simulator for training how to identify a leakage problem in a hydraulics machine, while A7 compiles maintenance documentation of the machine. Figure 2. Example of an operational interpretation of provider-requestor relationship (logical information perspective) In brief, A5 provides information about two objects, device-1 and scenario-1, both equipped with several properties (e.g. device-1 has the property of power having the value of 20). For efficiency, A5 provides only information that A6 and A7 really need or use in the mechanical processing. The figure highlights two interesting aspects of the semantic data processing system. First, for purposes of data transmission, the information provider ad requestor roles are concrete, pointing out critical information paths. For instance, unless A5 provides all the data requested by A7 (type, model, and power of a Device entity, and setting of the scenario-1 object), the activity A7 cannot complete. Second, the format and the semantics of the transmitted data are significant (e.g. the unit of power). In particular, names of the properties used, common terminology, and data formats must be agreed before provider and requestor can understand each other (and hence speaking about "semantics" is justified in the first place). Hence, shared schemas are required. Further, it is worth observing that the requestor indeed needs to know a great deal about the data; for instance, it either knows a generic way to request all objects or it a priori knows which objects exists in the domain (e.g. device-1). 3.2. Notes about Implementation Now the key question is how does A5 actually provide the needed information? Of course, from technical point of view, there are several ways to implement the above logical structures – and encode the information. It turns out that this question is very difficult – in principle, it is easy to imagine a system of necessary information items transmitted between activities but in practice, this requires carefully coordinated activities where each activity has considerable knowledge about the common data structures involved. As a consequence, system complexity is an issue. 4 (10) Semogen Project Document: For internal project use only Before actually trying to answer that question, few observations are in order. First, A5 does not certainly in itself produce all information it provides (e.g. type and model of a particular device of interest) since it presumably aims to exploit as much of the information requested as possible. In fact, much of the information requested should be available in the original engineering (e.g. CAD) documents perhaps produced in the earlier activities A2 and A3. Second, when A5 actually does produce new information (e.g. the illustrative colour of a particular device systematically used in simulations and documentation) it faces the problem of creating an information unit or referring to an existing information unit it wishes to describe. Quite clearly, all activities face similar problems and A5 might wish to simply use the information outputs the preceding steps have A1, A2, and A3 have introduced. This points out that a critical requirement for a semantic data processing system is that the original data provide stable name identifiers that can be consistently referenced (or names from which such identifiers can be mechanically generated). In practice, it seems to make sense adapt or map the data required by the semantic processing from the genuine (design and engineering) documents of legacy formats. 3.3. A Case Study We shall next consider a push approach, where interesting data are retrieved from legacy design documents in a "batch process". (Note that while a pull approach might be equally applicable and might be favoured for, e.g., security reasons, it would in many cases require implementing completely new kinds of tools.) 5 (10) Semogen Project Document: For internal project use only Figure 3. A design for implementing the information provider – requestor relationship using adapters and standard data normalisation techniques Figure 3 presents the idea of adapters, which effectively provide a way to normalise interesting data (e.g. into a well-defined XML format with application-specific semantic vocabulary) from the original design source documents, to be requested when needed. In the example, the basic idea is that A5 has access to the semantic data M1 (already) adapted from the original design documents. Activity A5 then complements M1 with an additional data component M2 (e.g. including the colour information). Note that for practical purposes, it makes sense to organise the semantic data managed by A5 into two modules, M1 and M2, simply because depending on the implementation, M1 might get "overwritten" when F1 is modified (when O1 is executed). When the activity P6 needs the information, it requests it using a general-purpose query processor, formulating an appropriate semantic query. (By a semantic query we mean here a query that can request data not only based on data structures, but also based on data types.) The relationship of information providers and requestors may be formalised by noticing that the information requirements can (also) in fact be expressed in terms of an information requirement schema (in the example the schema R1 posed by A6). However, in this setting, the design of the schema language application needs to be strong enough to be able to dictate not only the structure and data types of the models (which is generally the task of the information model schemas, i.e. S1, S2, and S3 in the example), but also the actual information content transmitted. For instance, in addition of requiring that the model includes objects with properties, say "type" and "model", one might typically also wish to require that at least two such objects are in fact provided with sensible content. 6 (10) Semogen Project Document: For internal project use only At this point it is worth emphasising that the above design (Figure 3) is quite technology-agnostic. In other words, it may be implemented using various ways. Strictly speaking, referring to XML (Extensible Markup Language) is also unnecessary – many other formats are also sufficient for purposes of data normalisation and transmitting. Potential technologies for data normalisation and interfaces include (at least) XML, RDF (Resource Description Format), and standards for transmitting relational data (such as ODBC, Open Database Connectivity). In practice, these only provide the standard basis for communication. Thus, for purposes of concrete applications, selecting and/or developing data structures and schemas are still needed. (The specification of data modelling is not in the scope of this document and is described elsewhere.) 4. Recommendation for Systemic Implementation While the above specification, analysis, and technical discussion of the semantic process might be helpful, they do not alone suffice in pointing out a tool etc. setting for concrete work. We shall next describe an approach for actually implementing the data processing perspective of the Semogen Semantic Process. The basic idea is to "translate" the abstract concepts into a specific pattern of well-known technologies and tools. 4.1. Components of the Semogen Semantic Process Development Environment The realisation of a Semogen Semantic Process Development Environment will include the following main components: 1. An integrated development environment (IDE), for managing data and interfacing with specific tools and applications (including access to version control systems and collaboration tools). 2. Definition of Semantic Process Project with a common project structure that provides an identity for resources related to a specific data processing application, in the IDE context. 3. Information requirements schema editor, for declaring the information needs of activities in a well-formed manner (see e.g. R1 in Figure A6). 4. Based on the previous information, a critical information path analyser/validator application, for supporting the production and mapping of high-quality information, to ensure that the information requirements of each activity are fulfilled. (The analyser/validator may, e.g., report the malformed or missing information items, the responsible activities, and produce an overall measure of the success of the validation, e.g. as "Pipeline data processor can access 75% of the information required by the activities.") 5. A pipeline data processor, for actually performing the data processing for, e.g., generator applications. 6. Data representation technologies suitable for (normalised) syntactic and semantic descriptions. 7. Application-specific tools, such as adapters and simulation model generators. 8. Interface to target applications systems, such as access and possibility to generate data into the Virtual Machine Laboratory Application. 9. Semantic information editor(s), for managing models and schemas, such as the shared information model schemas. We shall next briefly describe each in turn. 7 (10) Semogen Project Document: For internal project use only 4.2. Suggestions of Specific Tools and Technologies Without insisting a specific commercial document management system or similar, a relatively natural choice for implementing items 1 and 2 above, is to consider using Eclipse (http://www.eclipse.org/) for managing process information (see Figure 4). Figure 4. Eclipse environment As such, Eclipse provides the project concept, access to version control systems (e.g. SVN, http://subversion.apache.org/), provides various developer tools and add-ons (and entire perspectives etc.), and established common interfaces to other systems. Note that the Eclipse project concept in practice also makes the significant ontological commitment of representing most data in terms of a (logical) file system, i.e. as a structure of folders and files with special interpretation. The question of a common project structure, is a subtle one and needs to be analysed in detail later. However, an example of a decent project structure might look like this: semantic-processes/ /* E.g. Eclipse (or SVN) root directory/repository */ semogen-pilot1/ /* A single example project */ informative-docs/ /* Informal docs, a snapshot of the original source, etc. */ pipeline-processing/ validate-inforeqs.ant /* Information requirements validation script */ vmlab1-gen.ant /* Pipeline script for a virtual laboratory app1 generation */ vmlab2-gen.ant /* Pipeline script for a virtual laboratory app2 generation */ shared-schemas/ terms.skos /* Thesaurus of the common terms */ jumbo.owl /* Overall structure of the drilling machine */ simu.rdf /* Simulation component library index */ bom.rdf /* Bill of material, component names, parts catalogue, etc. */ lib/ simulink-library/ /* M-files etc. providing the basis of simulink generation */ 2D-diagram-symbol-library/ /* Etc. */ ... tools/ /* Specific tools and tasks (e.g. simulink model generator) */ 8 (10) Semogen Project Document: For internal project use only activities/ hydraulics-design/ requirements/ resources/ external/ /* mappings/ /* sem-desc/ /* generated/ /* vmlab1/ vmlab2/ mechanical-design/ ... ... /* Each process activity represented as a sub-directory. */ /* En example activity as a dir with a common structure */ /* Information requirement schemas of this activity */ E.g. externally edited rich CAD files, to be adapted/mapped */ Information mechanically adapted from the external data */ Manually added descriptions, on top of the mapped data */ Pipeline-generated content; a dir for each pipeline script */ Note that relationship with the semantic process is relatively straightforward. In particular, each modelled activity that acts as a provider and/or requestor in the process, is modelled as a sub-directory in the activities directory (see figures 1 and 3). As a consequence, the abstract model yields a particular file structure of the project, and vice versa. Note that for simplicity, we have above assumed that the information requirements definition simply includes the information requirements of all applications (here vmlab1 and vmlab2). If more sophisticated modelling is needed, a more refined project structure is needed as well. At first, the information requirement schema editor is probably covered by a structured text editor (e.g. several XML editor plug-ins are available for Eclipse). Of course, the choice strongly depends on the adopted schema language – using a graphical editor would be preferable at some point. The analyser/validator and pipeline processor tools can be implemented using an ant processor (again available in Eclipse, see http://ant.apache.org/), with a combination of schema processors (e.g. for XML Schema, RDF vocabularies, and Schematron) and scripts. Suitable data representation technologies are XML and RDF vocabularies. For purposes of semantic data processing, semantic relational models might be favoured, strengthened with semantic network models when absolutely necessary. Implementation of the adapters and model generators depends on the legacy data formats. However, general-purpose data transformation and scripting applications seem reasonable (e.g. Ant, XSLT, Python, etc.). When the legacy data cannot be easily parsed as such, export functionalities should be investigated (the prime example here is the excellent SVG export of the Vertex tools). When everything else fails, adopting Java/C#/C++ approaches might make sense. At first the interface to the Virtual Machine Laboratory Application can simply be established simply by copying/mirroring the appropriate subdirectories into the virtual environment subdirectories (including the generated output of a data processing pipeline for a particular application), and refreshing/rebooting the target environment when necessary. Later, a more powerful interface can be established, when needed. Semantic information editors, e.g. for the information model schemas, are selected according to the schema language (e.g. Protege, open source XML Schema editors/validators, etc.). 9 (10) Semogen Project Document: For internal project use only 4.3. Relationship with Design and Application Systems It is worth emphasising that the Semogen Semantic Process Development Environment is meant as a tool for the knowledge engineer and aims not including every component of the application context. In particular, the actual (machine) design and target applications (and all of the related user roles) are not to be replicated within the semantic process development environment. Figure 5. Relationship of the Semogen Semantic Process Development Environment, design authoring tools, and target applications Figure 5 above depicts the basic design stance. In brief, the idea is that actual technical design is carried out using the existing design tools (but perhaps following with specific guidelines, e.g., for good data quality from the perspective of the semantic data processing). Design data are then stored to the Semogen development environment. When final application data is available (e.g. produced by the generation tools), it can be deployed to the target applications via a simple file interface. This simple setting provides a concrete way to enrich data and generate applications. Note that using a graphical IDE allows creating nice-looking toolbars of visual controls for executing, e.g., the verification/validation, generation, and deployment tools. 5. Conclusion In this document we have briefly identified and analysed the Semogen Semantic Process from the data processing perspective. This work aims providing a basement and organisation for further activities, including the related machine design process and semantic modelling activities, and experiments. 10 (10) OSIO II Väliraportti Huom! Osion tiedot saattavat olla puutteellisia tai ristiriitaisia loppuraportin kanssa, koska väliraportointivaiheessa kaikkea tietoa ei ollut käytettävissä. 1 | Semogen-väliraportti, joulukuu 2010 | 1 (44) Teollisuuden älykkäiden ja virtuaalisten konelaboratorioiden tuotantomenetelmien kehitys semanttisen kuvauksen avulla –Semogen hanke: Semogen-väliraportti, joulukuu 2010 Tampereen teknillinen yliopisto, Smart Simulators –ryhmä Ossi Nykänen, toimittaja Vänni Alarotu Matti Helminen Kari T. Koskinen Mikko Markkula Tuija Palonen Seppo Pohjolainen Pekka Ranta Markus Rokala Jaakko Salonen Tiivistelmä. Tämä raportti jäsentää viipaleen hankkeen tutkimustyöstä joulukuulla 2010. Raportin tarkoituksena on luoda katsaus selvitystyön pohjalta rakennettuihin ensimmäisiin malleihin ja suoritettuihin käytännön kokeiluihin. Tapaustutkimuksen näkökulmasta työn keskeinen anti on raportoida testiaineiston semanttisesta rikastamisesta ja "käsityönä" suoritetusta jatkojalostamisesta. Nyt ensimmäisessä vaiheessa työtä on siis tehty aineiston varassa, jota ei ole alun perin tuotettu semanttisen prosessin tarpeet silmällä pitäen. Alkuolettamusten mukaisesti, eräs tämän raportin suuntaa-antavimmista havainnoista onkin se, että konkreettisen semanttisen projektin keskeinen haaste on kompleksisuuden hallinta, erityisesti hyvälaatuisen teknisen suunnitteluinformaation osalta. Niinpä esim. generoinnin haasteiden ratkaiseminen konkreettisissa suunnitteluprojekteissa edellyttää teknisten menetelmien ohella myös henkilöresursointiin liittyvää panostusta. Tuotantomenetelmien automatisointimahdollisuudet vaikuttavat lupaavilta. Versio v22 15.12.2010; vain Semogen –hankkeen sisäiseen käyttöön Jakelu Jakelu: Pauli Lappalainen AEL, Pasi Kaskinen AEL, Raimo Kivioja Etteplan, Mikko Gratschew Etteplan, Kari Kovanen Etteplan, Jari Tiittanen Etteplan, Tomi Martikainen Etteplan, Pekka Anttonen Sandvik Mining and Construction Oy, Heikki Saha Sandvik Mining and Construction Oy, Jussi Puura Sandvik Mining and Construction Oy, Veijo Niemelä Vertex Systems Oy, Manu Lammela Vertex Systems Oy, Jorma Salli Vertex Systems Oy, Juha Leppänen Tuotekehitys Tamlink Oy, Kari T. Koskinen TTY/Hydrauliikan ja automatiikan laitos, Seppo Pohjolainen TTY/Matematiikan laitos/Hypermedialaboratorio, Ossi Nykänen TTY/Matematiikan laitos/Hypermedialaboratorio, Pekka Ranta TTY/Matematiikan laitos/Hypermedialaboratorio ja Semogen –hankkeen tutkimushenkilöstö | Semogen-väliraportti, joulukuu 2010 | 2 (44) Sisällysluettelo Lyhenteet ........................................................................................................................................................... 4 1. Johdanto......................................................................................................................................................... 5 2. Selvitykset ja mallit ....................................................................................................................................... 6 2.1. Systeeminen näkökulma ......................................................................................................................... 6 2.2. Selvitys luonnollisen suunnitteluprosessin osa-alueista ......................................................................... 8 2.2.1. Suunnitteluprosessin osa-alueet ....................................................................................................... 9 2.2.2. Suunnitteluprosessin välineet ja käytänteet ................................................................................... 10 2.3. Semanttinen prosessi suunnitteluprosessin osana................................................................................. 11 3. Tapaustutkimus............................................................................................................................................ 13 3.1. Yleiskatsaus aineistoon ja CASE-rajaus............................................................................................... 13 3.2. Hydrauliikkasuunnittelu ....................................................................................................................... 16 3.2.1. HD-aineisto.................................................................................................................................... 16 3.2.2. Rikastaminen ................................................................................................................................. 17 3.2.3. SVG-Export-toiminto .................................................................................................................... 18 3.2.4. HD-annotointi vs. ulkoisen tiedoston käyttö ................................................................................. 20 3.3. CAN...................................................................................................................................................... 21 3.3.1. CAN-aineisto ................................................................................................................................. 21 3.3.2. CAN-generointi ............................................................................................................................. 23 3.4. 3D ......................................................................................................................................................... 24 3.4.1. Aineisto.......................................................................................................................................... 24 3.4.2. Automaattisen generoinnin haasteet .............................................................................................. 25 3.5. Tietojen tuonti perusjärjestelmistä ja integrointi semanttiseen malliin ................................................ 26 3.5.1. Tietojen tuonti perusjärjestelmistä ................................................................................................. 26 3.5.2. Integrointi semanttiseen malliin .................................................................................................... 27 3.5.3. Sanastokartoitus ............................................................................................................................. 27 3.6. Pilot-ympäristön 1. prototyyppi ............................................................................................................ 31 3.7. Simulointimalliaihiot ............................................................................................................................ 34 3.7.1. Aihioiden yhdistämiseen ja parametrisointiin vaadittavat tiedot ................................................... 34 3.7.2. Simulink-aihiot ja generoinnin haasteita ....................................................................................... 34 3.7.3. Mallinnetut komponentit ............................................................................................................... 35 3.8. Case: nostotoiminto .............................................................................................................................. 35 3.8.1. Tavoite ........................................................................................................................................... 35 3.8.2. Tietojen tuonti perusjärjestelmästä RDF-kuvaukseen ................................................................... 36 3.8.3. Simulointimallien generointi aihioista RDF-kuvauksen perusteella ............................................. 37 | Semogen-väliraportti, joulukuu 2010 | 3 (44) 3.8.4. Tuotoksen lyhyt esittely, yleistettävyyden haasteita ..................................................................... 38 4. Tiedotus ja kaupallistaminen ....................................................................................................................... 40 4.1. Tiedotus ................................................................................................................................................ 40 4.2. Kaupallistaminen .................................................................................................................................. 42 5. Yhteenveto................................................................................................................................................... 42 Lähteet ............................................................................................................................................................. 43 | Semogen-väliraportti, joulukuu 2010 | 4 (44) Lyhenteet CAD Computer-Aided Design CAN Controller Area Network DBC CAN Database File DCF Device Configuration File EDS Electronic Data Sheet IDE Integrated Development Environment MDL Simulink Simulation Model OWL Web Ontology Language PDM Product Data Management PLC Programmable Logic Controller PLM Product Lifecycle Management RDF Resource Description Framework RDF/XML RDF/XML Syntax Specification RDFS Resource Description Framework (RDF) Schema Specification SKOS Simple Knowledge Organization System SPARQL SPARQL Query Language for RDF STEP Standard for the Exchange of Product Model Data SVG Scalable Vector Graphics URI Uniform Resource Identifier X3D Extensible 3D XML Extensible Markup Language XSLT Extensible Stylesheet Language (XSL) Transformations | Semogen-väliraportti, joulukuu 2010 | 5 (44) 1. Johdanto Semogen -hankkeessa tutkitaan semanttisia kuvausmenetelmiä, mallien automaattista generointia ja älykkäitä piirteitä sekä niitä sovelletaan virtuaalilaboratorioprototyypin kehitykseen. Hankkeen punaisena lankana on virtuaalisten konelaboratorioiden tuotantomenetelmien tutkimus. Tämä raportti jäsentää viipaleen hankkeen tutkimustyöstä joulukuulla 2010. Työ rakentuu kesällä 2010 kootun selvitysraportin (Ranta et al., 2010), jäsennettyjen tutkimusaineistojen, selvitysten ja kokeilujen varaan. Raportin tarkoituksena on luoda katsaus selvitystyön pohjalta rakennettuihin ensimmäisiin malleihin ja kokeiluihin. Raportti tarjoaa osaltaan myös puitteet pohdinnalle ja tutkimuskysymysten täsmentämiselle. Kun tutkimushanke käynnistyi, tutkimustyön pohjaksi asetettiin kolme suuntaa-antavaa sovellusesimerkkiä: 1) Huoltoasentajakoulutus ja kouluttajan työvälineet, 2) Automaattinen generointi ja 3) Jumbon puomin konstruktiomuutos. Nyt käsillä olevassa raportissa päähuomio kohdistuu erityisesti automaattisen generoinnin sovellusesimerkkiin. Syy on se, että automaattinen generointi on sovellusesimerkeistä monella tapaa haastavin, ja yhdessä empiirisen aineiston jäsentämisen kanssa tarjoaa siten varsin konkreettisen tutkimusongelman eri näkökulmista pureskeltavaksi: Konstruktiomuutos voidaan tässä tulkita erikoistapaukseksi generointitehtävästä, huoltoasentajakoulutus puolestaan koko prosessin taustalla vaikuttavaksi käyttökontekstiksi. Teknisen selvityksen ja kokeilujen ohella, eräs tämän raportin suuntaa-antavimmista havainnoista on se, että konkreettisen projektin keskeinen haaste on kompleksisuuden hallinta, erityisesti hyvälaatuisen teknisen suunnitteluinformaation osalta. Käytännön projektikulttuuri huomioiden, tämä voi tarkoittaa/vaatia joko lisäresurssia pääsuunnittelijan roolille, tai kokonaan uuden henkilöresurssin esittelyä suunnitteluprosessin osaksi: Pienen projektiryhmän näkökulmasta melko konkreettinen tulos on havainto "teknisen tietämyksen pääsuunnittelijan" (knowledge engineer) roolin tarpeellisuudesta. Tämä väliraportti jakautuu pääpiirteissään viiteen osaan. Tätä johdantoa seuraavassa toisessa osassa tarkastellaan tutkimusongelmaa systeemitasolla ja luonnehditaan ilmiötä kokonaisuutena. Raportin kolmas osa keskittyy generoinnin tapaustutkimukseen ja jalostaa esiselvityksessä linjattuja aineistoja ja menetelmiä tarkoituksena testata näitä käytännössä. Raportin neljäs osa kirjaa havaintoja tiedotukseen ja kaupallistamiseen liittyen ja viides osa sisältää tiiviin yhteenvedon. (Todettakoon vielä, että osiot 2 ja 3 sisältävät poimintoja projektiryhmän toistaiseksi julkaisemattomista tuloksista. Niiden julkaisu tieteellisissä lehdissä/konferensseissa etenee projektin julkaisusuunnitelman mukaisesti.) Hankkeen yrityskumppanit ovat merkittävällä tavalla tukeneet työtä. Lämmin kiitos ohjausryhmän jäsenten lisäksi AEL: Pasi Kaskinen, Harry Nordman, Eeva Varhomaa, Sandvik Mining and Construction Oy: Pekka Anttonen, Heikki Saha, Jussi Puura ja Mikko Valtee, Vertex Systems Oy: Manu Lammela, Jorma Salli ja Erkki Laitinen, Etteplan Design Center Oy: Mikko Gratschew, Jari Tiittanen, Tomi Martikainen, Antti Peltola sekä TKE Oy: Timo Kesti ja Patrik Nylund aineistoista, kommenteista ja näkemyksistä. | Semogen-väliraportti, joulukuu 2010 | 6 (44) 2. Selvitykset ja mallit 2.1. Systeeminen näkökulma Kenties luontevin tapa jäsentää koneensuunnitteluun ja tuotantoprosesseihin liittyviä (semanttisia) malleja ja aktiviteettejä, on tarkastella aluksi ongelmakenttään sisältyviä eritasoisia prosesseja. Tässä asiayhteydessä voidaan minimissään tunnistaa seuraavat, tavalla tai toisella toisiinsa liittyvät prosessit: Liiketoimintaprosessi (Suunnitteluprojektien prosessien) metasuunnitteluprosessi (Tietyn yksittäisen) suunnitteluprojektin prosessi Liiketoimintaprosessi vaikuttaa organisaation tasolla, osoittaen yrityksen yleisen vision ja pelisääntöjen ohella yksittäisten projektien yleiset puitteet, seurannan ja hyväksyttävän tuloksen mittarit sekä tietenkin resursoinnin ja laskutuksen periaatteet. Liiketoimintaprosessi vaikuttaa konkreettisesti myös esim. alihankintasopimusten yms. muodossa; koneensuunnittelussa tähän liittyy esim. yhteistyö tiettyjen komponenttitoimittajien kanssa jne. Metasuunnitteluprosessi liittyy tietyn suunnitteluprojektin prosessin suunnitteluun. Se tyypillisesti käsittää projektien prosessimallin valinnan (esim. nelivaiheinen projekti jonka sisällä tietty määrä iteratiivisia aktiviteettejä), tehtävien roolituksen periaatteet, palaveri- ja dokumentointikäytännöt sekä välinevalinnat. Asiaan liittyy yleensä myös mm. seurannan mekanismien valintaa, projektihenkilöstön kouluttamista, sekä aikaisemmista projekteista saatujen kokemusten soveltamista. Vaikka metasuunnitteluprosessi voidaan pääasiallisesti tulkita organisaation sisäisenä kehitystehtävänä, harjoitetaan metasuunnittelua käytännössä usein osana uusien asiakasprojektien määrittelyä (ja siten osana tiettyjen suunnitteluprojektin prosesseja). Tietyn yksittäisen suunnitteluprojektin prosessilla tarkoitetaan tässä tiettyä konkreettista hanketta, joka tähtää esimerkiksi liikkuvan työkoneen suunnitteluun, toteutukseen sekä mm. aftermarkettoimintoihin, liiketoimintaprosessin rajausten mukaisesti. Yhteys metasuunnitteluun näkyy esimerkiksi systemaattisina projektikäytäntöinä organisaation projektikannassa. Semogen-hankkeessa esille nostettu semanttinen prosessi voidaan nyt tunnistaa osana sekä metasuunnitteluprosessia, että tietyn yksittäisen suunnitteluprojektin prosessia: Se on osa metasuunnittelua, joka tuo myös suunnitteluprojektien prosesseihin uusia konkreettisia piirteitä. Ideatasolla semanttisessa prosessiajattelussa on kyse suunnitteluprojektin semanttisen tietosisällön ja tietovirtojen (mekaaniseen, semanttiseen) mallintamisesta ja hallinnasta, valittujen käyttötapausten ohjaamana. Automaattisen generoinnin sovellusesimerkin näkökulmasta semanttinen prosessi korostaa informaation (mekaanista) uudelleenkäyttöä peräkkäisen suunnitteluprosessin eri vaiheissa. Tämä paitsi asettaa tietyn suunnitteluprojektin prosessille teknisiä vaatimuksia työtehtävien tuotosten osalta, korostaa se myös työtehtävien roolien ja vastuiden merkitystä. Semanttinen prosessiajattelu näkyy siten melko konkreettisesti esim. täsmennettyinä suunnittelukäytänteinä (esim. nimet ja viitattavuus), teknisinä välineinä (esim. informaation muunnokset ja sovellusten generointi) sekä uusina informaation laaduntarkkailun ja rikastamisen tehtävinä (esim. validointi, katveet, tietotarpeiden määrittely ja lisätiedon tuotanto). Huomaa että kokonaan uuden tiedon tuottamisen sijaan kyse voi olla myös "vain" hiljaisen tiedon ulkoistamisesta tai tiedon muokkauksesta esimerkiksi muistiinpanoista ja sähköposteista | Semogen-väliraportti, joulukuu 2010 | 7 (44) Tuotantomenetelmien näkökulmasta, keskeinen Semogen-tutkimuskysymys voidaan edellä esitetyn valossa esittää nyt kaksiosaisena: Ensin melko abstraktina kysymyksenä (A) semanttisen prosessin piirteistä ja minivaatimuksista osana metasuunnittelua, ja sitten huomattavan konkreettisena kysymyksenä (B) semanttisen prosessin edellyttämistä semanttisista malleista, informaatiorajapinnoista, välineistä ja työtehtävistä osana tietyn suunnitteluprojektin prosessia. Haaste on molemmissa tapauksissa merkittävä: Metasuunnittelu lähtee perinteisesti ihmisten suorittamien työtehtävien suunnittelusta (tavoitteet esim. projektien ja projektitiedon toistettavuudelle/siirrettävyydelle on esitetty hyvin abstraktilla tasolla); konkreettisten suunnitteluprojektien prosessin ohjaus puolestaan asiakkaalta suoraan laskutettavista työtehtävistä (esim. informaation laatua koneellisen käsittelyn näkökulmasta ei perinteisesti mitata/vaadita). Kuva 2.1.1. Semanttinen prosessi ja projektin tyypilliset tietojärjestelmät yhteyksineen On ilmeistä että konkreettisen suunnitteluprojektin välineet (CAD, PDM, yms.) määrittelevät merkittäviä reunaehtoja semanttisen prosessin toteutukselle. Asiaan liittyvien tietojärjestelmien näkökulmasta, tietyn suunnitteluprojektin yhteydessä, voidaan tunnistaa toisaalta legacyjärjestelmien käyttöä melko vapaamuotoisesti ohjeistavia, ja toisaalta semanttista prosessia formaalisti implementoivia toimenpiteitä (kuva 2.1.1). Näistä ensimmäinen ohjeistaa suunnittelutyötä esim. kirjaamaan tarvittavat tiedot CAD-dokumentteihin ja jäsentämään semanttiseen prosessointiin liittyviä työtehtäviä (kuvassa katkoviivalla merkitty palaute), toinen puolestaan esim. mallintamaan, rikastamaan ja prosessoimaan semanttisen prosessin käsittämää tietoa spesifien menetelmien ja tekniikoiden avulla, tavoitteena esim. tuottaa raakasisältöä valittuihin sovelluksiin (kuvassa tummennetut järjestelmäkomponentit). | Semogen-väliraportti, joulukuu 2010 | 8 (44) Kuva 2.1.2. Esimerkki: Suunnitteluohjelmat, semanttinen prosessi ja kohdesovellukset (Nykänen, 2010) Legacy-järjestelmien ja kohdesovellusten rajapinnan huomiointi on erityisen tärkeää generointisovelluksen näkökulmasta. Periaatteessa neutraalein tapa hyödyntää semanttista prosessiajattelua generointimielessä, on yksinkertaisesti tulkita semanttisen prosessi "toimenpiteinä" esim. legacy-suunnitteluohjelmien ja kohdesovelluksen välillä (ks. kuva 2.1.2). Tämä mahdollistaa järjestelmän käyttöönoton siten, että esim. vaikutukset (periaatteessa annettuihin) legacysovelluksiin jäävät vähäisiksi; minimissään siis hyvien käytäntöjen tasolla annetuiksi ohjeiksi. Seuraavaksi pureudumme Semogen-tutkimuskysymyksen metasuunnittelun ongelmaan (A) kahta reittiä pitkin. Ensin analysoidaan vallitsevan projektikulttuurin tyypillisiä piirteitä ja peilataan semanttista prosessia osana eritasoisia suunnitteluprosesseja. Tietyn suunnitteluprojektin prosessin konkretiaan (B) syvennytään tämän jälkeen tapaustutkimuksen keinoin luvussa 3. 2.2. Selvitys luonnollisen suunnitteluprosessin osa-alueista Suunnitteluprosessin jäsentämiseksi sekä eri vaiheista saatavan tiedon selvittämiseksi käytiin tekemässä haastattelututkimukset kolmessa, hieman eri roolissa toimivassa, yrityksessä: Sandvik Mining and Construction Oy, Etteplan Design Center Oy ja Vertex Systems Oy. Näistä yrityksistä Sandvik Mining and Construction kehittää, suunnittelee ja valmistaa koneita kaivos- ja maansiirtotoimintaan. Sandvikin toimittamat koneet ovat hyviä esimerkkejä moderneista moniteknisistä järjestelmistä, joissa yhdistyy käytännössä kaikki edellä mainitut suunnittelualueet. Etteplan taas tarjoaa suunnittelu-, dokumentaatio- ja tuotetiedonhallintapalveluja muun muassa Sandvikin kaltaisille yrityksille. Nämä suunnittelupalvelut kattavat kaikki luetellut suunnittelualueet. Vertex Systems eroaa Sandvikista ja Etteplanista siten, että kyseinen yritys pääasiassa kehittää ja toimittaa työkalut, eli ohjelmistot, joita Sandvikin ja Etteplanin kaltaiset yritykset voivat käyttää suunnittelussa, tuotetiedon hallinnassa sekä dokumentoinnissa. Etteplan Design Center Oy:ssa koneensuunnitteluprosessi mallinnettu ja tuotteistettu. He tarjoavat konseptointi-, prototyyppi-, sovellus- ja ylläpitosuunnittelupalveluja sekä lujuuslaskentaa, tuoteparantelua sekä tuotteistamistukea (Etteplan tuotesuunnittelupalvelut, 2010). Tätä palvelua koneenrakennusyritykset voivat hyödyntää tarvitsemissaan osa-alueissa. | Semogen-väliraportti, joulukuu 2010 | 9 (44) 2.2.1. Suunnitteluprosessin osa-alueet Haastattelujen perusteella suunnitteluprosessi jaettiin karkeasti neljään suureen eri vaiheeseen. Nämä eri vaiheet ovat esisuunnittelu tarjousvaiheen tukena, perussuunnittelu, valmistus/tuotantosuunitteluuunnittelu sekä huolto- ja kunnossapitosuunnittelu, jotka on tarkemmin esitelty liitteessä A. Nämä osa-alueet ovat hyvin suuria kokonaisuuksia ja eroja niiden sisältämillä osioilla esiintyy jopa henkilötasolla suunnittelualojen tasolta puhumattakaan. Riippuen suunniteltavasta koneesta tai esimerkiksi projektin aikataulusta, voi eri osa-alueiden osioita esiintyä myös muissa osa-alueissa. Esisuunnittelussa tarjousvaiheen tukena selvitetään yleensä asiakkaan vaatimusmäärittelyn sekä standardien ja suunnitteluohjeiden avulla reunaehdot koneen suunnittelulle. Tämä ensimmäinen osa-alue tunnistetaan yleensä kaikkein tärkeimmäksi, koska mitä paremmin tämä suunnittelun vaihe tehdään sitä vähemmän yllätyksiä projektin edetessä tulee vastaan. Esisuunnitteluun vaikuttavat myös kiireiset aikatauluvaatimukset. Tässä vaiheessa ovat yleensä mukana mekaniikka-, hydrauliikka-, automaatio- ja sähkösuunnittelijat sekä pääsuunnittelija/projektipäällikkö ohjaavassa roolissa. Näiden suunnittelijoiden hiljaista tietoa sekä aikaisempien projektien tietoja käytetään runsaasti hyväksi tässä vaiheessa. Esisuunnittelussa saatujen pohjatietojen perusteella suunnittelijat voivat aloittaa koneen perussuunnittelun, joka on toinen osa-alue, kuten liitteestä A voidaan nähdä. Perussuunnittelun osaalueessa suunnitellaan kone valmiiksi suunnitteluohjelmistojen avulla. Modernit suunnitteluohjelmistot tekevät mahdolliseksi koneen tarkastelun kolmiulotteisen mallin avulla. Koneen eri toimintoja ja toteutustapoja voidaan myös nykyohjelmistoilla simuloida melko tarkasti tässä vaiheessa, ennen prototyypin valmistusta. Eri suunnittelijoiden toiminnot on esitetty tarkemmin liitteessä A. Kolmannessa osa-alueessa, valmistus-/tuotantosuunnittelussa, eri suunnittelijat muokkaavat suunnitteluratkaisut lopulliseen muotoon koneen valmistusta varten. Tässä vaiheessa siis tuotetaan valmistus- ja kokoonpanokuvat sekä erilaiset piirikaaviot ja muut valmistusohjeet. Valmistus/tuotantosuunittelussa tulee mukaan edellä mainittujen suunnittelijoiden lisäksi vielä osto- ja tuotannon suunnittelu. Näiden tehtävänä on suunnitella koneen valmistuksessa käytettävien valmiiden komponenttien hankinta sekä koneen tuotannon sovittaminen tuotantolinjalle muun tuotannon joukkoon. Viimeisessä suunnittelun osa-alueessa, huolto- ja kunnossapitosuunnittelussa, suunnittelijat tuottavat materiaalia koneen dokumentaatioon. Tämän materiaalin avulla voidaan koneelle tuottaa huolto- ja käyttöohjeet. Tässä vaiheessa suunnitteluun tulee mukaan myös After Market- toiminnan suunnittelu, jossa kehitetään koneelle huolto-ohjelmat ja varaosapaketit. Tämä toiminta on yhä suuremmassa roolissa nykyisten konevalmistajien liiketoiminnassa. Suunnittelualojen välisiä yhteyksiä tarkasteltaessa mekaniikkasuunnittelijan rooli nousi keskeiseksi tehdyissä haastatteluissa. Mekaniikkasuunnittelija suunnittelee koneen mekaanisen rakenteen sekä mekanismit, joita käytetään esimerkiksi hydraulisilla toimilaitteilla. Mekaniikka- tai hydrauliikkasuunnittelija valitsee koneessa käytettävät toimilaitteet ja hydrauliikkasuunnittelija suunnittelee koneen hydrauliikkajärjestelmän siten, että mekanismien toiminnot voidaan toteuttaa halutusti. Sähkösuunnittelija taas suunnittelee koneen sähköjärjestelmät siten, että toimilaitteita ohjaavia venttiileitä voidaan ohjata ja automaatiosuunnittelija suunnittelee toimilaitteiden ohjaukseen tarvittavat anturoinnit sekä ohjelmiston. Mekaniikkasuunnittelijan tehtäviin kuuluu myös näiden osa-alueiden fyysisten komponenttien sovitus itse koneeseen. Jokaisen suunnittelijan | Semogen-väliraportti, joulukuu 2010 | 10 (44) oma osa-alue on kuitenkin yhtä tärkeä koneen toiminnan kannalta, koska ilman yhtä osa-aluetta muut eivät voi toimia. Tuotetiedonhallinta on tuotu liitteessä A melko uutena roolina mukaan suunnitteluprosessiin. Nykyisin yrityksissä tiedon lisääminen esimerkiksi PDM-järjestelmään tapahtuu yksittäisten suunnittelijoiden toimesta. Ohjeistuksena on yleensä käyttää jo valmiiksi järjestelmästä löytyviä komponentteja koneen suunnittelussa. Tästä saatetaan kuitenkin joustaa muun muassa erilaisten nimeämiskäytäntöjen vuoksi, jolloin suunnittelija ei välttämättä löydä hakemaansa komponenttia, vaikka se on jo syötetty järjestelmään. Tällöin suunnittelija lisää järjestelmään komponentin uudestaan hieman eri nimellä. Näin järjestelmään voi ajan kuluessa ilmestyä samalle komponentille useita eri nimikkeitä (duplikaatteja) ja järjestelmän koko paisuu tarpeettomasti. Tuotetiedonhallinnoijan tehtäväksi on haastattelujen perusteella ajateltu tämän päällekkäisen tiedon vähentämistä ja eri tietojärjestelmien valvontaa. Joissakin yrityksissa tiedon oikeellisuudesta ja validiuden tarkastelusta on vastannut normitarkastaja, jolla on yhteys tämän raportin "teknisen tietämyksen pääsuunnittelijaan" (Johdanto). 2.2.2. Suunnitteluprosessin välineet ja käytänteet Yrityksissä tehdyn haastattelututkimuksen avulla, voitiin kartoittaa kattavasti eri suunnitteluosaalueiden vaiheita. Haastattelujen perusteella havaittiin modernissa koneensuunnitteluprosessissa saman koneen suunnitteluun osallistuvan useita eri alan asiantuntijoita. Näitä aloja ovat muun muassa mekaniikka-, hydrauliikka/pneumatiikka-, automaatio-, sähkö- ja ohjelmistosuunnittelu. Nämä suunnittelun osa-alueet voivat limittyä hyvinkin voimakkaasti riippuen suunnitteluorganisaation koosta, jolloin sama suunnittelija voi tehdä esimerkiksi mekaniikka- ja hydrauliikkasuunnittelua. Suunnittelijoilla on käytössään omaan alaansa liittyviä suunnitteluohjelmistoja kuten esimerkiksi mekaniikkasuunnittelijan käyttämä 3D-CAD-ohjelmisto tai automaatiosuunnittelijan käyttämät ohjelmistonkehitystyökalut. Eri suunnittelualojen ohjelmistoja yhdistää yrityksessä yleensä PLM(Product Life Management) ja PDM(Product Data Management)-ohjelmisto, joihin n eri suunnitteluohjelmistoilla tehdyt tiedostot tallennetaan ja joiden välityksellä tiedostoja voidaan jakaa sekä hallinnoida. Haastatteluissa tuli esille, että osa suunnittelussa syntyvästä ja suunnittelun pohjana käytettävästä tiedosta ei ole välttämättä tallennettu mihinkään yhteiseen tietokantaan kaikkien saataville. Tämä tieto löytyy yksittäisen suunnittelijan koneen kovalevyltä, suunnittteluohjelmasta palaverimuistioista tai äärimmäisessä tapauksessa hiljaisena tietona suunnittelijan päästä. Nämä tiedot välittyvät vain suullisesti esimerkiksi palavereissa. Usein myös yhteisesti saataville tallennettu tieto on kyllä suunnittelijan saatavilla, mutta tallennuformaatti on sellainen, että tietokone ei tätä pysty käsittelemään. Lisäksi tuotanto tekee usein muutoksia suunnitelmiin. Tämä tieto pitäisi pystyä päivittämään myös suunnitteluaineistoon. Suunnitteluprosessissa käytetyt välineet ovat vastaavia kuin tässä raportissa kuvattujen aineistojen tuottaminen (viittaus luku 3). Haastatteluissa nousi esiin myös standardeja kuten konedirektiivin mukainen viitetunnuslista (Y-tunnuslista), jolla yksilöidään nimi, sijainti ja selitys. Esimerkkinä puomin venttiili +1BOO-Y26, joka tulkitaan + sijainti ykköspuomi, - laite Y=venttiili 26 liike (nosto). Tämän tunnuslistan käyttö kannattaa tarkemmin selvittää. Konedirektiivien mukainen suunnittelu korostuu koneenrakennuksessa. Tämä kehys luo lain vaatimukset. | Semogen-väliraportti, joulukuu 2010 | 11 (44) Suunnittelijoilla on myös haasteita käsitellä koko laitteen aineistoa. Useassa haastattelussa nousi esiin toiminnallisten kokonaisuuksien jäsennystarve. Mikäli laitteesta voitaisiin jäsentää moniteknisiä toiminnallisia kokonaisuuksia, suunnittelija voisi keskittyä tiettyyn kokonaisuuteen kerrallaan. Tämä tukisi myös kommunikaatiota. Tällaista rakennetta ei suunnitteluaineistoihin tällä hetkellä tuoteta. Virtuaalisen konelaboratorion näkökulmasta toiminnallinen kokonaisuus tarjoaisi myös mielekkään jäsennyksen. Suunnitteluprosessien analysoinnissa nousi esiin kontekstisidonnaisuus. Eri yritykset työskentelevät eri tavoin. Yhtä ainoaa ”oikeata” mallia on erittäin haastava määrittää. Vaikuttaa siltä, että tahtotila semanttisen prosessin periaatteisiin on kuitenkin tunnistettu. Tällä hetkellä ei ole yhtä suunnittelujärjestelmää, jonka avulla voisi suunnitella, kommunikoida, dokumentoida ja hallita monialaista suunnitteluprosessia siten, että aineistot olisivat yhteensopivia ja kaikki suunnittelutieto (myös kokous- ja henkilöidenvälinen suora yhteys) olisi kattavasti käytössä. 2.3. Semanttinen prosessi suunnitteluprosessin osana Kuten todettua, semanttinen prosessi voidaan intuitiivisesti ymmärtää pyrkimyksenä kuvata ja hallinta esim. (tietyn konkreettisen) suunnitteluprojektin prosessin tietoja tiedon mekaanisen käsittelyn näkökulmasta (ks. Nykänen 2010 ja kuva 2.3.1). Seuraavaksi tarkastellaan lyhyesti tämän intuition jäsentämistä teoreettisen tarkastelun ja edelleen implementoinnin suhteen. Kuva 2.3.1. Intuitiivinen ja yksinkertaistettu esimerkki semanttisesta prosessista Semanttinen prosessi voidaan pelkistetysti esittää tietoa käsittelevän putkilinjaston tavoin, siten että putkilinjaston yksittäisten käsittelyaskelten yhteyteen on liitetty skeematyyppistä tietoa. Putkilinja voidaan edelleen käsittää käsittelyaskelten suhteen suunnattua graafina, jossa ei esiinny suljettuja piirejä. Kuva 2.3.2. Semanttisen prosessin osat (esimerkki) Hyvin abstraktissa mielessä, semanttinen prosessi voidaan käsittää nelikkona <A, T, C, R>. Kuva 2.3.2 esittää yksinkertaista semanttista prosessia joka koostuu kolmesta esiehdoin merkitystä aktiviteetista (A), kolmesta prosessointitehtävästä (T), kahdesta vaaditun informaatiorajapinnan määrittelevästä skeemasta (R) sekä kolmesta kommunikaatioon liittyvästä (tässä hierarkkisesta) | Semogen-väliraportti, joulukuu 2010 | 12 (44) skeemasta (C). Sovelluksissa mallinnuksen tarkkuus riippuu sovellustarpeista sekä tarjolla olevasta informaatiosta. Kuva 2.3.3. Informaatio-objektien kuvaaminen aktiviteettien välillä (esimerkki) Muodollisesti tarkasteltuna, semanttinen prosessi liittää kuhunkin aktiviteettiin joukon semanttisesti kuvailtuja informaatio-objekteja (teknisesti semanttisin lausumin kuvailtuja resursseja; esim. pumppu josta tiedetään tyyppi, teho, sekä paikka hydraulikaaviossa). Osa objekteista on tuotettu aktiviteetissä itsessään, osa kuvattu edeltävissä aktiviteeteissa (ks. kuva 2.3.3). Esimerkiksi simulointimallin generoinnin yhteydessä simulointimalliin voidaan tuoda tietoja hydrauliikkakaavioon kirjatuista tiedoista. Näin generointi voi mekaanisesti hyödyntää jo aikaisemmin tuotettua tietoa. On merkillepantavaa, että tiedon mekaanisen prosessoinnin näkökulmasta tietojen kuvaaminen kahden aktiviteetin (esim. Ai ja Aj) välillä onnistuu vain, mikäli kaksi esiehtoa toteutuu (vrt. kuva 2.3.1): 1. Aktiviteetin Aj edeltävältä aktiviteetiltä Ai tarvitsema informaatio on koodattu asianmukaisella tavalla, sisältäen vaaditut tiedot halutuista informaatio-objekteista. 2. Aktiviteetin Aj tulkinta käytetystä kuvailusanastoista (semantiikka) on yhtäpitävä aktiviteetin Ai kanssa. Semanttisen prosessin edellyttämä skeematieto (R, C) tähtää juuri näiden nimenomaisten esiehtojen mallintamiseen. Tarkka skeematieto valitaan sovelluskohtaisesti. Tyypillisesti informaatiorajapinnan määrittelemä skeematieto voidaan kuitenkin tulkita esim. validointikäyttötapauksen näkökulmasta, kommunikaatioon liittyvä skeematieto puolestaan esim. mallinnuksessa käytettyjen sanastojen ja nimistön kuvailukäyttötapauksen näkökulmasta (asiasanastot, käsitemallit, ontologiat, yms.). Yhteys metasuunnitteluprosessin ja suunnitteluprojektien prosessien välillä on periaatteellisella tasolla melko selvä. Metasuunnittelun tulee määritellä minimitaso informaatiorajapinnoille, käytetyille nimikestandardeille (yms.) sekä ohjeistaa informaation laadun varmistava roolitus ja mittarit. Konkreettisten suunnitteluprojektien prosessien tulee puolestaan määritellä informaatiorajapinnat, valita tapauskohtaiset käsitemallit (tarvittaessa täydentää niitä), ottaa käyttöön ja/tai implementoida validointi- ja generointityökalut sekä hallita informaatiota ja huolehtia sen laadusta suhteessa esim. generoinnin käyttötapausten kanssa. | Semogen-väliraportti, joulukuu 2010 | 13 (44) Kuva 2.3.4. Roolit, tuotokset ja tehtävät semanttisessa prosessissa (esimerkki) Käytännön työtehtävien näkökulmasta semanttisen prosessin implementointi tuottaa suunnitteluprojektin prosessiin abstraktia mallia vastaavia tuotoksia ja edelleen tehtäviä ja vastuita. Näitä ovat erityisesti käsitemallinnukseen sekä informaatiorajapintoihin (ja edelleen validointiin) liittyvät skeemat. Kuvaan 2.3.4 on koottu pelkistetty esimerkki semanttisen prosessin tehtävistä ja rooleista intuitiivista prosessimallia 2.3.1 mukaillen, kun tarkastelu on rajattu kahden aktiviteetin määrittelyyn (A1, A2) ja näiden seuraaville aktiviteeteille tarjoamaan tietoon (O1, O2). On merkillepantavaa, että koska legacy-perusjärjestelmistä (esim. CAD) ei käytännössä saada kaikkea semanttisen prosessin edellyttämää tietoa, on odotettavissa että tietoja pitää täydentää aktiviteettikohtaisesti. Yhdessä semanttisesti yhtenäisen käsitteistön kehitystehtävän kanssa, tämän voidaan tulkita edellyttävän lisäresursointia ja/tai lisärooleja "perinteisiin" suunnittelutehtäviin verrattuna. On myös ilmeistä että systeemin kompleksisuus kasvaa melko nopeasti. Tämä korostaa projektinhallinnan menetelmien (erit. systemaattinen vaatimusmäärittely, hyvin määritelty ja hallittu informaatioarkkitehtuuri ja testauskäytännöt) ja välineiden käyttöönottoa (erit. jaettu versiointi). Semanttisen prosessin perusidea ja toteutuksen pääpiirteet on teknisen tietojenkäsittelyn näkökulmasta kuvattu lähteessä (Nykänen, 2010). Perusidea on implementoida yo. prosessi yleisesti tunnettujen menetelmien (läh. XML ja RDF) ja välineiden avulla (esim. Eclipse, Apache Ant); tämä mahdollistaa esimerkiksi teknisen projektin käsitteen määrittelemisen (jaetusti versioituna) tiettyjä suunnitteluperiaatteita noudattavana hakemistorakenteena ja edelleen legacy-järjestelmien integroinnin. Semanttisen mallinnuksen osalta yleisesti tunnettuja standarditeknologioita on tässä kuitenkin tarkoituksenmukaista hieman täsmentää esim. semanttisten mallien ns. kanonisen ("yhdenmukaistetun") sarjallistuksen osalta; näin verkko-tietomallin mukaisesti esitettyä tietoa voidaan tarvittaessa käsitellä myös puu-tietomalliin käsittelyyn suunnitelluilla työkaluilla. Tällä on konkreettista merkitystä esim. skeema- ja prosessointiteknologioiden valinnan osalta. 3. Tapaustutkimus 3.1. Yleiskatsaus aineistoon ja CASE-rajaus Esiselvitysvaiheessa (Ranta et al., 2010) projektin aloitus rajattiin koskemaan puominosto toimintoa. Rajaus sisältää yksinkertaisen hydraulijärjestelmän, jonka tärkeimmät komponentit ovat CAN-ohjattu suuntaventtiili, nostosylinteri ja pumppu. Lisäksi rajaukseen sisältyy nostotoimintoon | Semogen-väliraportti, joulukuu 2010 | 14 (44) liittyvä CAN-järjestelmä ja puomin 3D-malli. Projektia varten saatu materiaalia kattaa rajatun järjestelmän suunnittelumateriaalin lukuun ottamatta komponenttien parametreja, komponenttien 3D-malleja ja ohjausjärjestelmää. Esiselvitysvaiheen jälkeen saatu suunnitteluaineisto on laajentunut lähinnä CAN-väyläkuvauksen osalta. Alla olevaan taulukkoon 3.1.1 on koottu kaikki saadut ohjelmistot ja tiedostot. Tiedostojen sisältämä tieto on tutkittu ja selvitetty onko tallennettu tieto relevanttia ja käyttökelpoista projektin kannalta. Lisäksi saatujen tiedostojen avulla projektissa on saatu kattava kuva konejärjestelmän suunnittelussa syntyvistä dokumentaatiosta. Taulukko 3.1.1. Yhteenveto aineistoista Materiaali Laajuus Formaatti Kuvaus Vertex HD, ED ja 4G versiot 15, 17 ja 17+ exe Suunnitteluohjelmisto TKE:n CAN-aineiston lukija exe Ohjelmisto lukemiseen tiedostoksi Yleisesite Jumbosta pdf ja mpg Vapaassa jaossa oleva esite DTi-sarjasta signaalitietokannan tallentamiseen xml- DT1130i käyttömanuaali Kattaa konejärjestelmän Hydraulikaaviot 6 kappaletta: Vertex koneikkorakenne, puomin ja pdf toimilaitteet, puomin venttiilistö, 2 ohjaimet, putkitukset Puomin osaluettolo Puomin mekaniikka, pdf ja xml hydrauliikka, sähköistys ja anturointi Sisältää osanumeron, kuvauksen englanniksi, standardin tunnuksen ja kappelemäärän. Opetusmateriaalinen tyyppinen kuvauspuomista Kattaa puomin powerpackin ja doc Yleistä tietoa TB100i-jumbon puomin mekaniikasta ja hydrauliikasta. Mekaanisten toimintojen nimet suomeksi ja englanniksi. Puomin hydrauliikan DT920i ja TB100i puomin xls osaluettelo hydraulikomponentit Pumpun, venttiiililohkon ja kuormanlaskuventtiilien valmistajat, tyyppikoodit ja kommentit. 3D-mallit n 62 ja 22 Mt tiedostot. Sisältää yksityiskohtaisesti puomin komponentit. Ei tunnisteita tai nimiä. Yksityiskohaiset porapuomista syöttölaiteesta CANopen ja PLCopen Esittelee CANopen kuvaukset PLCopen järjestelmiä Venttiililohkon esite Venttiililohkon piirustus koko pdf ja Käyttäjän manuaali englanniksi. Kuvaus järjestelmästä ja sen toiminnoista ja hallintalaitteista Hd Kaavioissa olevat sanastot eroavat kielen ja termien osalta. Yhteydet komponettien välillä puuttuvat. Liitin-, putki-, ja solenoiditunnukset ovat, mutta ei osanumerointia tai komponenttien parametreja. mallit stp ja ja pdf ja ppt CANopen ja IEC 61131-3 järjestelmien suunnittelu prosessin kuvaus Bosch Rexrothin esite M4- pdf 12 venttiililohkosta Kattava kuvaus venttiilin rakenteesta ja ominaisuuksista 2D- 8 venttiilin venttiililohko dxf 2D-piirustuksena Sisältää ulkoisia mittoja ja venttiililohkon ulkoisen rakenteen | Semogen-väliraportti, joulukuu 2010 | 15 (44) Materiaali Laajuus Väyläkuvaus Ohjaamo-, puomiväylä runko-, CAN-sanasto Sisältää tärkeimmät termit Formaatti Kuvaus ja zip, dcf, Esimerkki kuvaus väylärakenteesta. bmp, eds, Sisältää solmutiedostot, väyläkuvauksen ja dbc, ini signaalitietokannan xls CAN-järjestelmän termistö ja datatyypit CPD, EDS, DFC ja DBC tiedostoissa Saatu aineisto kattaa hyvin tutkimushankkeessa määritellyn rajauksen eli Jumbon puomin ja erityisesti nosto-toiminnon suunnitteluaineiston. Jo esiselvitys ja jatkotutkimukset ovat osoittaneet, että vain harvat tiedostot saadusta suunnitteluaineistosta ovat käyttökelpoisia. Tästä syystä materiaali on tarvinnut tuottaa itse ja tutkia mitkä tavat tallentaa informaatiota olisivat parhaita tiedon jatkokäyttöä ajatellen. Ohjelmistot Vertex HD on osoittautunut käyttökelpoiseksi ohjelmaksi hydraulikaavion piirtämiseen ja etenkin kaavioiden rikastamiseen suunnittelutiedolla. Siihen liittyvä svg-export on tärkeä laajennusominaisuus, jonka avulla kaavion ja siinä olevan tiedon tallentaminen onnistuu projektin kannalta parempaan tiedostomuotoon (svg). Kaikki kaavioon tallennettu tieto ei siirry svg-kuvaan, mutta export-toiminto ei hukkaa tärkeätä tietoa. Hydraulikaaviot Saadut hydraulikaaviot eivät valitettavasti ole mahdollista suoraan käyttää toteutuksen lähdemateriaalina. Tästä johtuen on alettu selvittämään yksinkertaisen hydraulijärjestelmän avulla tiedon tallentamista ja tuomista hydraulikaaviosta. Haasteiden ratkettua alkuperäiset hydraulikaaviot voidaan piirtää uudestaan käyttämällä uusia toteutustapoja. Sähkö- ja väyläsuunnitteluaineisto Sähkö- ja väyläsuunnitteluaineisto saatiin kolmen erillisenä pakettina osittain esiselvitysvaiheen jälkeen. Väyläsuunnittelumateriaali on ajettu väylän todellisiin osiin eli runko-, ohjaamo- ja puomiväylä. Kuvausta hyödynnetään myös oikean konejärjestelmän väyläsuunnittelussa. Väyläpaketit sisältävät solmukohtaiset dcf-tiedostot ja ProCANopen-projektin EDS-tiedostot. Lisäksi ProCANopen-projektista tallennetun signaalitietokannan (.dbc), solmulistauksen (.pco) ja pco.ini-tiedoston. Väyläsuunnittelu on toteutettu siten, että oikeista DCF-profiileista kootaan projektin kannalta järkevä kokonaisjärjestelmä, joka tallennetaan eds-formaattiin. DCF-profiilien käsittelyyn käytetyn ohjelman nimi on ProCANOpen ja eds-tiedostojen lukemiseen voidaan käyttää ilmaista CANeds 3.5 -ohjelmaa. Hankkeen kannalta erittäin positiivinen asia on, että kummatkin formaatit ovat standardisoituneita tapoja käsitellä CAN-järjestelmiä ja lisäksi tiedostoformaatit ovat ASCIIpohjaisia sekä metatiedolla varustettua tietoa. 3D-mallit Saadut 3D-mallit esittävät porapuomia ja syöttölaitetta (boom ja feedrail). Alkuperäiset mallit ovat varsin yksityiskohtaisia. Mallit sisältävät mekaaniset osat, hydraulisylinterit ja poran ulkokuoret. | Semogen-väliraportti, joulukuu 2010 | 16 (44) Mallit sellaisenaan ovat liian yksityiskohtaiset käytettäväksi reaaliaikaympäristössä ja tunnisteet puuttuvat. 3.2. Hydrauliikkasuunnittelu 3.2.1. HD-aineisto Alkuperäiset Jumbon hydraulikaaviot olivat semanttisen mallinnuksen näkökulmasta puutteellisia, koska näitä ei ole alunperin tuotettu tähän käyttötarkoitukseen.. Kuva 3.2.1 osoittaa mitä hydraulikaavioiden puutteellinen semantiikka käytännössä tarkoittaa. Kaaviot vaikuttavat silmämääräisesti eheiltä ja komponentit toisiinsa liitetyiltä. Tarkemmin katsomalla havaitaan esimerkki hydraulikaaviossa ainoastaan letkuliitosten X1-X16 olevan fyysisesti liitetty komponentteihin. Venttiililohkojen välissä olevia virtauskanavia ei ole yhdistetty lainkaan toisiinsa. Vastaavasti letkutunnisteita ei ole fyysisesti kiinnitetty letkujen piirrosmerkkeihin. Myöskään komponenttien nimiä ei ole kiinnitetty komponenttiin. Lisäksi termistössä on selvää vaihtelua kaavioiden ja muiden dokumenttien välillä. Tässä venttiililohkon kaaviossa termit ovat kirjoitettu englanniksi ja toimilaitteiden kaaviossa on käytetty suomea ja englantia. Sama kieli ei kuitenkaan tarkoita, että termit olisivat yhteneviä. Esimerkiksi puomin jatkeesta havaitaan käytettäväksi muun muassa seuraavia nimityksiä hydraulikaavioissa: Puomin zoom, Boom telescope ja Boom zoom. | Semogen-väliraportti, joulukuu 2010 | 17 (44) Kuva 3.2.1. Alkuperäisen hydraulikaavio Alkuperäinen materiaali on erittäin laaja ja tarkka konejärjestelmän valmistusta ajatellen, mutta tietojen löytäminen ja jäsentäminen ei ole koneellisesti mahdollista. Kuvatut haasteet ovat pakottaneet keskittämään tutkimusta erityisesti hydraulikaavioissa olevan tiedon rikastamis-, tallentamis- ja linkittämiskysymyksiin. Kaavioihin on lisättävä huomattavasti enemmän metatietoa, yhdistettävä fyysisesti irrallaan olevat komponentit ja tehtävä niistä termistöltään yhtenevät. Tämän jälkeen tiedostot ovat käytännössä käyttökelpoisia lähdemateriaaliksi. Venttiililohkot on järkevää pitää omina makroinaan ja tuottaa simulointiaihiot lohkoittain. 3.2.2. Rikastaminen Tutkimukset osoittavat, että Vertex HD-kaavioita voidaan tehdä semanttisesti kattaviksi. Näin komponenttien liitokset, nimet ja muut tiedot on mahdollista linkittää jo hydraulikaaviossa. Kaaviossa oleviin komponentteihin ja putkiin voidaan liittää myös komponentti- ja referenssinumeroita. Näiden tunnisteiden pitäisi olla yksilöllisiä tunnisteita koko suunnittelumateriaalissa, eikä ainoastaan kaaviotasolla. Vertex HD tukee myös taso-käsitettä eli esimerkiksi oletuksena komponentit ovat tasolla yksi ja putket tasolla kolme ja komponenttinumerot piirtyvät tasolle 11. Näin samasta kaaviosta on mahdollista tuottaa useita eri näkymiä. | Semogen-väliraportti, joulukuu 2010 | 18 (44) Lähes kaikelle kaaviossa oleville piirteille eli komponenteille, komponenttien IO-tunnisteille, tunnisteiden teksteille, putkille ja komponenttinumeroille on mahdollista antaa yleisiä attribuutteja. Vertex HD:n yleiset attribuutit ovat avain-arvo-pareja. Yleisillä attribuuteilla voidaan lisätä linkitys ja parametritietoa hydraulikaavioon .Ne voivat siis olla esimerkiksi parametritietoa komponentista (Area_A - 7e-3), tunnistetietoa (componentID - 1x2y3z) tai linkitystietoa Vertex HD:n ulkoiseen materiaaliin (paremeterFile - cylinder.xml). Komponenttivalmistajat voisivat toimittaa alustavat parametritiedot komponentistaan, joita konejärjestelmän suunnittelija rikastaisi ja tarkentaisi. Uusimmassa testaamassamme Vertex HD:n versiossa yleiset attribuutit on lisäksi mahdollista tallentaa komponentille jo makron luontivaiheessa. Näin makroon on valmiiksi tallennettuna komponenttitietoa, jota koneensuunnittelijan ei välttämättä tarvitse enää muokata. Lisäksi uusimmassa versiossa on mahdollista tehdä yleisistä attribuuteista listaus tekstitiedostoon, josta käyttäjä valitsee haluamansa avain-arvo-parit komponentille. Itse Vertex HD-tiedostoformaatti ei mahdollista tiedon lukemista, koska kyseessä on binaariformaatti. Siksi erityisen iloinen havainto on, että yleiset attribuutit ja komponenttien väliset suhteet tallentuvat Vertex HD-tiedostoon ja exportattuun SVG-kuvaan. SVG-muotoinen kuva on XML-tiedosto, jota on mahdollista lukea ja käsitellä lukuisilla työkaluilla. 3.2.3. SVG-Export-toiminto Vertex HD:n sisältämä svg-export toiminto mahdollistaa tiedon lukemisen Vertex HD:lla tehdystä hydraulikaaviosta. Svg-kuvan etuna on, että se on mahdollista avata vaikka tekstieditorissa, kuvankäsittely ohjelmassa tai selaimella. Toiminto ei ole vielä täydellinen, mutta suunta on erinomainen. Tällä hetkellä osa komponenteista ei piirry svg-kuvaan täysin oikein ja itse svgtiedostomuoto on hieman xml-standardin vastainen. Tämä ei ole kuitenkaan ollut esti tutkimustyölle. Rikastetusta hydraulikaaviosta saadaan tällä hetkellä siirtymään simulointimallin generoimiseen vaadittavat tiedot eli komponenttien väliset liitokset, tunnisteet ja tarvittavat parametrit. Vertex HD:ssa olevat tasot siirtyvät myös ja komponenteille tallentuu tunnisteet sekä paikka kaaviossa. Kuvassa 3.2.2 on svg-exportattu hydraulikaavio, johon alkuperäisessä aineistossa olleet puutteet on korjattu (kuva 3.2.1). | Semogen-väliraportti, joulukuu 2010 | 19 (44) Kuva 3.2.2. Esimerkki semanttisesti määritellystä hydraulikaaviosta Kuvan 3.2.2 hydraulikaavio on tehty normaalisti Vertex HD:lla, käytetty svg-export-toimintoa ja avattu firefox-selaimeen.Kuvasta 3.2.2 huomataan, että pumpun piirrosmerkin generointi ja esittäminen selaimessa ei ole onnistunut täydellisesti. Tämä on kuitenkin pieni ongelma. Vertex HD:ssa piirretty semantiikka on edelleen tallessa. Kaikki komponentit on kiinnitetty fyysisesti IOpisteiden avulla toisiinsa putkella ja lisäksi IO-pisteille ja komponenteille on annettu kuvaavat nimet. Muutamalle komponentille ja putkelle on annettu esimerkiksi komponenttinumero, jotka kiinnittyvät fyysisesti piirrosmerkkeihin. Alla (Kuva 3.2.3) on esitetty paineenrajoitusventtiilin piirrosmerkki ja siihen liittyvä komponenttinumero tekstimuodossa. <g vx:VxGroupId="MACRO_1_f19acd6c-c202-47af-9be0-7837ef04691a" vx:ELEM="3,3" vx:ELEMID="3_3" vx:vmt_symbolid="203300589" vx:vmt_symboltype="1" vx:vmt_vxtransform="|0.000000,-1.000000,256.700000|1.000000,0.000000,17.000000|" <strong>vx:vmt_fulldevlabel="Pressurereliefvalve"</strong> vx:vmt_vxlayer="1" > <polyline points="343.326,517.675 343.326,513.892 " stroke-width="0.35" fill="none" stroke="rgb(0,36,170)" /> <polyline points="353.731,513.892 361.298,513.892 " stroke-width="0.35" fill="none" stroke="rgb(0,36,170)" /> <circle cx="357.515" cy="512.946" r="0.945906" stroke-width="0.7" fill="none" stroke="rgb(0,0,0)" /> <circle cx="357.515" cy="513.324" r="0.567544" stroke-width="0.7" fill="none" stroke="rgb(0,0,0)" /> <polyline points="351.839,508.216 351.839,506.325 357.515,506.325 357.515,513.892 " stroke-width="0.35" fill="none" stroke="rgb(0,36,170)" /> <polyline points="342.38,513.892 334.813,513.892 " stroke-width="0.35" fill="none" stroke="rgb(0,36,170)" /> <circle cx="338.597" cy="512.946" r="0.945906" stroke-width="0.7" fill="none" stroke="rgb(0,0,0)" /> <circle cx="338.597" cy="513.324" r="0.567544" stroke-width="0.7" fill="none" stroke="rgb(0,0,0)" /> <polyline points="353.731,519.567 353.731,508.216 342.38,508.216 342.38,519.567 353.731,519.567 " stroke-width="0.35" fill="none" stroke="rgb(0,36,170)" /> | Semogen-väliraportti, joulukuu 2010 | 20 (44) <polyline points="348.056,519.567 348.056,523.351 338.597,523.351 338.597,513.892 " stroke-width="0.35" fill="none" stroke="rgb(0,36,170)" /> <polyline points="348.056,508.216 345.218,507.27 350.893,505.379 345.218,503.487 350.893,501.595 345.218,499.703 350.893,497.811 348.056,496.866 " strokewidth="0.35" fill="none" stroke="rgb(0,36,170)" /> <polyline points="353.731,517.675 349.947,518.243 349.947,517.108 353.731,517.675 343.326,517.675 " stroke-width="0.35" fill="none" stroke="rgb(0,36,170)" /> </g> <g *vx:ELEM="2,13" vx:ELEMID="2_13"* vx:vmt_subtype="CLABEL" *vx:vmt_refelem="|3,3|"* vx:vmt_vxlayer="2" > <text transform="matrix(2.72421 0 -0 3.40526 315.753 509.72)" fontfamily="Arial,'sans-serif'" font-size="1.39636" stroke-width="0.25" fill="rgb(255,0,0)" stroke="none" >Port_P</text> <g vx:ELEM="2,61" vx:ELEMID="2_61" <strong>vx:ExampleAttribute="Example Value"</strong> vx:vmt_subtype="NORMAL" vx:vmt_refelem="|3,3|" vx:vmt_vxlayer="11" > <text transform="matrix(5.29707 0 -0 6.62134 352.844 545.193)" fontfamily="Arial,'sans-serif'" font-size="1.39636" stroke-width="0.35" fill="rgb(0,36,170)" stroke="none" >2</text> </g> <g vx:ELEM="1,79" vx:ELEMID="1_79" vx:vmt_subtype="LINK" *vx:vmt_linkends="|3,24|2,13|"* vx:vmt_netno="1" *vx:vmt_vxlayer="3"* > <polyline points="312.111,513.892 342.38,513.892 " stroke-width="0.35" fill="none" stroke="rgb(0,36,170)" /> </g> Kuva 3.2.3. Listaus Vertex HD:sta svg-formaattiin viedystä kaaviosta Kuvasta 3.2.3 voidaan poimia muutamia mielenkiintoisia kohtia tarkempaa tutustumista varten: Komponentin nimi: vx:vmt_fulldevlabel="Pressurereliefvalve" Paineenrajoitusventtiilin Port_P:n elementtitunniste ("2,13" on xmlstandardin vastainen): vx:ELEM="2,13" vx:ELEMID="2_13" Komponenttinumeron ja Port_P:n fyysinen linkitys paineenrajoitusventtiilin piirrosmerkkiin: vx:vmt_refelem="|3,3|" Komponenttinumerolle annettu yleinen attribuutti: vx:ExampleAttribute="Example Value" Paineenrajoitusventtiilille tuleva putki: vx:vmt_subtype="LINK" vx:vmt_linkends="|3,24|2,13|" Piirtotason tunniste: vx:vmt_vxlayer="3" 3.2.4. HD-annotointi vs. ulkoisen tiedoston käyttö Koska Vertex HD tukee yleisten attribuuttien käyttöä ja svg-export –toiminnallisuutta, olisi simulointimallien generointiin vaadittavan tiedon tallentaminen mahdollista jo yksinomaan Vertex HD-kaavioon. Lisäksi kaavioon voitaisiin tallentaa visualisointi ja toimintoinformaatiota. Ongelmana on kuitenkin, että konejärjestelmän suunnittelija ei aina tiedä komponenttien tarkkoja parametreja. Ainoastaan komponenttivalmistaja tietää komponenttien parametrit parhaiten ja tiedon lisääminen Vertex HD-kaavioon suunnittelijan työpöydällä ei ole siksi järkevää. Yksi mahdollisuus on, että komponenttivalmistaja toimittaa komponentin lisäksi myös rikastetun hydraulisymbolin (Vertex makro) tuotteestaan. Symboliin olisi kirjattu tuotteen kuvaus, parametrit ja liityntäpinnit. Kaiken tiedon tallentaminen makroon rajoittaa kuitenkin tiedon tuomista huomattavasti. Valinta | Semogen-väliraportti, joulukuu 2010 | 21 (44) tekee toimintatavasta ohjelmistoriippuvaisen, koska yleisesti kaavioiden piirto-ohjelmistoissa ei ole mahdollisuutta tallentaa tarvittavaa tietoa. Selvästi parempi tapa on tallentaa komponentin tiedot erilliseen dokumenttiin ja linkittää dokumentti kaaviossa olevaan piirrossymboliin. Linkitys voidaan toteuttaa nyt yleisten attribuuttien ja tulevaisuudessa esimerkiksi laiteinformaation avulla. Nykyisin tämä komponentin kuvaava dokumentti on komponentin pdf-tiedosto, joka on mahdollista ladata komponenttivalmistajien kotisivuilta. Samoin kuin hydraulikaavioiden tapauksessa, pdf-tiedostosta tiedon lukeminen koneellisesti on melko vaikea operaatio. Komponenttien pdf-dokumenttien lähdemateriaali olisi kiinnostava tutkimuskohde. Lähdemateriaalin ollessa kunnossa tiedoista voidaan koostaa komponentin pdf-tiedoston lisäksi erillinen parametritiedosto tärkeimmistä parametreista. 3.3. CAN 3.3.1. CAN-aineisto Aineisto koostuu ProCANopen -ohjelmalla luoduista tiedostoista. Tiedostot kuvaavat CAN-väylän laitteet ja niiden väliset yhteydet (signaalit). Yksi ProCANopen -projekti sisältää yhden väylän tiedot. Aineistossa on nyt kolme väylää (puomi:boom, ohjaus:hmi ja pääväylä:bbb), eli kolme projektia. Yksittäinen projekti sisältää aina seuraavat tiedostot: PCO.ini, nodelist.pco, sekä jokaisen väylällä olevan laitteen dcf ja eds tiedostot. Näistä voidaan ProCANopenin avulla generoida signaalitietokanta (dbc). Mahdollisia formaatteja dcf ja eds -tiedostojen tilalle olisivat XML-muotoiset xdc ja xdd -formaatit. Ne sisältäisivät saman informaation, mutta tällä hetkellä eri ohjelmat jäsentävät niitä eri tavoin ja hukkaavat osan informaatiosta, joten ne eivät vielä ole käyttökelpoisia formaatteja. Tästä johtuen on viisainta käyttää vielä vanhoja ini-muotoisia dcf ja eds -tiedostoja lähdeaineistona. Seuraavassa on esitelty lähdeformaatit lyhyesti. PCO.ini PCO.ini (ProCANopen projektitiedosto) on Vector ProCANopen -ohjelman käyttämä tallennusformaatti. Se ei ole standardi, mutta silti yleisesti käytössä. PCO.ini sisältää yhden ProCANopen -projektin ja on sen päätiedosto, pitäen sisällään yleiset asetukset ja listan muista tiedostoista (DCF, EDS ja muu projektiin kuuluvat tiedostot, meidän tapauksessa komponenttikuvat). Yksi projekti eli pco.ini kuvaa yhden väylän ja sen laitteet. Materiaalissamme on kolme väylää, joten se sisältää myös kolme projektia. Projektit on eroteltu toisistaan sijoittamalla ne eri hakemistoihin. PCO.ini:n rakenne noudattaa standardia ini-formaattia, eli koostuu lohkoista: [lohko] ja parametreista: parametri=arvo. Parametrit kuuluvat aina tiettyyn lohkoon. Nodelist.pco Nodelist.pco koostaa yhteen väylään liittyvät nodet. Tiedosto on rakenteeltaan ini-tiedosto. Tiedosto sisältää jokaisen noden nodeid:n ja absoluuttisen polun joka noden DCF-tiedostoon. Tiedosto noudatteleen suurin piirtein standardia ja hieman erinäköisiä toteutuksia on käytössä useammassa ohjelmassa. Tietosisältö on näissä kuitenkin sama. | Semogen-väliraportti, joulukuu 2010 | 22 (44) Esimerkki nodelist-tiedostosta: [Nodes] 2=C:\semogen\smg_boom\D002.DCF 12=C:\semogen\smg_boom\D012.DCF 13=C:\semogen\smg_boom\D013.DCF DCF-tiedostot Yksi DCF-tiedosto sisältää yhden noden eli can-väylässä olevan laitteen konfiguraatiotiedon. DCFtiedosto on rakenteeltaan ini-tiedosto, kuten PCO.ini:kin. Se sisältää laitteen nimen ja yksityiskohtaisia tietoja, sekä laitteeseen liittyvät signaalit. EDS-tiedostot Myös EDS-tiedostot noudattavat ini-formaattia. EDS-tiedostot määrittävät laitekohtaiset perusasetukset. Esimerkiksi kaikki samanlaiset anturit käyttävät samaa EDS-tiedostoa. Niiden perusetella luodaan laitteelle DFC, jossa taas on kyseiselle laitteelle tarkoitetut asetukset. EDS vastaa rakenteeltaan DCF-tiedostoa. DBC-tiedostot DBC-tiedostot ovat signaalitietokannan kuvaavia tiedostoja. Yksi DBC-tiedosto kuvaa yhden väylän signaalit, eli yhden PCO.ini:n ja siihen liittyvien DFC-tiedostojen kuvaaman projektin signaalit. DBC-tiedoston voi generoida ProCANopen -ohjelmalla PCO.ini ja DFC-tiedostoista. DBC-formaatti ei ole avoin, vaan on Vectorin oma formaatti, joka on muodostunut de Facto standardiksi. Formaatti on tekstipohjainen, mutta vaikeaselkoinen. Olemme saaneet formaattiin lukijan TKE Oy:ltä, DBCreaderin, jolla on mahdollista lukea DBC-tiedostoja. Lukija on toteutettu C#-kielellä ja lukee tiedot olion sisään. Lukijalta voi siis kysellä arvoja, jotka on ryhmitelty hierarkisesti (Kuva 3.3.1.1). Olemme tehneet lukijan pohjalle työkalun, joka muuntaa DBCtiedoston xml-formaattiin, jossa on sama hierarkia kuin lukijassa. | Semogen-väliraportti, joulukuu 2010 | 23 (44) Kuva 3.3.1.1. DBC-formaatin rakenne 3.3.2. CAN-generointi Olemme tehneet CAN-kaavion generoinnin yllä mainitun aineiston perusteella. Generointi vaatii tällä hetkellä lähdeaineistokseen Nodelist.ini -tiedoston ja projektin dcf-tiedostot ja laitteiden kuvat bmp-formaatissa. Generointi tuottaa svg-muotoisen kaavion CAN-väylästä. Generoinnin putkilinjasto on esitelty kuvassa 3.3.2.2. Viiva esittää linkkiä tiedostojen välillä ja nuoli generaatioprosessia. Kuva 3.3.2.2. CAN-kaavion generoinnin putkilinjasto Generoinnin tuloksena syntyvässä svg-kuvassa ovat siis yhden väylän komponentit ja suora väylä (Kuva 3.3.2.3). SVG-kuvaa voimme generoinnin yhteydessä rikastaa attribuutein, joihin lähdeaineistosta poimitaan esimerkiksi komponentin ID ja nimi, jolloin kaaviota voidaan myöhemmin käyttää pilotointiympäristön kanssa ja linkittää siihen tietoa. Lähdeaineisto ei sisällä väylähierarkiaa eli reitittimiä ja topologiaa, mutta se ei ole välttämätöntä, jos generoinnin tuloksena | Semogen-väliraportti, joulukuu 2010 | 24 (44) saatuun aineistoon ei sitä tarvita. Myöskään mitään komponenttien sijoittelutietoja kaavioon ei lähdeaineistossa ole, joten ne tulevat peräkkäin samalle väylälle. Kuva 3.3.2.3. Generoitu CAN-kaavio CAN-simulaation generoinnin näkökulmasta aineistossa ei ole ohjauslogiikkaa can-komponenteille, mutta sieltä on luettavissa komponenttien tyyppi, tiedot, asetukset ja signaaliliikenne. Myöskään signaalien reititystietoja eri väylien välillä ei ole. Signaalit reitittyvät väylällä olevan ohjaimen eli PLC:n kautta pääväylään. Sama PLC-yksikkö siis voi olla useammassa väylässä ja on oikeasti sama yksikkö. Lähdeaineistossa yksikkö voi olla eri nimellä eri väylissä, joten sitä on hankala yhdistää. PLC-yksiköt tulisikin nimetä yhtenäisesti, jolloin voidaan tunnistaa niiden perusteella miten väylät liittyvät toisiinsa. Jatkokehityksen kannalta olemme miettineet keräävämme ensin kaiken tiedon lähdeaineistosta RDF-formaattiin, josta voidaan sen jälkeen generoida CAN-kaaviot, simulointimalli, hydraulikaaviot ja vaikkapa osaluettelo. RDF-formaatin käyttö mahdollistaisi myös CANinformaation integroinnin järjestelmän muuhun malliin, kuten hydrauliikkaan. 3.4. 3D 3.4.1. Aineisto 3D-aineistossa on toimitettu Jumbon porapuomin ja syöttökiskon 3D-mallit. Mallit toimitettiin STEP-formaatissa. Porapuomin mallissa on 1705 osaa ja syöttökiskon mallissa 877 osaa. Mallien ollessa näin suuria kokonaisuuksia, vaaditaan tehokas näytönohjain ja tietokone, jotta malleja voidaan tarkastella ja käsitellä CAD-ohjelmassa. Kumpaakin malliin kaikki osat on sijoitettu samaan tasoon ja osat on nimetty juoksevan numeron perusteella. Tällöin oleellinen osa aineistoa on toimitettua mallia vastaava osaluettelo, joka onkin saatu porapuomista. Aineiston rikastaminen 3D-mallit vaativat huomattavasti rikastamista, jotta niistä voitaisiin generoida automaattisesti dynaaminen virtuaalimaailma. Rikastamisen vaiheet ovat seuraavat: Osien nimeäminen osaluettelon osanumeroilla Mallin jakaminen tasoihin osaluettelon kokoonpanojen perusteella Mallin ylätason ryhmittely liikkuvien kokoonpanojen perusteella Nivelpisteiden lisääminen dynaamisiin kokoonpanoihin. Dynaamisten kokoonpanojen ketjuttaminen toisiinsa nähden. Kokoonpanojen alkuasemien vastaavuus simulointimalliin nähden Mallin rikastaminen tapahtuu käsityönä projektissa, mutta on asia, jota voidaan toteuttaa malliin jo suunnitteluvaiheessa. 3D-mallien osien nimeäminen osaluetteloa vastaavasti helpottaa osaluettelon | Semogen-väliraportti, joulukuu 2010 | 25 (44) generointia myöhemmin ja selkeyttää tuotetiedon hallintaa. Lisäksi mallin jakaminen tasoihin ja kokoonpanoihin parantaa kokonaismallin päivitettävyyttä. Nivelpisteiden lisääminen Nivelpisteiden lisääminen malliin on oleellinen osa mallin rikastamista, mikäli mallin halutaan olevan dynaaminen virtuaalimaailmassa. CAD-ohjelmissa malli kääntyy keskipisteensä ympäri, ellei toisin määrätä. Sama ominaisuus säilyy erilaisissa grafiikkamoottoreissa. Näin ollen jokaiselle dynaamiselle kokoonpanolle on määrättävä oma 'pivot point', nivelpiste, jonka ympäri malli kääntyy. Toisin sanoen, nivelpiste on kokoonpanonsa uusi origo. Nivelpisteiden on vastattava mahdollisimman hyvin simulointimallin nivelpisteitä, jotta virtuaalimallin liike vastaisi oikeata. Mikäli nivelpisteiden sijoittelussa on virheitä, kinemaattisesta ketjusta johtuen virhe kertautuu puomin päätä kohden. Ajatellaan esimerkkitapauksena hydraulisylinteriä, joka on kiinnitetty lenkeillä kummastakin päästään x-akselin suuntaisesti. Sylinterin rungon puolella nivelpisteen on oltava kiinnityslenkin keskellä kaikkien kolmen pääakselin suhteen. Mikäli sijoittelussa on poikkeamia x tai y-akselin suhteen, sylinteri pyörii epäkeskosti. Mikäli nivelpiste ei ole paikoillaan z-akselin suhteen, virhe näkyy männänvarren liikkeessä Sylinterin männänvarren nivelpisteen tulee olla samalla akselilla rungon nivelpisteen kanssa. Muussa tapauksessa männänvarsi näyttää kelluvan sylinterin kääntyessä. Männänvarren nivelpisteen on myös vastattava sijoittelultaan simulointimallin nivelpistettä ja sylinterin alkuasema simulointimallin vastaavaa. Muussa tapauksessa sylinterin iskussa näkyy asemavirhe: männänvarren kiinnitys menee sylinterin rungon sisälle tai koko männänvarsi tulee ulos sylinteristä. 3.4.2. Automaattisen generoinnin haasteet Ensisijainen haaste on aineiston siirtoformaatti, jossa aineisto (3D-mallit) siirretään automaattisen generoinnin käsiteltäviksi. Siirtoformaatilta vaadittavia asioita ovat: 1. 2. 3. 4. 5. 6. Osien nimien säilyminen Osien tekstuurien säilyminen Nivelpisteiden säilyminen Kokoonpanojen säilyminen Kokoonpanojen sidosten säilyminen Osan käsite: kappaleen aliosat rajataan eri teksturoinneilla, ei muotojen perusteella. Kohdat 5 ja 6 ovat valinnaisia, sidokset voidaan lisätä myöhemmin käsin ja osa voidaan koostaa muodoista lukuvaiheessa, mutta tämä vaikeuttaa osan kolmioverkon rakentamista automaattisessa generoinnissa. Siirtoformaatin valintaan luo haasteita myös se, ettei niiden lukemiseen tarkoitettuja kirjastoja ole saatavilla avoimen lähdekoodin versioina. Avoimet formaattien ongelmana on myös standardien puute, mikä on aiheuttanut sen, että esimerkiksi eri ohjelmasta tallennettu STEP-muotoinen malli ei vastaa toisesta ohjelmasta tallennettua. XML-pohjaisiin siirtoformaatteihin, kuten X3D (http://www.web3d.org/x3d/) ja Collada (https://collada.org/) on saatavilla lukijoita paremmin ja | Semogen-väliraportti, joulukuu 2010 | 26 (44) niiden käyttöä Semogen-projektissa tutkitaan. Valitettavasti suunnitteluohjelmien tuki XMLpohjaisille siirtoformaateille on rajoittunutta. Aineiston suuri resurssien (näytönohjaimen teho, koneen muisti) kulutus tuo haasteita automaattiselle generoinnille. Aineiston resurssien kulutusta voidaan pienentää vähentämällä 3Dmallien sisältävien kolmioiden määrää. Tätä varten on olemassa valmiita algoritmeja, jotka toimivat erilaisilla periaatteilla. Yksinkertaisimmat algoritmit yhdistävät tietyllä etäisyydellä olevat vertexpisteet toisiinsa, kun taas monimutkaisemmat rakentavat koko verkon uudelleen optimoituna (Hoppe, et al. 1993). Edelliset ovat tehokkaita kappaleille, joissa vertex-pisteiden väleissä ei ole suuria eroja, mutta tuloksen ulkoasu on aina tarkastettava silmämääräisesti, jälkimmäiset taas ovat hitaampia, mutta tulos on usein muototarkempi ja vähentää kolmioiden määrää koko mallin alalta riippumatta vertex-pisteiden väleistä. 3D-mallien resurssien kulutusta voidaan myös pienentää poistamalla kokoonpanosta ns. merkityksettömiä osia, kuten muttereita, aluslevyjä ja korvakkeita. Tutkimukset parhaan siirtoformaatin löytämiseksi jatkuvat, mutta siirtoformaatin valinnassa varaudutaan kompromisseihin. Lisäksi tutkitaan erilaisia mahdollisia avoimen lähdekoodin lukijoita eri siirtoformaateille ja valmiita algoritmeja 3D-verkon generointiin ja optimointiin. 3.5. Tietojen tuonti perusjärjestelmistä ja integrointi semanttiseen malliin Suunnittelijoiden perusjärjestelmillä (mm. Vertex HD, Vertex G4, SolidWorks) tuotettujen tietojen tuonti koneellisesti käsiteltävässä muodossa on keskeinen osa järjestelmän semanttisen mallin luontia. Pahimmillaan puutteet tietojen tuonnissa perusjärjestelmissä estää semanttisen prosessin käyttöönoton. Käytännössäkin rajoitteet tietojen tuonnissa johtavat usein aineiston jälkikäsin tehtävään, toisteiseen rikastamiseen. Käsittelemme aluksi yleisesti tietojen tuontia perusjärjestelmistä. Tämän jälkeen pohdimme näiden tietojen integrointia koko järjestelmän kattavaan semanttiseen malliin. Aliluvun lopuksi kuvataan aineistojen mallinnukseen ja tuontiin liittyvä sanastokartoitus. 3.5.1. Tietojen tuonti perusjärjestelmistä Tieto tuodaan perusjärjestelmistä niiden käyttämästä sisäisestä tallennusmuodosta yleisempään formaattiin. Periaatteellisesti tiedon tuonti voidaan toteuttaa joko perusjärjestelmän tarjoamalla vientiformaattituella tai toteuttamalla järjestelmän käyttämää formaattia tukeva lukijakomponentti. Pyrkimyksenä molemmissa toimintatavoissa on tiedon jäsentäminen sovellusohjelmista riippumattomassa formaatissa - ts. siten, että suunnitteluohjelmistoissa tuotettu tieto olisi uudelleenkäytettävissä ja yhdisteltävissä käytetyistä sovellusohjelmistoista riippumatta. Tiedon sarjallistukseen tässä tapauksessa soveltuu usein erityisesti XML. Mahdollisuuksien mukaan olisi hyvä tukeutua myös muihin tunnettuihin avoimiin standardeihin. Semanttisen mallin luomista varten järjestelmistä saatava tieto on jäsennettävä siten, että eri lähteistä peräisin olevilla rakenteilla on toisiinsa nähden yksilölliset nimet, joihin voidaan mallien välille luoda viittauksia. Esimerkiksi 3D-mallista tuotaville komponenteille on kyettävä luomaan yksikäsitteiset tunnisteet siten, että useista eri malleista peräisin olevat komponentit voidaan yhdistellä ilman päällekkäisyyksiä. Toisaalta mallin tasolla pitäisi mahdollistaa se, että yksittäinen komponentti voi esiintyä useissa eri lähdeaineistoissa. Esimerkiksi komponentiksi, joka esiintyy kahdessa eri 3D-mallista tulisi pystyä tunnistamaan samaksi komponentiksi. Vastaavasti nimistössä ei saisi muodostua päällekkäisyyksiä toisistaan selvästi erillisistä nimikkeistä. | Semogen-väliraportti, joulukuu 2010 | 27 (44) 3.5.2. Integrointi semanttiseen malliin Jotta eri lähdeaineistoista tuotu tieto voidaan yhdistellä järjestelmätason malliksi, on se jäsennettävä siten, että useista järjestelmistä peräisin oleva tieto voidaan mallin ja sen eri rakenteiden tasolla yhdistellä. Perusjärjestelmistä tuotua tietoa voidaan rikastaa myös käsin niiltä osin kun tuontirajapintojen toteuttaminen ei ole mahdollista tai kannattavaa. Ideana järjestelmän semanttisen mallin kuvaamisessa on, että sen avulla järjestelmästä voidaan generoida erilaisia raportteja ja aineistoja. Jotta generointityövälineiden toteuttaminen olisi tehokasta, tulisi kaikissa malleissa käyttää yhteisesti hyväksyttyjä sanastoja ja nimikkeitä. Esimerkiksi erilaisten komponenttityyppien (hydraulikomponentti, CAN-komponentti, jne.) tunnistamiseen tulisi olla tapa, joka on mallien välillä yksikäsitteinen. Näin ollen tarvitaan siis mallien välillä jaettujen käsitemallien eli skeemojen toteuttamista, ja aineistojen kuvaamista näihin yhteisesti määriteltyihin skeemoihin. Käsitemalli voi yksinkertaisillaan olla hyvinkin pelkistetty. Tärkeää kuitenkin on, että sitä voitaisiin uusien käyttötapauksien ja tarpeiden noustessa laajentaa joustavasti. Tiedon semanttiseen mallinnukseen soveltuvat erityisesti semanttisen webin teknologiat, kuten RDF (Carroll & Klyne, 2004) ja sen sanastot RDFS (Guha & Brickley, 2004) ja OWL (Schreiber & Dean, 2004). Käyttämällä standardeja teknologioita semanttisessa mallinnuksessa vältytään erityisesti formaatteihin liittyvien yksityiskohtien uudelleenmäärittelyiltä. Näille tekniikoille on myös saatavilla valmiita, käyttökelpoisia sovelluskirjastoja. On kuitenkin syytä huomata, että mitä ilmaisuvoimaisempaa kieltä tiedon esittämiseen käytetään, sitä vähemmän käyttöön soveltuvia, standardien mukaisia kirjastoja on saatavilla. Tästäkin syystä ainakin alustavasti on perusteltua jäsentää tietoa ilman RDFS- ja OWL-sanastoja. Koska XML on on lähdeaineistoista tuotaville tiedoille merkittävä sarjallistusformaatti, on myös RDF:stä mielekästä pyrkiä hyödyntämään sen XML-pohjaista sarjallistusmuotoa RDF/XML (Beckett, 2004). On syytä huomata, että RDF:n XML:n pohjaisen sarjallistuksen käsittely XML-välinein on tyypillisesti haastavaa, koska standardisarjallistus ei pakota jäsennystä normaalimuotoon, eikä formaatin käsittely siten ole helppoa esim. XSL-muunnosten avulla (Clark, 2001; Kay, 2009). Tätä tarvetta silmälläpitäen hankkeessa on määritelty erillinen, RDF:n kanoninen XML-sarjallistus (Nykänen, O. 2010b). 3.5.3. Sanastokartoitus Hankkeen lähdeaineistojen analysoinnin yhteydessä kartoitimme myös aineistoissa esiintyviä käsitteitä ja niiden välisiä yhteyksiä. Hypoteesi työssä on, että kartoittamalla lähdeaineistoihin liittyviä käsitteitä ja sanastoja voidaan löytää järjestelmiin liittyviä keskeisiä käsitteitä sekä tunnistaa eri aineistojen välisiä yhteyksiä integroidun semanttisen mallin luomiseksi. Kartoituksessa syntyvää mallia voidaan hyödyntää myös mm. sanastojen visualisointiin. Menetelmät ja mallinnus Kartoituksessa mallinnettiin lähdeaineistojen perusteella toimialoihin liittyvät asiasanastot. Mallinnusformaattina käytettiin pääasiassa RDF:ää laajentavaa SKOS:a (Simple Knowledge Organization System). Sanastot tuotettiin käyttämällä Protégé-ohjelmistoa (http://protege.stanford.edu/) ja sen SKOS Editor -laajennusta (http://protegewiki.stanford.edu/wiki/SKOS_Editor). Aineistojen perusteella sanastot jaettiin neljään pääsanastoon: mekaniikka-, sähkö/CAN-, hydrauliikka- sekä simulointisanastoon. Sanastojen yhdistely sekä niihin liittyvät yläkäsitteet kuvattiin lisäksi erilliseen semogenontologiaan. | Semogen-väliraportti, joulukuu 2010 | 28 (44) Erityisesti formaalin ontologiamallinnuksen sijaan SKOS valittiin käyttöön sen tarjoaman joustavuuden takia: SKOS-mallissa käsitteisiin ja niiden välisiin yhteyksiin liittyvää epämääräisyyttä ja keskeneräisyyttä voidaan helpommin mallintaan. SKOS-attribuuteista käsitteiden mallintamiseen käytettiin attribuutteja erityisesti käsitteiden nimikkeiden ja niiden välisten yhteyden kuvaamiseen (ks. Isaac & Summers, 2009): Käsitemallit skos:ConceptScheme) Käsitteet (skos:Concept) ja niiden liitynnät käsitemalleihin ( skos:inScheme, skos:topConceptOf) Käsitteen ensisijainen nimi ( skos:prefLabel) sekä vaihtoehtoinen nimi (skos:altLabel) Käsitteeseen liittyvät ylä- ja alakäsitteet ( skos:broader, skos:narrower) Pohjasanaston rakentaminen toteutettiin askeleittain läpikäymällä aineistojan kussakin osa-alueessa asiantuntijana toimivan tutkijan kanssa. Aineistojen läpikäynti tapahtui ensisijaisesti tutkimalla aineistoa sitä tukevilla perusjärjestelmillä (Vertex HD, Vertex G4, Procanopen, jne.). Läpikäynnin yhteydessä tarkasteltiin ja luotiin yhteyksiä tarpeen mukaan myös osa-alueeseen liittyviin julkaisuihin ja standardeihin - käsitemalleja ei kuitenkaan toisinnettu näistä lähteistä, vaan pohjana käsitteen luonnille toimi aina lähdeaineisto. On syytä kuitenkin huomata, että osa käsitteistä ei esiintynyt lähdeaineistoissa eksplisiittisesti, vaan tunnistettiin läpikäynnin aikana implisiittisesti. Esimerkiksi järjestelmän mekaniikkamallissa ei eksplisiittisesti käytetty termiä mekaaninen komponentti, mutta käsite pystyttiin tunnistamaan aineiston pohjalta. Tulokset ja pohdintaa Kartoituksessa syntyi SKOS-käsitemalliin pohjautuva, viidestä eri käsitemallista koostuva pohjasanasto (kts. Kuva 3.5.1). Käsitteistöön syntyi 36 sähkö/CAN-, 54 hydrauli-, 13 mekaniikkaja 31 simulointikäsitemalliin liittyvää käsitettä. Sanastoja yhdistelevään semogen-sanastoon liitettiin lisäksi 8 käsitettä. | Semogen-väliraportti, joulukuu 2010 | 29 (44) Kuva 3.5.1. Visualisointi koostetusta käsitemallista Simulointisanaston osalta käsitetietoa oli hyvinkin paljon saatavilla. Karkeasti ottaen malleista saatava tieto voitiin jakaa 1) yleisempään simulointisanastoon, 2) Simulink-sanastoon sekä 3) mallitai toteuttajakohtaisiin sanastoihin. Haasteena sen kartoituksessa katsottiin erityisesti rajanvedon formaalin mallinnuksen osalta. Näiden rajapintojen tunnistaminen sanastotyössä oli jonkin verran haastavaa. Mitä hienojakoisemmin jaottelua tehdään, sen monimutkaisemmiksi sanastot muuttuvat. Tarkoituksenmukaisin ratkaisu on lienee kompromissi tarkkuuden ja sovellettavuuden välillä. Mallinnuksessa todettiin myös, että käsitteiden yksikäsitteinen nimeäminen oli haastavaa: kaikkien termien osalta yksikäsitteistä nimeä ei pystytty tunnistamaan. Ulkoisista lähteistä hyödylliseksi osoittautui Simulink-ohjelmistoon liittyvä dokumentaatio (The Mathworks Inc., 2010). Hydrauliikan osalta kattavan ydinsanaston tekeminen edellytti kaavioiden lisäksi tutustumista paitsi hydrauliikkaan liittyviin suosituksiin niin myös joiltain osin alaan liittyvän oppimateriaaliin. Merkittävä osa kaavion tuottamiseen liittyvistä käsitteistä ei eksplisiittisesti esiinny kaaviossa, eikä siten ole aineiston perusteella identifioitavissa. Monelta osin määrämuotoinen tieto kaavioihin liittyvistä käsitteistä löytyi alaan liittyvistä online-oppimateriaaleista, erityisesti Foster Hydraulic Wiki-sivustosta (Wikia, 2010). Näiden peruskäsitteiden tuntemus kuitenkin selvästi oletettiin kaavion tulkitsijalta, mikä voi myöhemmin aineiston semanttisessa mallinnuksessa osoittautui haasteeksi. Erityisen haastavaksi hydrauliikan osalta osoittautui käsitteiden välisten yhteyksien | Semogen-väliraportti, joulukuu 2010 | 30 (44) määrittely. Merkittävimmin sanastoa saatiinkin rikastettua asiantuntijan kanssa tehdyssä vapaamuotoisessa, keskustelevassa läpikäynnissä. Sähkö/CAN-sanastoissa aineistosta johtuen keskityttiin merkittävästi CAN:iin ja CANopeniin liittyvien käsitteiden määrittelyyn (kts. kuva 3.5.2). Käytettävissä olleessa, proCanOpenohjelmistolla mallinnetussa mallissa oli simulointimallien tavoin ennemminkin ylimäärin käyttökelpoista tietoa. Myös näiden osalta haasteeksi osoittautui rajaus. Myös CANopen mallit sisälsivät erittäin paljon toteutusteknisiin yksityiskohtiin liittyvää tietoa, jonka uudelleenkäytettävyys ei integroidussa semanttisessa mallissa ole niin hyvää. CANopeniin littyvistä standardeista (mm. CANopen, 2000; CANopen, 2005; CANopen, 2007) pystyttiin varmentamaan ja täsmentämään jonkin veran käsitteistöä, mutta suomenkielisten termien löytäminen oli paikoin hankalaa. Erittäin hyväksi lähteeksi osoittautui Heikki Sahan (2008) suomeksi kääntämä CANasiasanasto. Kuva 3.5.2 Visualisointi CAN-käsitemallista Mekaniikkaa kuvaavien käsitemallien rakentaminen aineistopohjaisesti osoittautui varsin haastavaksi. Lähdeaineistona toimitettujen 3D Step-mallien läpikäynti ei ilman asiantuntija-apua tarjonnut juuri lisäinformaatiota mekaniikkaan liittyen. Vasta 3D-mallinnusta ja mekaniikkasuunnittelua tehneen asiantuntijan kanssa mallista kyettiin löytämään keskeisiä mekaniikkaan liittyviä käsitteitä. Aineistojen pohjalta näyttäisi myös siltä, että vaikka mallinnusohjelmistoissa tuki erityyppisille metatiedoilla on olemassa, ei nykykäytännössä 3D- | Semogen-väliraportti, joulukuu 2010 | 31 (44) malleihin upoteta juurikaan semanttista tietoa niissä kuvatuista rakenteista, mikä tietyllä tavalla kuvaa vallitsevia tuotantoprosesseja. Aineistojen pohjalta kyettiin tunnistamaan myös muutamia, kaikki mallinnusalueet yhdistäviä käsitteitä. Kartoituksessa löydettiin kaksi malleja yhdistävää ylätason käsitettä, kokoonpano (engl. assembly) ja komponentti (engl. component) sekä näihin liittyvät mallinnusaluekohtaiset alakäsitteet. Kokoonpanon osalta yhdistävät alakäsitteet ovat CAN-väylä, hydraulikaavio, mekaaninen kokoonpano. Komponenttien alakäsitteiksi tunnistettiin CAN-komponentti, hydraulikomponentti sekä mekaanikkakomponentti. Peruskäsitteistä oli nimistössä esillä eri kirjoitusmuodoissa ja mm. synonyymein, mikä korostaa käsitteiden keskeisyyttä. Mielenkiintoista näissä käsitteistä on myös se, että ne tarjoavat formaalin käsitemallin eri malleista peräisin olevan tiedon yhdistelylle ja integroinnille. Esimerkiksi hydraulikomponenttiin voi liittyä samaa komponenttia kuvaavaa mekaaninen malli - toisin sanoen sama komponentti esiintyy järjestelmän eri kuvauksissa eri rooleissa. Liittämällä näihin malleihin komponentin yksikäsitteisesti tunnistavan tiedon, voidaan eri lähdemateriaaleista peräisin olevia malleja yhdistellä kokonaiseksi, järjestelmän semanttiseksi malliksi. Kokonaisuudessaan saatavien tietojen laatu näyttää vaihtelevan merkittävästi aineistoittain. Kartoitus vaikuttaisi kuitenkin tarjoavan hyvän pohjan semanttisen mallin luonnille ja aineistojen tuontiin ja integrointiin mallin mukaisesti. Kun aineistoihin liittyviä muunnoksia (adapterit, vientityökalut) lähdetään valitsemaan, voidaan kartoituksen pohjalta lähteä luomaan varsinaista formaalia käsitemallia semanttiselle mallille. Alustava formaali käsitemalli, jonka varaan aineistot muunnetaan on todennäköisesti kartoitusta huomattavasti suppeampi, mutta laajennettavissa tarpeen mukaan. Kompleksisuuden kasvaessa semanttisessa mallissa, voi tarpeen olla ottaa käyttöön erityisesti RDF-skeema-sanasto. 3.6. Pilot-ympäristön 1. prototyyppi Pilot-ympäristön prototypoinnissa tavoitteena on määritellä ja toteuttaa sellainen työympäristö, jossa eri perusjärjestelmistä saatava tieto voidaan koota yhteen ja edelleen viedä ulos erilaisiin kohdejärjestelmään. Tavoitteena on, että ympäristö tukisi integroitumista moniin erilaisiin kohdejärjestelmiin. Ympäristön avulla semanttista tietoa voitaisiin myös rikastaa. Sen tulisi tukea myös vientiominaisuuksien toteuttamista semanttisen tiedon viemiseksi erilaisiin kohdejärjestelmien tukemiin formaatteihin. Ensimmäinen prototyyppi pilot-ympäristöstä on toteutettu Eclipse-sovelluskehyksen (http://www.eclipse.org/) ja sen tarjoamien perustoiminnallisuuksien ja -työkalujen avulla. Eclipse on pitkälle kehittynyt, vakaa, avoimen lähdekoodin sovelluskehys ja se perustuu joustavaan laajennus-mekanismiin. Erilaisten dokumenttin katselu, muokkaaminen ja käyttö on ympäristössä hyvin tuettua. Laajennusten avulla sovelluskehystä voidaan laajentaa esim. Java, C/C++, Python ja C#-kehitysympäristöksi. Myös XML-tekniikoiden (XML, XSLT) käyttö on hyvin tuettua. Ryhmätyöominaisuuksia ja versionhallintaa varten kehys sisältää tuen CSV-versionhallintaan. Myös muiden versionhallintajärjestelmien tuki on saatavissa laajennusten avulla. Eclipse-ympäristön käyttö perustuu näkymiin (ks. kuva 3.6.1). Yksi näkymä tarjoaa tyypillisesti välineet informaatiohierarkkian navigointiin, editorin avaamiseen sekä ominaisuksien katseluun aktiivisessa editorissa (Springgay, 2001). Laajennukset voidaan toteuttaa tarjoamaan uusia, laajennuskohtaisia näkymiä. Esimerkiksi resurssienkatselunäkymässä (kuvassa) voidaan navigoida projektiin liittyviä hakemistoja ja tiedostoja, sekä avata näitä formaattikohtaisesti erilaisilla editoreilla. Sisällöntuotantoa tukevia välineitä voidaan lisäksi tuoda esille editorikohtaisesti. | Semogen-väliraportti, joulukuu 2010 | 32 (44) Kuva 3.6.1. Eclipse-sovelluskehyksen hyödyntäminen pilot-ympäristön 1. prototyypissä Pilotin ensimmäisessä prototyypissä mallinnettavat tiedot jäsennetään Eclipseen projekteiksi. Kuhunkin projektiin sisällytetään siihen liittyvät resurssit. Projektien välille voidaan tarpeen vaatiessa myös luoda riippuvuuksia, esimerkiksi useissa projekteissa tarvittavien työvälineiden käsitteellistämiseksi. Yksittäinen projekti jaetaan edelleen käsitteellisesti useaan osa-alueeseen. Näitä osa-alueita ovat aktiviteetit (activities), kirjastot (lib), tiedonkäsittelyputkilinjat (pipelineprocessing) sekä näitä prosesseja tukevat työvälineet (tools). Sekä osa-alueet, että niiden sisältämät resurssit jäsennetään projektiin kansioina. Tällä tavoin tietoja voidaan mm. siirtää ja kopioida helposti projektien välillä pelkän resurssienhallinnankin avulla. Aktiviteetit ovat projektiin liittyviä prosessin osia. Kussakin aktiviteetissa toteutetaan jokin yksittäinen osa koko prosessia. Esimerkiksi hydrauliikan tai simulaation suunnittelu voidaan jäsentää aktiviteeteiksi. Jokaiseen aktiviteettiin liittyy sekä tiedollisia vaatimuksia sekä erilaisia resursseja. Aktiviteettiin liittyvät tiedolliset vaatimukset (requirement) kuvaavat aktiviteetin edellyttämät tiedotarpeet siihen tuotettavalta aineistolta. Esimerkiksi hydrauliikan suunnittelussa vaatimukseksi voidaan kuvata, että hydraulikaavioissa kuvataan komponentteihin liittyvät tunnisteet ja komponettien väliset yhteydet siten, että ne voidaan koneellisesti jäsentää kaaviosta. Kuhunkin aktiviteettiin liittyviä resursseja voidaan tunnistaa ainakin kolme erilaista tyyppiä: ulkoiset, generoidut ja käsin kuvatut resurssit. Aktiviteettiin liittyvät ulkoiset resurssit (external) ovat perusjärjestelmien, kuten Vertex HD, käyttämiä resursseja. Pilot-ympäristö ei tue näiden resurssien muokkaamista, vaan ne työstetään ympäristöstä ulkoisissa perusjärjestelmissä. Generoidut resurssit (generated) ovat aineistoista automaattisesti tuotettuja, generoituja resursseja. Generointi on voitu tehdä joko perusjärjestelmien tuontitoiminnolla tai pilot-ympäristön tarjoamilla työvälineillä. Jos jonkin osa-alueen tuottaminen ei generointiprosessin avulla ole mahdollista tai kannattavaa, voidaan lisäksi hyödyntää käsin kuvattuja resursseja (mappings). Käsin kuvatut | Semogen-väliraportti, joulukuu 2010 | 33 (44) resurssit sisältävät täydennettyä tietoa mallista niiltä osin kuin tietoa ei ole muualta saatavissa. Nämä resurssit voidaan tuottaa esimerkiksi pilot-ympäristössä sen tarjoamien editorien avulla. Esimerkiksi hydraulikaavioon voidaan käsin kuvatuilla resursseilla täydentää tietoa siihen liitettyjen komponenttien ominaisuuksista, esim. simuloinnin tarpeisiin. Kirjastot (lib) täydentävät aktiviteetteihin liittyviä projektin resursseja. Kirjastoon voidaan sisällyttää aktiviteettien tavoin ulkoisista järjestelmistä tuotuja ja käsin kuvattua. Ajatuksena on, että kirjastoidut resurssit ovat käytettävissä useissa eri aktiviteeteissa - ts. kirjastoidut resurssit ovat projektin sisällä uudelleenkäytettäviä. Esimerkiksi komponenttitoimittajalta saatavat tarkat spesifikaatiot komponentin hydrauliikka ja simulointimallista voidaan liittää kirjastoon, jolloin niihin voidaan viitata sekä hydrauliikan että simuloinnin suunnitteluaktiviteeteista. Kirjastointia voidaan hyödyntää myös tiedon jakamiseen useiden projektien välillä määrittelemällä projekteille näiden välinen riippuvuus. Generointiprosessit (pipeline-processing) kuvaavat prosessikohtaisesti vaiheittain ne toimenpiteet, jotka kyseiseen generointiin liittyvät. Vaihekuvaukset sisältävät mm. tiedon siitä, mitkä syötetiedot kuhunkin vaiheeseen liittyvät, mitä työvälineitä (tools) tarvitaan vaiheen suorittamiseen sekä minne vaiheeseen liittyvät tulostiedot sijoitetaan. Syötetietojen tarkistus voidaan suorittaa vaihekohtaisesti, jos siihen liittyvät tiedolliset vaatimukset on kuvattu. Pilot-ympäristön ensimmäisessä prototyypissä generointiprosessi toteutetaan käyttämällä Eclipseen saatavia perustyövälineitä. Generointiprosessin vaiheistus kuvataan Apache Ant -työvälineellä (http://ant.apache.org/). Apache Ant on pääasiassa tarkoitettu ohjelmistojen automaattisen kokoonpanon hallintaan, mutta soveltuu hyvin myös prosessien kuvaukseen. Erityisestikin Ant mahdollistaa prosessin vaiheittaisen kuvauksen helposti käsiteltävässä XML-muodossa (vrt. Bailliez et al., 2010). Sen avulla voidaan myös joustavasti yhdistellä eri toteutustekniikoin toteutettuja työvälineitä. Eclipse-ympäristö tarjoaa lisäksi Antin käyttöön graafisen käyttöliittymän mm. generointiprosessien ajamiseen ja parametrisointiin. Ympäristön ensimmäisessä prototyypissä on keskitytty ensimmäisten aineistojen generointiin ja yksittäisten prosessiaskelten toteuttamiseen. Alustavasti ympäristöön on toteutettu työvälineitä, jotka mahdollistavat hydraulikaavioiden generointia, järjestelmän hydraulimallin jäsennystä sekä simulointimallin generointia. Tapaustutkimusta näiden työvälineiden ja prosessien osalta on tarkemmin kuvattu aliluvuissa 3.7 ja 3.8. Ympäristön ensimmäisen prototyypin perusteella näyttäisi siltä, että jos lähtökohtana on tietojen haku ja jäsentäminen perusjärjestelmistä, on toimenpiteiden jako yksikäsitteisiin aktiviteetteihin tärkeää. Aktiviteeteittain voidaan edelleen jäsentää tietoa perusjärjestelmistä omiksi osakokonaisuuksiksi (esim. hydraulimalli). Perusjärjestelmistä tuotavan tiedon yhdistely on selvästi oma osa-alueensa. Jotta tiedot saadaan yhdisteltyä semanttisen mallin tasolla, tarvitaan prosessiin useita väliaskeleita. Esimerkiksi hydraulikaavioista ja 3D-malleista saatavan tiedon yhdistelyyn tarvitaan ainakin yksi askel, joka yhdistelee eri kaavioihin liittyvät tunnisteet. Vastaavasti myös yksittäisten hydraulikaavioiden yhdistely järjestelmän hydrauliikan kokonaismalliksi vaatii oman askeleensa. Alkuvaiheen selvityksessä otettiin sovellusesimerkiksi generointi. Tämä käyttötapaus on ympäristön kannalta huomata, että semanttisen mallinnuksen kannalta kuvaaminen on kompleksisempaa, kuin yksittäisten M1-järjestelmään soveltuvan aineiston edelleen oleellinen. On kuitenkin syytä monoliittisen järjestelmäkonfiguraation toimialuemallien (esim. hydrauliikka) | Semogen-väliraportti, joulukuu 2010 | 34 (44) kuvaaminen. Ympäristön kehittämisen kannalta näiden yksittäisten mallien kuvaaminen ja esittäminen ovatkin tärkeitä ja helpommin saavutettavia käyttötapauksia. 3.7. Simulointimalliaihiot 3.7.1. Aihioiden yhdistämiseen ja parametrisointiin vaadittavat tiedot Hydraulijärjestelmän simulointimallin valmistaminen tai generointi on monimutkainen prosessi. Se vaatii paljon lähtötietoja, jota usein on vaikea löytää. Perustiedot mallin valmistamiseksi ovat: Simulointikieli Simulointiasetukset Hydraulijärjestelmän konfiguraatio Komponenttien parametrit Simulointimalli tarvitsee myös yhdistää muihin järjestelmiin visualisoinnin ja hallittavuuden mahdollistamiseksi. Lisäksi Simulointimallien generointi aihioista tarvitsee lisäksi seuraavat tiedot: Tietoliikenneyhteydet muuhun järjestelmään Aihioiden mahdolliset parametrit Aihioiden porttitiedot yhdistämistä varten Perinteisesti järjestelmän rakenne ja järjestelmään kuuluvat komponentit selviää hydraulikaaviosta. Kaavio pitää tallentaa siten, että komponenttien väliset yhteydet tallentuvat helposti luettavaan tiedostomuotoon. Komponenttien parametreja ei ole näin helposti saatavilla. Lisäksi tarvittavien parametrien määrä riippuu toteutettavan simulointimallin ja simulointimalliaihioiden tarkkuudesta. Siksi myös kirjastoitujen simulointimalliaihioiden perustiedot pitää olla tallennettuna koneen ymmärtämässä muodossa. Simulointimalliaihion tarvitsemat parametritiedot pitää konejärjestelmän hydrauli-insinöörin tallenttaa tai ne pitää löytyä komponenttivalmistajan komponentista antamista tiedoista. Myös CAN-järjestelmän simulointimallin generointiin liittyvät samat haasteet. CAN-solmuista on tehtävä ensimmäiseksi simulointimalliaihiot, jotka pitää generointi vaiheessa parametrisoida ja liittää toisiinsa. Hydraulijärjestelmistä on mahdollista löytää paljon valmiita simulointimalleja, mutta CAN-järjestelmien lisähaasteena on valmiiden simulointimallien puute. 3.7.2. Simulink-aihiot ja generoinnin haasteita Simulointimalliaihiot on toteutettu Simulinkillä (Kuva 3.7.1). Simulinkillä on mallinnettu aluksi toimiva malli komponentista, jonka parametrit on parametrisoitu. Malli on tämän jälkeen tallennettu normaalisti mdl-tiedostona. Tämän jälkeen mdl-tiedosto on avattu tekstinkäsittelyohjelmalla ja mdltiedostosta on poistettu simulointimallin otsikkotiedot. Tiedostoon jää näin ainoastaan kyseisen komponentin tiedot ja tiedosto ei enää aukea Simulinkiin. Nämä vaiheet pitää toteuttaa kaikille eri tyyppisille komponenteille. Lisäksi jokaisen simulointimalliaihion tiedot pitää kuvata xmltiedostoon, jotta tietokone pystyy ymmärtämään aihioiden sisällön. (Markkula, 2009) | Semogen-väliraportti, joulukuu 2010 | 35 (44) Kuva 3.7.1. Simulinkillä toteutettu simulointimalliaihio suuntaventtiilistä Kuvan 3.7.1 suuntaventtiilin aihiosta pitää XML-kuvaukseen tallentaa porttien nimet ja numerot, ohjaussignaalit, vikasignaalit, visualisointisignaalit ja tarvittavat parametrit. Kuvauksen perusteella tietokone pystyy ymmärtämään aihiossa olevat ominaisuudet ja liittämään sen järjestelmän simulointimalliin oikein. (Markkula, 2009) Toteutusteknologiaksi aihioille valittiin Simulink, koska Matlab/Simulink on rikas kieli simulointimallien toteuttamiseen. Lisäksi kokemus Simulinkin käytössä nopeutti ratkaisujen löytämistä. Vaikka mdl-tiedostomuodon syntaksi on selkeä ja helppo, generointia ajatellen mdltiedostomuoto ei kuitenkaan ole hyvä. MDL-tiedoston jäsennystä varten pitää kehittää erityinen työkalu ja jokainen poikkeus pitää ratkaista erillisellä ohjelmointikoodilla. Simulinkiä vastaavat ilmaiset ScicosLab ja OpenModelica ovat tässä mielessä parempia. ScicosLab käyttää uusimmissa versioissa XML-tiedostomuotoa simulointimallien tallentamiseen. Samoin OpenModelicalla on mahdollista tallentaa tiedostot XML-pohjaisessa formaatissa. OpenModelican kaupalliseen versioon Modelicaan on myös kehitetty ModelicaXML esitys. Kyseisten XML-tiedostomuotojen generointi on huomattavasti jouhevampaa verrattuna MDL-tiedoston jäsentämiseen. Heikkoutena ScicosLabissa on huono tuki reaaliaikasimuloinnille ja valmiiden simulointimallilohkojen puute. Järjestelmä on kuitenkin siinä määrin lupaava, että sen käyttöä erityisesti hydromekaanisten järjestelmien mallintamiseen on jatkossa syytä tutkia enemmän. OpenModelica ja Modelica sisältävät ScicosLabiin verrattuna enemmän valmiita kirjastoja myös hydrauliikasta ja kiinteistä kappaleista, joten sen soveltuvuus generointiin on jo nyt hyvä. 3.7.3. Mallinnetut komponentit Nostotoiminto -casea varten mallinnettiin seuraavat hydraulikomponentit: pumppu, paineenrajoitusventtiili, suuntaventtiili, sylinteri ja suodatin. Simulinkillä mallinnettujen komponenttien tiedostot (mdl) avattiin tekstin käsittelyohjelmalla, jossa tiedostoista poistettiin Simulinkin tekemät otsikkokentät. Ilman otsikkokenttiä tiedostoja ei enää voida avata Simulinkissä, mutta generointi onnistuu helpommin. Yksinkertaisemmillaan generoinnissa vain luodaan uusi Simulink-tiedosto (mdl), johon kirjoitetaan otsikkokentät ja sen perään kirjoitetaan (kopioidaan) tarvittavien komponenttien simulointimalliaihiot. Aihiot täytyy tämän jälkeen vielä yhdistää ja parametrisoida. Näitä haasteita käsitellään tarkemmin seuraavassa luvussa. 3.8. Case: nostotoiminto 3.8.1. Tavoite Tässä aliluvussa esittelemme mallinnettavan järjestelmän puomin nostotoimintoon liittyvää semanttisen mallinnuksen tapaustutkimusta. Tavoitteena on käyttää hyödyksi hydrauliikkasuunnittelijan (hydrauli-insinööri) tuottamaa suunnittelumateriaalia. Ongelmana on suunnittelumateriaalin epämääräisyys ja tiedon repaleisuus. Tietoa on tallennettu useisiin | Semogen-väliraportti, joulukuu 2010 | 36 (44) formaatteihin ja tietoja ei ole käytännössä linkitetty toisiinsa. Tästä johtuen pitää määritellä uudestaan miten esimerkiksi hydraulikaavio piirretään, jotta tiedot olisivat käyttökelpoisia simulointimallien generointiin. Simulointimallien generoinnilla ei tässä yhteydessä tarkoiteta simulointimallien toteuttamista tyhjästä vaan käyttäen apuna aiemmin luotuja aihioita. Valmiiksi kirjastoidut aihiot voidaan parametrisoida suunnittelu aineistossa olevan järjestelmätietojen perusteella. Esimerkkinä tietojen tuonnista perusjärjestelmistä ja tuodun tiedon käytöstä, tarkastelemme kohdejärjestelmässä puomin nostotoimintaa kuvaavan hydraulikaavion sisältämän tiedon tuontia Vertex HD-järjestelmästä. Luvussa 3.2 on esitetty Vertex HD:n mahdollisuudet esittää ja välittää piirustuksiin tallennettua tietoa. Esimerkki tapauksena käytetään kuvassa 3.2.2 olevaa hydraulikaaviota. Hydraulikaaviota suunniteltaessa ei ole ainoastaan keskitytty kaavion käyttöön järjestelmän valmistamiseen. Kaaviota piirrettäessä on mietitty myös tiedon jatkokäyttö muihin tarkoituksiin. 3.8.2. Tietojen tuonti perusjärjestelmästä RDF-kuvaukseen Kaikki kaavion (Kuva 3.2.2) komponentit on fyysisesti kiinnitetty toisiinsa hydraulisilla tilavuuksilla eli putkilla. Komponenttien symboleille on annettu yleisiä attribuutteja parametritiedon välittämiseksi ja linkittämiseksi. Lisäksi komponenttien ulkoiset kytkennät on identifioitu ja nimetty. Tämä mahdollistaa simulointimallien ulkoisten järjestelmien, kuten komponenttien ohjauksen, vikasignaalien ja visualisointien, linkittämisen. Luvussa 3.2 kuvatusta Vertex HD:n SVG-vientirajapinnasta saatavasta tiedostosta informaatio on kerättävä talteen ja muunnettava RDF-muotoon. Tätä tarkoitusta varten toteutettiin erillinen muunnoskomponentti SVG2RDF. Tämä XSL-muunnoksella toteutettu komponentti suodattaa ja uudelleenjärjestelee SVG-formaattiin tuotuja tietoja siten, että tuloksena syntyy kanoninen RDF/XML-dokumentti (ks. listaus 3.8.1). Listaus 3.8.1. Esimerkki hydraulikaaviosta tuotetusta RDF/cXML-tiedostosta | Semogen-väliraportti, joulukuu 2010 | 37 (44) Vaikka muunnoksen tekeminen teknisesti onnistuu XSL-muunnoksella, RDF-metatietojen kerääminen SVG:stä ei ole käsitteellisesti triviaali operaatio. Ensinnäkin RDF:n käyttöä varten on määriteltävä tai valittava käytettävät käsitteet tuotavien tietojen kuvaamiseen. Muunnokseen liittyy myös käytännöllisempiä ongelmia. Erityisesti vientiformaatin tapauksessa RDF asettaa erityisesti yksilöivien tunnisteiden nimille vaatimuksia. Pohjana käytettävien käsitteiden valinnassa käytettiin käsitemallien kartoituksen yhteydessä tehtyä SKOS-pohjaa (nimiavaruus http://www.tut.fi/projects/semogen/hydraulics#). SVG-vientirajapinnasta saatavat tiedot kuvattiin kolmeen RDF-käsitteeseen: Hydraulikomponenttien esiintymät (hydraulics#component) Putket (hydraulics#pipe) Portit eli komponenttien liittymäkohdat putkille (hydraulics#port) Jotta yhteydet näiden käsitteiden esiintymien välille saataisiin kuvattua, täytyi käsitemallia rikastaa edelleen muutamilla käsitteilä: Viittaukset putken tulo- ja meno-liityntöihin, eli portteihin tai toisiin putkiin (hydraulics#connectedFrom, hydraulics#connectedTo) Viittaus komponentista sen sisältämään porttiin (hydraulics#hasPort) ja sen käänteisviittaus (hydraulics#partOf) Lisäksi muunnos toteutettiin mallintamaan lähdeaineistoon merkityt komponenttien kuvailevat otsikkotiedot Dublin Core:n title-arvoina (dc:title). Käytännöllinen haaste muunnoksen toteutuksessa oli tunnisteiden generointi mallin eri osille. Lähtökohtaisesti RDF:ssä kaikki resurssit nimetään globaalisti yksikäsitteisten tunnisteiden eli URI:ien (Uniform Resource Identifier) avulla. Vientirajapinnasta saatavat tunnisteet ovat kuitenkin yksilöityjä ainoastaan kaavion tasolla: kaavioiden välillä tunnisteet eivät siis ole sellaisenaan yhdisteltävissä. Ratkaisuna yksilöinnin ongelmaan kaaviossa esiintyneet tunnisteet koodattiin RDF:n ns. tyhjinä solmuina (engl. blank nodes). RDF määrittelee tyhjät solmut yksilöllisiksi tunnisteiksi, joilla ei kuitenkaan ole URI-viittausta. Tyhjien solmujen tunnisteet ovat yksikäsitteisiä ainoastaan paikallisesti, ja RDF-jäsentimet osaavat yhdistellä tällaisia malleja ilman, että päällekkäisyyksiä syntyy. Käytännössä tämä yhdistely on toteutettu siten, että päällekkäisille tyhjien solmujen tunnisteille generoidaan aina uudet yksikäsitteiset tunnisteet. On syytä huomata, että käyttämällä tyhjiä solmuja ei ratkaista komponenttien globaalin yksikäsitteisen tunnisteen puutetta. Se kuitenkin mahdollistaa RDF-jäsennyksen luomisen, ja tunnisteeseen liittyvä ongelma voidaan ainakin aluksi ratkaista sovelluskohtaisesti. 3.8.3. Simulointimallien generointi aihioista RDF-kuvauksen perusteella Seuraavana vaiheena simulaation generoinnissa on hydraulikaaviosta saatavien kuvailutietojen yhdistely simulointimallien aihioihin. Komponentteihin liittyvät aihiot on taltioitu tiedostoihin ja kirjastoitu komponenttien tunnisteiden perusteella. Jotta aihiot voidaan liittää kaaviossa tunnistettuihin komponentteihin, liitetään kuhunkin simulointikomponentin aihioon RDF-kuvailutietoja. Käytännössä kuvailutiedot jäsennetään yhteen XML-tiedostoon per komponentti (ks. listaus 3.8.2). Käyttämällä RDF-yhdistelijäkomponenttia (engl. aggregator) nämä RDF-tiedostot yhdistetään toisiinsa, jolloin aihioihin liittyvät kuvailutiedot | Semogen-väliraportti, joulukuu 2010 | 38 (44) saadaan liittymään hydraulikaaviosta tuotuun malliin. Kuvailutietoihin voidaan liittää myös muita simulointimallin tietoja, kuten simulointiparametreja. Listaus 3.8.2. Esimerkki aihioon liittyvistä kuvailutiedoista Teknisesti yhdistely vaatii useiden RDF-käsitteiden tuomista malleihin. RDF2SVG-muunnoksessa kullekin komponentille määritellään sovelluskohtainen, globaali yksikäsitteinen tunniste (semogen:hasIdentifier) osoittamaan komponentin tunnisteen Vertex HD -järjestelmän sisällä. Vastaavasti simulointimallin aihion kuvailutietoihin liitetään sama tunniste, jolloin sovelluskohtainen tunniste yhdistelee hydraulikomponentin siihen liittyvään aihioon. Lisäksi sovelluskohtaisella mekanismilla aihion kuvailutietoihin merkataan viittaus aihion sisältämään tiedostoon. Kun kuvailutiedot ollaan RDF:n avulla yhdistelty viittauksin simulointimallien aihioihin, voidaan simulointimallin generointi toteuttaa. Tällainen sovelluskohtainen mallin generointikomponentti (MDL generator) toteutettiin viimeiseksi komponentiksi mallin generoivaan tiedonkäsittelyn putkilinjaan. MDL-generaattori toteutettiin Python-kielen ja sen RDFLib 3 -kirjaston (http://www.rdflib.net/) avulla. Generaattorin toiminnan perusidea on, että se hakee SPARQLkyselyjä hyödyntäen RDF-mallista komponentit sekä niihin liittyvät aihiot ja yhteydet muihin komponentteihin. Toteutustekniikaksi generaattoriin valikoitu Python sekä tällä toteutettu RDFLib 3. Vaikka RDFLib 3 -kirjasto on edelleen kehitystilassa, sisältää se kaikki generaattorin toteuttamiseen tarvittavat piirteet, erityisesti SPARQL-kyselymoottorin. 3.8.4. Tuotoksen lyhyt esittely, yleistettävyyden haasteita Simulaatiomallin lopullinen tuotantoprosessi saatiin aikaan vielä yhdistelemällä osa-prosessit kokonaiseksi generointiprosessiksi Apache Ant -kokoonpanokuvauksella. Tällä tavoin määriteltyä generointiprosessia voidaan siten ajaa joko kokonaan tai vaiheittain mm. Eclipse-pohjaisessa pilotympäristössä. Generointiprosessin lopputuloksena syntyy osittainen simulaatiomalli hydraulikaavioon piirretystä järjestelmästä. Generointiprosessissa syntyvä simulointimalli ei ole vielä valmis, vaan sen viimeistely on tehtävä Simulinkillä käsin. Erityisestikään aihioiden välisiä yhteydet eivät vielä | Semogen-väliraportti, joulukuu 2010 | 39 (44) generoidu lopputulokseen. Sekä lopputuloksena syntyvää simulaatiota sekä generaation eri vaihetuotteita on havainnollistettu kuvassa 3.8.2. Tuotoksen esittely Kuva 3.8.2. Generointiprosessin tiedostot Generointiprosessin voidaan katsoa toimivan esimerkkinä siitä, että simulointimallien generointi on automatisoitavissa. Se osoittaa myös komponenttikirjaston merkityksen erilaisia generointiprosesseja tarkastellessa. Koko järjestelmän semanttinen mallinnus on kattava, mutta usein tarpeettoman kallis ja vaivalloinen toimenpide. Aihiopohjaisella lähestymistavalla voidaan kenties saavuttaa tyydyttävämpi kompromissi komponentin semanttiselle ja sovelluskohtaiselle mallinnukselle ja niihin käytettäville resursseille. Lisäksi toteutetun prosessin perusteella simulaation generointia voidaan jatkokehittää. Se toimii myös referenssinä muihin lähdeaineistoihin pohjautuvaan semanttisen tiedon tuottamiseen. Haasteet Haasteet generoinnissa on ratkaistavissa, mutta kaikkia ratkaisumalleja ei voi suoraan yleistää. Suunnittelutiedon saatavuus ei yksistään ratkaise ongelmia generointiprosessissa. Prosessi on edelleen formaatti riippuvainen ja ihmisen työtä tarvitaan edelleen. | Semogen-väliraportti, joulukuu 2010 | 40 (44) Tietojen tuominen perusjärjestelmistä ja simulointimallin generointi vaativat erityisesti kyseisiin tiedostomuotoihin ohjelmoituja ohjelmia. Samalla ohjelmalla ei voida lukea tietoja Vertex HD ja Visio dokumenteista, koska tiedostomuodot eroavat paljon toisistaan. Vastaavasta syystä sama ohjelma ei voi generoida Simulink ja ScicosLab simulointimalleja. Helpotusta ongelmaan tuo RDFvälitiedosto, johon tiedot kerätään ja jonka perusteella simulointimalli generoidaan. Näin ainoastaan tiedon keruu ja simulointimallin kirjoittaminen ovat formaatti riippuvaisia ja uudelleen ohjelmoitavia prosessin osia. Toinen haaste on simulointimalliaihioiden saatavuus. Simulinkillä tuotetut aihiot vaativat Matlablisenssin ja ovat tästä syystä huonosti soveltuvia tähän tarkoitukseen. Sopivia ja vapaasti saatavia olevia aihioita ei suoraan ole vielä saavilla. Ilmaiset simulointiohjelmat ScicosLab (http://www.scicoslab.org/) ja OpenModelica (http://www.openmodelica.org/) ovat jo nyt kehittyneitä ja tulevat monipuolistumaan tulevaisuudessa. Erityisesti OpenModelica vaikuttaa sopivalta hydromekaanisten järjestelmien mallintamiseen ja voisi olla ratkaisu simulointimalliaihioiden tuottamiseen vapaasti saatavilla olevalla simulointikielellä. Jatkotavoitteet Luonnollinen jatkotavoite generointityölle on viedä mahdollisimman pitkälle simulaatiomallin generointi. Erityisesti aihioiden välisten yhteyksien automaattinen generointi olisi kokeilemisen arvioinen idea. Myös ulkoisten rajapintojen (UDP) generointi malliin pystyttäisiin ainakin jossain määrin generoimaan, mikä vähentäisi huomattavasti simulaatioympäristön tuottamiseen liittyvää käsityötä. Simulink-malleihin liittyy kuitenkin perustavanlaatuisia haasteita. Näin ollen vaihtoehtoisesti tai tämän työn rinnalla voisi olla syytä kuitenkin paneutua myös vaihtoehtoisten simulointiympäristöjen tutkimukseen. Luonnollisesti myös generoidun simulointimallin (reaaliaikainen) visualisointi olisi kiinnostava jatkokehityskohde kaikissa toimintamalleissa. Simulointimallin lisäksi voitaisiin lähteä kehittämään myös dynaamisen hydraulikaavion generointia. Ideaalitapauksessa tämä tarkoittaisi sitä, että yhdessä simulointiaihioiden kanssa yhdestä hydraulikaavioista voitaisiin generoida sekä simulointi, että simulointia hyödyntävä kaavion dynaaminen esitys. Tehty työ tarjoaa hyvät puitteet myös muiden osa-alueiden yhdistelyyn. Jos esimerkiksi CANaineisto tuotettaisiin RDF-muotoon, voitaisiin sitä yhdistellä simuloinnin ja hydrauliikan malleihin. Näin ollen myös yksinkertaisen CAN-simulointimallin generointia osaksi hydrauliikan simulointia voitaisiin jatkokehittää. Myös 3D-aineisto voitaisiin RDF:n avulla yhdistellä näihin malleihin ja siten toteuttaa myös 3D-malliin liittyvää dynamiikkaa. 4. Tiedotus ja kaupallistaminen 4.1. Tiedotus Hankkeen tiedottamisessa korostuu konelaboratorioiden tuotantomenetelmien ja -mallien mahdollisuuksien viestiminen. Hanke liittyy vahvasti digitaaliseen tuoteprosessin ja koneenrakennuksen teemoihin. Näillä alueilla semanttisen mallinnus ja virtuaalinen konelaboratorio ovat uusia avauksia, joten tiedotuksen merkitys korostuu. Ohjausryhmä on tunnistanut haasteeksi semanttisen mallinnuksen käsitteen sekä erilaisille kohderyhmille viestimisen. Koneensuunnittelu on suurella osalle kohderyhmiä tuttua, joten tätä tarttumapintaa kannattaa hyödyntää. Tämä on | Semogen-väliraportti, joulukuu 2010 | 41 (44) luontevaa, koska hankkeessa kuvattu semanttinen prosessi tukeutuu rikkaasti kuvailtuun suunnitteluaineistoon sekä selkeästi eteneviin vaiheisiin. Hankkeeseen laadittiin tiedotussuunnitelma (Semogen –ohjausryhmän kokous 29.9.2010). Tiedotuksen avulla pyritään tavoittamaan keskeisiä toimijoita ja sidosryhmiä, jotta konelaboratorioiden hyödyntämiseen löytyy kriittinen massa. Tiedotustavoitteet: -Viestiä sidosryhmille virtuaalisten konelaboratorioiden mahdollisuuksista sekä herättää laajempi kiinnostus näiden mahdollisuuksiin. -Muodostaa kriittinen massa virtuaalisten konelaboratorioiden hyödyntäjistä. -Korostaa uutta avausta konejärjestelmien suunnitteluprosessien kehittämiseen virtualisoinnin ja digitaalisen tuoteprosessin avulla. -Tuotantomenetelmien kehitys on edellytyksenä laajempaan ja kustannustehokkaaseen levitykseen. -Tukea rahoittajan tahtotilaa innovaation kaupallistamiseen sekä levitykseen. -Tukea II vaiheen rahoitushakua sekä innovaation jatkokehittämistä. Tiedotuksen keskeisinä kohderyhminä ovat koneenrakennussuunnittelijat ja -johtajat, koulutusorganisaatioiden johto, rahoittajat ja yritysosapuolet. Hankkeesta tiedotetaan tarkoituksenmukaisissa tiedotusvälineissä. Tarkempi kuvaus tiedotussuunnitelmassa (2010/9 ohjausryhmän kokouspöytäkirja). Tiedotussuunnitelma on kuvattu tarkemmin hankkeen tiedotussuunnitelmassa. Tutkimushankkeessa tieteelliset julkaisut toimivat keskeisenä foorumina ulospäin. Hankkeeseen laadittiin julkaisusuunnitelma (Semogen –ohjausryhmän kokous 29.9.2010). Julkaisunäkökulmina toimivat informaation prosessointi, suunnitteluprosessien ohjeistus, koneenrakennuksen suunnitteluaineistojen hyödyntäminen, simulointimallien generointi, pilot –järjestelmä, tuotantomenetelmien implementointi sekä tiedon visualisoinnit. Julkaisukanavina toimivat sekä informaation prosessoinnin, mallinnuksen että koneenrakennuksen arvostetut ja referee -arvioitavat kansainväliset tieteelliset lehdet, konferenssipaperit sekä konferenssiesitelmät. Tarkempi kuvaus julkaisusuunnitelmassa (2010/9 ohjausryhmän kokouspöytäkirja). Hankeessa toteutetut tiedotustoimenpiteet: - Tiedotussuunnitelma - Hankkeen kotisivu ja kuvaus - Yritysneuvottelut - Työpajatoiminta konsortion yritystoimijoiden kanssa - Hankesuunnitelma ja sen viestiminen rahoittajalle | Semogen-väliraportti, joulukuu 2010 | 42 (44) - Vertex Systems Oy:n asiakaspäivät 1.9.2010 - Sandvik Mining and Construction Oy useita konelaboratorioesittelyjä - Rahoittajan tapaamisen valmistelu Tiedotustoimintaa on toteutettu niukasti, koska hankkeen tutkimustoimenpiteet ovat edellyttäneet ryhmältä panostusta. Ohjausryhmä (ohjausryhmän pöytäkirja 2010/3/17.) on linjannut kokouksessaan: "Hankkeelle pyritään saamaan tiedotusvälineisiin näkyvyyttä. Julkisuusperiaatteena toimii, että yleistiedot ovat julkisia, mutta aineistot, tulokset, tarkat toimenpiteet ovat luottamuksellisia." Tiedotusvälineissä ei ole ollut vielä yhtään esitystä. Tiedotustoiminta aktivoituu kevätkaudella 2011. 4.2. Kaupallistaminen Hankkeen kaupallistamistyöpaketti on suunniteltu käynnistyvän vuoden 2011 alussa, joten konkreettisista toimenpiteistä ja tuloksista ei ole raportoitavaa. Ohjausryhmä päättää 21.12.2010 kokouksessaan kaupallistamistoimenpiteiden tarkennuksen. 5. Yhteenveto Tehdyn tutkimustyön pohjalta voidaan jo tutkimuksen tässä vaiheessa nostaa esille useita mielenkiintoisia havaintoja. Erityisesti, lähdeaineiston laatuvaatimukset ja teknisen aineiston kattavuus nousevat generoinnin näkökulmasta melko konkreettisesti esille. Käytännön sovelluksissa, teknisen suunnittelutiedon käyttötapausten tulee olla tarkkaan määriteltyä paitsi informaatiorajapintojen, myös työprosessin vastuiden osalta. Toisaalta erilaisten suunnittelukäytäntöjen kirjavuus aiheuttaa haasteita ruohonjuuritason koordinoinnille. Oman haasteena muodostavat lisäksi toteutustyön tekniset menetelmät ja erityisesti perusjärjestelmien export-toiminnallisuus. Nyt alustavasti raportoidun tapaustutkimuksen motiivina oli kokeilla semanttiseen prosessiin ja erityisesti generointitapaukseen liittyviä haasteita käytännössä. Nyt ensimmäisessä vaiheessa työtä tehtiin siis aineiston varassa, jota ei alun perin oltu tuotettu semanttisen prosessin tarpeet silmällä pitäen. Aineistorajauksen mukaisesti, tarkastelun kohteena oli ns. puomin nosto –käyttötapaus. Käytännössä osoittautui, että rakenteisuuden, viitattavuuden ja semanttisen yhdistelyn tarpeet edellyttivät lähdeaineiston merkittävää rikastamista ja kuvailemista semanttisen suunnitteluprosessin käsitteiden suhteen. Tutkimustyötä rikastamisen teknisten prosessien ja ohjeiden osalta selvästikin tarvitaan vielä. Tässä tapaustutkimuksella on tärkeä rooli, sillä se mahdollistaa tutkimuskysymysten hedelmällisen tarkentamisen teoreettisen ja konkreettisen empiirisen viitekehyksen tukena. On kuitenkin merkillepantavaa, että kun semanttisen rikastamisen ja integroinnin kriittinen vaihe ylitetään (kuten esim. tämän tapaustutkimuksen generointiesimerkissä), tarjoaa semanttisesti rikastettu aineisto varsin hyvän lähtökohdan erityyppiseen tietotekniseen sovelluskehitykseen, myös varsinaisen generointitapauksen lisäksi. Jo tässä vaiheessa tuntuu siten luonnolliselta olettaa, että | Semogen-väliraportti, joulukuu 2010 | 43 (44) rikastamisen kustannusten ja siitä suoraan ja epäsuoraan saatavien kustannusten arviointi nousee keskeiseen rooliin semanttisen prosessin käytännöllisissä sovelluksissa. Semogen-hankkeen näkökulmasta tämä on mielenkiintoista myös tutkimusprojektin II-vaiheen tutkimuskysymysten täsmentämisen osalta (esim. mittarit annetun lähdeaineiston analysointiin). Lopuksi, vaikka kaikki tässä raportissa esiintyvät tekniset yksityiskohdat ovat tietenkin tärkeitä (useimmat jopa välttämättömiä), on jo tässä vaiheessa hyvä yrittää nähdä metsä puilta: Tutkimuksen tarjoamaa perustaa vasten suhteutettuna vaikuttaa melko ilmeiseltä, että sovellusprojektin tasolla erään tärkeimmistä ongelmakentän ratkaisun avaimista muodostaa kompleksisuuden hallinta, niin projekti-informaation/välineiden kuin projektihenkilöstönkin osalta. Näistä osa-alueista ensimmäinen liittyy sovelluksen tausta-aineistoon, tavoitteisiin, työstettävään informaatiosisältöön, välineisiin ja tuotoksiin, toinen puolestaan vastuiden, tehtävien ja roolien hallintaan. Pienen projektiryhmän näkökulmasta melko intuitiivinen kiteytys on huomio "teknisen tietämyksen pääsuunnittelijan" (knowledge engineer) roolin tarpeellisuudesta: Käytännön työssä tarvitaan riittävän ammattitaidon ja projektivastuun omaavaa henkilöä, joka pitää informaation rakenteen, laadun ja rajapintojen langat tiukasti käsissään, muita (rooleja) tarvittaessa ohjeistaen. Käytännön projektikulttuuri huomioiden, tämä voi tarkoittaa/vaatia joko lisäresurssia pääsuunnittelijan tai tapauskohtaisesti mekaniikkasuunnittelijan (tms.) roolille, tai kokonaan uuden henkilöresurssin esittelyä suunnitteluprosessin osaksi. Suunnitteluaineistolähtöinen virtuaalisen konelaboratorion tuotantomenetelmien kehitys edellyttää suunnitteluaineiston semanttista rikastamista, yhteensopivuutta ja vaiheistettuja prosesseja sekä metasuunnitteluprosessien ohjeistuksia. Yhteenvetona voidaan todeta, että tapaustututkimuksen tulokset osoittavat merkittäviä kehitysmahdollisuuksia tuotantomenetelmiin. Tämä jäsentää toimenpiteiden suuntaamista ja syventämistä. Lähteet Bailliez, S. et al. (2010). Apache Ant User Manual. [online]. Saatavilla: http://ant.apache.org/manual/index.html Beckett, D. (2004). RDF/XML Syntax Specification (revised). W3C-suositus. Saatavilla: http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ Carroll, J. J., Klyne, G. (2004). Resource Description Framework (RDF): Concepts and Abstract Syntax. W3C-suositus. Saatavilla: http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/ CANopen. (2000). Profile Database Specification for CANopen. Appendix to CiA Draft Standard 306. Revision 0.3. 15 May 2000. CAN in Automation (CiA) e.V. CANopen. (2005). Electronic data sheet specification for CANopen. CiA Draft Standard 306. Version 1.3. 01 January 2005. CAN in Automation (CiA) e.V. CANopen. (2007). CANopen device description - XML schema definition. CiA Draft Standard Proposal 311. Version 1.0. 8 March 2007. CAN in Automation (CiA) e.V. | Semogen-väliraportti, joulukuu 2010 | 44 (44) Clark, J. (2001). XSL Transformations (XSLT) Version 1.1. W3C Working Draft. Saatavilla: http://www.w3.org/TR/2001/WD-xslt11-20010824/ Guha, R. V., Brickley, D. (2004). RDF Vocabulary Description Language 1.0: RDF Schema. W3Csuositus. Saatavilla: http://www.w3.org/TR/2004/REC-rdf-schema-20040210/ Hoppe, H., et al. (1993). Mesh optimization. SIGGRAPH '93 Proceedings of the 20th annual conference on Computer graphics and interactive techniques. Kay, M. (2009). XSL Transformations (XSLT) Version 2.0 (Second Edition). W3C Proposed Edited Recommendation. Saatavilla: http://www.w3.org/TR/2009/PER-xslt20-20090421/ Markkula M. (2009). Hydraulisten ja mekaanisten järjestelmien simulointimallien automaattinen generointi. Diplomityö. Tampere, Finland. Nykänen, O. (2010). Semogen Semantic Process: Data Processing Aspect. Semogen project technical document. Nykänen, O. (2010b). RDF/cXML - A Canonical XML Serialisation Syntax for RDF. Semogen project document. Internal working draft, Version 2010-10-28. Schreiber, G., Dean. M. (2004). OWL Web Ontology Language Reference. W3C-suositus: Saatavilla: http://www.w3.org/TR/2004/REC-owl-ref-20040210/ Ranta, P., Alarotu, V., Helminen, M., Koskinen, K. T., Markkula, M., Nykänen, O., Palonen, T., Punki, J., Rokala, M., Salonen, S. (2010). Selvitysraportti. Semogen-hanke. Saha, H. (2008). CANdictionary: Keywords, Standards, Technical Terms. Finnish edition, May 2008. CAN in Automation e. V. Springgay, D. (2001). Creating an Eclipse View. [online]. Saatavilla: http://www.eclipse.org/articles/viewArticle/ViewArticle2.html The Mathworks Inc. (2010). Simulink Basics. R2010b MathWorks Documentation. [online]. Saatavilla: http://www.mathworks.de/help/toolbox/simulink/ug/f2-14248.html Wikia. (2010). Foster Hydraulics Wiki. Saatavilla: http://hydraulics.wikia.com/wiki/Main_Page LIITE A • • • • • Suunnitteluprosessikuvaus Järjestelmäsuunnittelija Hydrauliikkasuunnittelija Sähkösuunnittelija Mekaniikkasuunnittelija Automaatiosuunnittelija Tuotetiedon hallinnoija Tavoitteena on kuvata suunnittelijoiden suunnitteluprosessi ja vuorovaikutukset siten, että semanttinen mallinnus on mahdollista siihen integroida Prosessikuvauksia hyödynnetään monilla eri toimialoilla, tämä pohja on ehdotus. Roolit: – – – – – – Yksi rooli ja yksi prosessiteema kerrallaan Rooliin kiinnitetään myös vuorovaikutukset muilta suunnittelijoilta Ajallinen eteneminen Kiinnitys suunnitteludokumentteihin Prosessit kuvataan prosessikuvausmallia hyödyntäen. ‐ ‐ ‐ ‐ Prosessikuvauksia arvioidaan jalostetaan yhteisesti Semogen –hankkeessa. LIITE A PS MS HS AS SS TS Projektin resurssi‐ ja aikatauluarvio. Kustannussuunnitelma Esisuunnittelu tarjousvaiheen tukena Asiakkaan vaatimusmäärittely. Vaatimusmäärittelyn pilkkominen toteutuksen kannalta oleellisiin osiin. Mekaniikka Hydrauliikka Automaatio Sähkö Tuotetieto Tarjoussuunnittelu: ‐ Alustava suunnittelu resurssien tarpeen ja aikataulun arvioimiseksi: Luonnokset tarvittavista järjestelmistä(hydrauliikka, sähkö, automaatio), Luonnokset mekaniikasta. ‐Suunnittelulähtökohtien selvitys asiakkaan vaatimusmäärittelyn perusteella (Lähtötietolomake (dokumentti)): Toimintaympäristö, olemassa olevien laitteiden hyödynnettävyys. Saatavilla olevat tarkat yksityiskohtaiset tiedot. Suunnitteluun vaikuttavat standardit. Vaaditut toiminnallisuudet. Laitteen ulkoisten mittojen vaatimukset. Konseptisuunnittelu tuotekehitysprojektissa. Suunnittelijoiden hiljainen tieto. ERP:stä aiempien vastaavien suunnitteluprosessien tiedot (kustannukset, toteutuneet aikataulut) Pääsuunnittelija/ Projektipäällikkö LIITE A Teknologiavalinnat Kokonaisuuden hallinta Perussuunnittelu Järjestelmän arkkitehtuuri Laitteen mekaniikan perussuunnittelu: Toimintojen mekaaninen toteutus, laitteiden sijoittelu, komponenttien valinnat ja tilavaraukset, lähtötiedot muille suunnittelijoille, tekninen laskenta (alku), massat, taipumat, ominaistaajuudet, koneen turvajärjestelmät PS MS Laitteen hydrauliikan perussuunnittelu: Lähtötiedot saadaan vaatimusmäärittelystä ja mekaniikka suunnittelusta. Toimilaitteiden , venttiilien , putkistojen, muiden komponenttien ja voimayksikön mitoitus ja vaatimukset (Ohjaussignaalit, tehon tarve) Laitteen automaation perussuunnittelu: Liikkeet, anturoinnit, ohjaussignaalit. Ohjelmiston kehitys Automaatio Sähkö Laitteen sähköjärjestelmien perussuunnittelu: Signaalin siirto (väylät), Sähköisten laitteiden mitoitus, suunnittelu ja valinta Hydrauliikka PDM‐ järjestelmän hallinnointi. Suunnittelijoilta saatavan tuote‐ ja suunnittelutiedon hallinta Mekaniikka Tuotetieto HS AS SS TS Pääsuunnittelija/ Projektipäällikkö LIITE A Valmistus/tuotantosuunnittelu MS Hydraulijärjestelmän toimilaitteiden ja komponenttien osaluettelot Yksityiskohtaiset valmistus‐, hitsaus‐ ja koonpanopiirustukset Toimilaitteiden ja muiden komponenttien tiedot, putkitusohjeet Käytettävät materiaalit ja aihiot, valmistustoleranssit ja ‐tarkkuudet Kokonaisuuden hallinta HS Ohjelmistojen suunnittelu PS AS Vetolista. Valmistusohje. Yksittäisen sähkökokoonpanon tarkempi kuvaus esim. sähkösolun kokoonpanoon. Kokoonpanon testaus ennen asennusta. Testausohje ja –raportti. Toimilaitteiden lopulliset toimintamitat, putkitusohjeet SS PDM:ään tuotettu rakenne on valmisteltu hankintaan ja tuontantoon. PDM:n rakennen lähetetään ERP‐ järjestelmään. PDM:n rakenne, jota tuotanto käyttää, on aina samanlainen. ERP‐ järjestelmään päivittyy tuotannon aikana lopullinen tuoterakenne. Päivittyy PDM:ään Hydrauliikka Sähkö Tuotetieto Rakenneohje sisältää tietyn laitteen kaaviot. Listaus kaavioista, päärakenteiden koodeista ja säätöarvot sähkökomponenteille. Esim. Moottorin suojakytkimen asetusarvo (mille virralle). Automaatio Komponenttien hankinta, Valmistuksen sovitus muuhun tuotantoon, Valmistettavuuden varmistus Mekaniikka ‐Hydraulikaavio tuotantoa varten ‐Symbolinen kaavio vianhakuun ja koulutukseen. TS Osto, TuoS, Val Pääsuunnittelija/ Projektipäällikkö Osto, Tuotannon suunnittelu, Valmistus LIITE A MS Kuvia dokumentaatioon, Hydraulisten laitteiden huolto‐ohjeita, kaavioita, käyttöohjeita Kuvia dokumentaatioon, Mekaanisten laitteiden huolto‐ohjeita, käyttöohjeita Hydrauliikka Automaatio Sähkö Tuotetieto Huolto‐ ja kunnossapitosuunnittelu (asiakasdokumentaatio) HS Kuvia dokumentaatioon, Automaatiojärjestelmän huolto‐ohjeita, kaavioita, käyttöohjeita Kokonaisuuden hallinta AS Kuvia dokumentaatioon, Sähköjärjestelmän huolto‐ohjeita, kaavioita, käyttöohjeita PS SS Dokumentointimateriaalin hallinnointi Mekaniikka Huolto‐ ja varaosasuunnittelu: Varaosakirjat, huoltopakettien suunnittelu TS AfSal Pääsuunnittelija/ Projektipäällikkö After Sales OSIO III Selvitysraportti Huom! Osion tiedot saattavat olla puutteellisia tai ristiriitaisia loppuraportin kanssa, koska selvitysvaiheessa kaikkea tietoa ei ollut käytettävissä. 1 Teollisuuden älykkäiden ja virtuaalisten konelaboratorioiden tuotantomenetelmien kehitys semanttisen kuvauksen avulla –Semogen hanke SELVITYSRAPORTTI Pekka Ranta, toimittaja Vänni Alarotu Matti Helminen Kari T. Koskinen Mikko Markkula Ossi Nykänen Tuija Palonen Janne Punki Markus Rokala Jaakko Salonen Versio Jakelu v. 10 3.6.2010 Luonnos, vain Semogen –hankkeen sisäiseen käyttöön Jakelu: Pauli Lappalainen AEL, Pasi Kaskinen AEL, Pekka Anttonen Sandvik Mining and Construction Oy, Heikki Saha Sandvik Mining and Construction Oy, Jussi Puura Sandvik Mining and Construction Oy, Veijo Niemelä Vertex Systems Oy, Manu Lammela Vertex Systems Oy, Jorma Salli Vertex Systems Oy, Juha Leppänen Tuotekehitys Tamlink Oy, Kari T. Koskinen TTY/Hydrauliikan ja automatiikan laitos, Seppo Pohjolainen TTY/Matematiikan laitos/Hypermedialaboratorio, Ossi Nykänen TTY/Matematiikan laitos/Hypermedialaboratorio, Pekka Ranta TTY/Matematiikan laitos/Hypermedialaboratorio ja Semogen –hankkeen tutkimushenkilöstö Kuva. Metviro –projekti ja Sandvik Mining and Construction Oy Selvitysraportti 2 Sisältö Käsitteet ja lyhenteet ........................................................................................................................................ 4 1. Johdanto ........................................................................................................................................................ 6 2. Taustaa ja lähtökohdat .................................................................................................................................. 7 2.1. Älykkään ja virtuaalisen konelaboratorion tuotantoprosessi ................................................................ 7 2.2. Konejärjestelmän rajaus ......................................................................................................................... 8 2.3. Semanttinen mallinnus ......................................................................................................................... 10 2.3.1 Semanttisen mallinnuksen johdanto ............................................................................................. 10 2.3.2 Sovelluskäyttö................................................................................................................................. 11 2.4. Simulaatiomallien tuottaminen ............................................................................................................ 13 2.4.1 Hydraulismekaanisen järjestelmän nykyinen mallinnusprosessi ................................................... 13 2.5. Suunnittelujärjestelmät ........................................................................................................................ 16 2.6. Käyttäjät ............................................................................................................................................... 20 2.7. Sovellusesimerkit .................................................................................................................................. 21 2.8. Aineistot ............................................................................................................................................... 23 2.8.1. Poralaiteaineiston yleiskuvaus ...................................................................................................... 23 2.8.2. Suunnittelujärjestelmät ................................................................................................................. 24 2.9. M1 –teknologiaan perustuva ohjelmisto ............................................................................................. 24 2.9.1. Ohjelmiston kuvaus ....................................................................................................................... 24 2.9.2. M1-ohjelmiston ominaisuuksia ..................................................................................................... 27 2.9.3. Tekninen kuvaus ............................................................................................................................ 28 2.9.4. Dynaaminen kaavio ....................................................................................................................... 28 2.9.5 3D-mallien tuonti M1-ohjelmistoon ............................................................................................... 29 2.9.6 Toimintopuun ja -ketjun luonti M1-järjestelmässä ........................................................................ 31 2.9.7. CAN/Sähkösimulaatio .................................................................................................................... 32 3. Tuotantomallien ja -menetelmien kehitysehdotuksia ................................................................................ 33 3.1. Semanttisen mallinnuksen käytännön näkökohtia .............................................................................. 33 3.2 SemoGen-hankkeen erityispiirteet ........................................................................................................ 33 3.3. Tietojen tuonti suunnittelujärjestelmistä ............................................................................................. 34 3.3.1. Tiedon keräys suunnittelujärjestelmistä ja jatkokäsittely ............................................................. 35 3.3.2 Tapaus: Kaaviotiedon mekaaninen tuonti SemoGen-järjestelmään ............................................. 36 3.4. Datan prosessoinnin putkilinjastomalli ................................................................................................ 39 3.4.1. Konelaboratorion generointi ......................................................................................................... 41 3.4.2. Konejärjestelmän 3D -reaalikuvaus ............................................................................................... 43 Selvitysraportti 3 3.4.3 Dynaamisen kaavion automaattisen generoinnin vaatimukset .................................................... 44 3.4.4 Sähkö ja CAN-väylä simulaatioiden automaattinen toteuttaminen .............................................. 45 3.4.5 Toimintopuun ja –ketjun automaattinen generointi..................................................................... 45 3.4.6 Simulointimallien generointi .......................................................................................................... 45 3.4.9. Toimintokuvaukset ........................................................................................................................ 47 3.5. Suunnittelumenetelmät ja prosessit .................................................................................................... 48 3.6. Aineistotarpeet ..................................................................................................................................... 50 4. Yhteenveto .................................................................................................................................................. 54 5. Liitteet.......................................................................................................................................................... 57 Liite 5.1. Tutkimusongelmat ........................................................................................................................ 57 Liite 5.2. Sovellusesimerkit .......................................................................................................................... 58 Liite 5.3. Koneautomaatiojärjestelmien teknologioiden osaamiskartta ..................................................... 63 Selvitysraportti 4 Käsitteet ja lyhenteet ACIS Ohjelmisto 3D-mallintamiseen, hallintaan ja visualisointiin CAD Computer-aided design eli tietokoneavusteinen suunnittelu, joka perustuu joko 2D- tai 3D-tasossa olevaan kuvaan CAN Controller Area Network on väyläratkaisu, jota käytetään yleisesti ajoneuvoissa, liikkuvissa työkoneissa ja teollisuuslaitteissa. DHD:SET Dynaamisissa kaavioissa oleva elementti, jolla voidaan ryhmittää ja sitoa kaavion objekteja simulaatioilta tuleviin signaaleihin DPPM Datan prosessoinnin putkilinjastomalli kuvaa virtuaalisen konelaboratorion tuotantomprosessin ohjelmistoarkkitehtuurin. Dynaaminen kaavio Termillä kuvataan hydrauli-, sähkö- tai CAN-kaavioita, joissa kaavion objektit ovat liikkeessä simulointisignaaleihin linkitettynä IGES Initial Graphics Exchange Specification määrittää neutraalin tietoformaation, joka mahdollistaa tiedon vaihdon CAD-ohjelmien välillä Inkscape Avoimeen lähdekoodiin perustuva vektorigrafiikan käsittelyohjelma Jumbo Kutsumanimi Sandvik and Mining Constructionin valmistamille mobiilitunnelinporauslaitteille MATLAB Korkean tason ohjelmointikieli ja teknillinen laskentaympäristö M1-ohjelmisto Konejärjestelmien koulutukseen tarkoitetun älykkään ja virtuaalisen oppimisympäristön modulaarinen konelaboratorioalusta Ogre3D M1-ohjelmistossa käytössä oleva 3d-moottori PDF Portable Document Format on käyttöjärjestelmäriippumaton tiedostomuoto tiedonsiirtämiseen PDM Product Data Management eli tuotetiedon hallintaan tarkoitettu ohjelmistoympäristö. PDM:lla on mahdollista hallita yritysten tuotteisiin liittyvää tietoa ja dokumentteja. SFS Suomen Standardisoimisliitto SFS ry on suomalainen standardisoinnin keskusjärjestö SFS-EN Eurooppalaiset EN-standardit, jotka SFS Ry on vahvistanut Suomessa ja mahdollisesti kääntänyt suomeksi SFS-ISO Maailmanlaajuiset ISO-standardit, jotka SFS Ry on vahvistanut Suomessa ja mahdollisesti kääntänyt suomeksi Selvitysraportti 5 SMC Sandvik and Mining Construction on kallionporauslaite valmistaja STEP Standard for the Exchange of Product model data on ISO standardi tiedon välittämiseen suunnittelujärjestelmien välillä. Erityisesti käytetty CADtiedostojen välittämiseen ohjelmista toiseen. SVG Scalable Vector Graphics on kaksiulotteisten vektorikuvien kuvauskieli, joka pohjautuu XML-merkintäkieleen Toimintaketju Opetuksellisesti järkevien toiminnallisuuksien yksityiskohtaiseen ja vaiheittaiseen kuvaamiseen tarkoitettu M1-ohjelmisto yhteensopiva tietorakenne/-malli. Toimintapuu Konejärjestelmän vikatilanteiden ja niiden vaikutusten sekä vaikutusten havainnoinnin kuvaamiseen UDP User Datagram Protocol on tiedonsiirtoprotokolla tietokoneiden väliseen tai sisäiseen tiedonsiirtoon XML eXtensible Markup Language on sekä standardi että merkintäkieli, jolla tiedon merkitys eli semantiikka voidaan lisätä kuvattavan tiedon sisään Selvitysraportti 6 1. Johdanto Tarkoitus ja kattavuus Semogen -hankkeessa tutkitaan semanttisia kuvausmenetelmiä, mallien automaattista generointia ja älykkäitä piirteitä sekä niitä sovelletaan virtuaalilaboratorioprototyypin kehitykseen. Tämä luo merkittävän kehitysaskeleen teollisuuden virtuaaliprototypointi- ja osaamisen kehittämisen ratkaisujen kustannustehokkaaseen ja niiden hallittuun kehitystyöhön sekä tietämysenhallintaan. Järjestelmiin ja prosesseihin liittyvän semanttisen tiedon haltuunotto palvelee myös tulevaa tuote- ja palvelukehitystoimintaa. (Semogen –hankeen tutkimussuunnitelma 2010.) Hankkeen ensimmäinen työpaketti keskittyy kokonaisuuden selvitysvaiheeseen, johon muut työpaketit perustuvat. Selvitysdokumentin tarkoituksena on tutkimustoimenpiteitä tukevalla tasolla kuvata aineistojen, ohjelmistojen, mallien, suunnitteluprosessien sekä teknologioiden mahdollisuuksia, rajoitteita ja yhteyksiä virtuaalisen konelaboratorion tuotantoprosessien automatisoinnissa sekä semanttisessa mallinnuksessa. Selvitykseen on tuotettu myös ylemmän abstraktiotason prosessikartta, joka paikantaa hankkeen tutkimustoimenpiteet laajempaan kokonaisuuteen. Selvityksen konkreettisena rajauksena toimii valittu konejärjestelmä ja käytettävissä olevat suunnitteluohjelmistot, dokumentaatio sekä tavoiteltavat pilot –järjestelmän sovellusesimerkeistä johdetut käyttövaatimukset. Rajauksen perusteella pyritään yleistämään ja pelkistämään tutkittavien menetelmien ja mallien siirrettävyyttä myös muille toimialoille. Selvitysdokumentin tietojen perusteella päätetään tarkennetut tutkimustoimenpiteet ja aikataulu. Ne esitetään erillisessä dokumentissa. Dokumentin lukijakuntana ovat asiantuntijat. Dokumentista löytyy myös hankkeen ohjausta ja yleisempää päätöksentekoa tukevia osuuksia. Jokaisen luvun loppuun on tuotettu yleistajuinen tiivistys. Selvityksen päätelmät kootaan yhteenvedoksi. Hankkeen tavoitteiden saavuttamiseksi olennaista on selvityksen kattavuus ja riittävä alan asiantuntijoiden kommunikaatiota ja ymmärrystä tukeva syvällisyys. Selvityksen syvyystaso rajautuu siten, että aineistojen, ohjelmistojen, teknologioiden, dokumenttien, prosessikuvausten sekä suunnittelumenetelmien yksityiskohdat löytyvät erillisistä liitteistä. Näihin viitataan pelkistetyn kuvauksen ja selkeän lähdeviittauksen avulla. Selvitysraporttia on merkittävästi jalostettu Semogen –hankkeen työpajoissa. Lämmin kiitos AEL: Pasi Kaskinen, Sandvik Mining and Constrction Oy: Pekka Anttonen, Heikki Saha, Jussi Puura ja Mikko Valtee, Vertex Systems Oy: Manu Lammela ja Jorma Salli aineistoista, kommenteista ja näkemyksistä. Yleiskatsaus dokumenttiin Dokumentti rakentuu konejärjestelmärajauksen, suunnitteluohjelmiston, suunnitteluprosessien, käytettävissä olevan aineistojen sekä virtuaalisen konelaboratorion erityisalueiden mukaan. Luvussa 2. on kuvattu selvityksen tausta ja lähtökohdat. Luvussa 3. kuvataan tuotantomenetelmien ja –mallien kehitysehdotuksia tutkimussuunnitelman tueksi. Luvussa 4. tehdään selvityksen yhteenveto. Selvitysraportti 7 2. Taustaa ja lähtökohdat 2.1. Älykkään ja virtuaalisen konelaboratorion tuotantoprosessi Semogen –hankkeen keskeisenä tavoitteena on kehittää älykkään ja virtuaalisen konelaboratorion tuotantoprosessia. Konelaboratorion tuotantoprosessi liittyy laajempaan kehykseen kuten liiketoimintatavoitteisiin, lainsäädäntöön, tuotetiedon hallintaan ja koneiden elinkaaren hallintaan. Laajempi kehys ohjaa virtuaalisen konelaboratorion tuotantomenetelmien kehityksen painopistealueita. Tuotantomenetelmien kehitystavoitteet pitää kohdentaa, rajata ja maadoittaa. Tämä tukee osaltaan myös semanttista mallinnusta ja prosesseja, jolloin virtuaalisen konelaboratorion tuotantoprosessi (VKL – prosessi) voidaan perustellummin jäsentää ja kohdentaa. Prosessien tunnistaminen, jäsentäminen ja positiointi on keskeistä, jotta tutkimus- ja kehitystoimenpiteet voidaan kohdentaa tarkoituksenmukaisesti ja näiden vaikuttavuutta osataan seurata ja arvioida. Kehitettyjen prosessimallien, menetelmien ja mallien tuotteistaminen ja kaupallistaminen tapahtuu prosessin loppuvaiheessa. Kuvassa X on havainnollistettu prosessikartaksi älykkään ja virtuaalisen konelaboratorion tuotantoprosessi. Prosessit on myös yksilöity. Tähdellä merkityt koneen suunnnittelu (virtuaaliset konstruktiovaihtoehtojen arviointi) , käyttöönotto (tekninen koulutus) ja koneen käyttö (kunnossapito) ovat tunnistettu keskeisiksi fokusalueiksi. Kuvan 1 prosessikartta havainnollistaa älykkään ja virtuaalisen konelaboratorion tuotantoprosessiin (VKLprosessin) vaikuttavia tekijöitä, rajauksia sekä prosesseja. Prosessikartasta johdetut prosessikuvaukset määritetään edelleen tarkennetuiksi prosessikaavioksi prosessi kerrallaan. Kuvassa 2 L1: ”Aineiston rikastaminen” kuvataan ”uimaratakaavioksi”, jossa prosessien keskeiset toimijat, prosessit ja vuorovaikutukset semanttisen kuvailutiedon keruun, rikastamisen ja sovelluskäytön osalta. Kuvaus on viitteellinen ja vaatii tarkennusta. Selvitysraportti 8 Kuvassa 2 kuvataan prosessikartan prosessikaavio L1. Aineiston rikastaminen kuvaa prosessikartasta johdetun tietyn prosessin toimijat, aliprosessit sekä vuorovaikutukset kohdesovelluksen mallintamis- ja määrittelytarpeisiin. Prosessikaavioiden avulla kuvataan prosessikartassa määritellyt prosessit yhtenäisesti. Näiden avulla voidaan kehittää sekä prosessimalleja että menetelmiä. 2.2. Konejärjestelmän rajaus Semogen-projektin esimerkki konejärjestelmäksi on valittu Sandvik Mining and Construction Oy:n Jumbomobiilitunnelinporauskone (Kuva 1). SMC:n tunnelijumboja on useita eri malleja, joista tähän projektiin on valittu DTi-sarjan tunnelijumbot. DTi-sarjaan kuuluu viisi konetta poikkileikkausten louhintaan, joiden kokoluokka on 12-203 neliömetriä (DT920i, DT1120i, DT1130i ja DT1230i) [1]. Projektissa keskitytään poralaite DT920i-malliin, jossa on kaksi TB100i porapuomia ja ei lainkaan koripuomia. Tarkennuksena projekti keskittyy kyseisen mallin vasemman puoleiseen porauspuomiin, jotta mallinnus ja simulointi olisi projektin näkökulmasta järkevästi rajattu. Yksittäinen porauspuomi koostuu mekaanisesta, hydraulisesta ja sähköisestä järjestelmästä. Lisäksi voidaan erottaa puomi ja porauslaite erillisiksi järjestelmiksi, joista poralaitteen toimintaa ei tässä projektissa mallinneta. Tarkoitus on keskittyä ainoastaan porauspuomin mekaniikkaan ja hydrauliikkaan sekä sähkö- ja väyläjärjestelmään. Rajaus helpottaa simulointia ja mallinnusta huomattavasti, mutta on riittävän laaja projektin tavoitteiden saavuttamiseksi. Lisäksi jätetään mallintamatta ohjausohjelmisto, joten simulointimallin porauspuomin paikannus tapahtuu manuaalisesti. Mallinnusprojektin ensimmäinen vaihe aloitetaan nostotoiminnosta. Nostotoiminnon hydraulijärjestelmä sisältää yksinkertaisimmillaan Selvitysraportti 9 toteutettuna pienen palan koko porauspuomista ja yksinkertaisen sähköohjauksen sekä yhden hydraulisylinterin, venttiilin ja vakiopainesäädetyn pumpun. Tämän jälkeen kun generointiprosessi on nostopuomin osalta saatu toimivaksi, voidaan siirtyä muiden toimilaitteiden toteuttamiseen samoilla periaatteilla. http://www.tunnelbuilder.es/headline_4208_2.htm Kuva 3. DTi-jumbo tunnelissa [1] Syy DTi-sarjan valintaan on siinä olevat älykkäät ominaisuudet, kuten tuotanto- ja prosessi-informaation keruu, suunnitteluohjelmistot automaattiporaukseen Lock-to-Target, QuickStep, Dynamic Correct, kunnon monitorointi ja itsediagnostiikka. Projektin kannalta tärkeä ominaisuus DTi-sarjassa on myös väylätekniikka, jota tämän sarjan jumboissa on käytetty paljon. [1,3] Väylätekniikan ja sähköjärjestelmien mallinnus ja toiminnan esittäminen on tärkeä osa-alue Semogen-projektissa. DTI-sarjan ja sen yhden porauspuomin valinta antaa hyvät mahdollisuudet väylä- ja sähkötekniikan liittämisen virtuaalikonelaboratoriossa osaksi hydraulismekaanista järjestelmää. Näin virtuaalikonelaboratorion käyttäjälle muodostuu kokonaisvaltainen kuva yksittäisen puomin toiminnasta ohjauksesta puomin mekaaniseen liikkeeseen asti. Puomin hydraulijärjestelmä on vakiopainejärjestelmä, jotta puomilla saavutettaisiin mahdollisimman tarkka paikoitus. Puomin mekaniikka ja hydrauliikka kostuu kahdeksasta nivelestä ja kuudesta vapausasteesta. Puomin hydraulijärjestelmään liittyvät kahdeksan hydraulista toimintoa ovat puomin kääntö, nosto ja zoomi sekä syöttölaitteen kallistus, siirto ja kääntö, roll-over ja lisäkallistus. Kaikkien toimilaitteiden nivelet ovat ohjattavissa yhtä aikaa ja ne ovat anturoitu, joka mahdollistaa tarkan asemasäädön. Ohjausjärjestelmä huomioi lisäksi puomin taipumat ja välykset ja paikoittaa automaattisesti puomin ratageneraattorilla. Automaattiohjauksen lisäksi puomia on mahdollista ohjata suoraan käsiajomoodissa. [4] Tätä ohjaustapaa käytetään myös projektissa simuloitavan virtuaalisen puomin ohjaamiseen, koska ohjausjärjestelmän mallintaminen olisi erittäin työläs projekti. Käsiajomoodissa on mahdollista käyttää suoraohjaus, yhdensuuntaisuusmoodi, koordinaattiajo käsiohjaimilla ja pulttauksen puomiohjaus koordinaattiajona. Selvitysraportti 10 Sähkö- ja väylätekniikka rajautuu myös mukavasti ja on mukana projektin kannalta riittävällä laajuudella. Jokaisella yksittäisellä puomilla on oma väylä, jota kutsutaan puomiväyläksi (Kuva 2). Kaikki puomin anturit ja toimilaitteiden venttiilit ovat liitetty puomiväylään. Anturit ovat niin kutsuttuja älykkäitä antureita, jotka kiinnittyvät suoraan väylään. Puomiväylä on yhteydessä runkoväylän kautta muihin väyliin, kuten ohjaamoväylään. [4] Projektissa voidaan keskittyä pelkästään puomiväylän mallintamiseen. Runkoväylän ja siinä kiinni olevan ohjausyksikön voidaan ajatella olevan mustalaatikko, josta tieto välittyy puomiväylään ja takaisin runkoväylälle. [1] http://www.tunnelbuilder.com/DTi_Series_Brochure.pdf [2] http://www.tunnelbuilder.es/headline_4208_2.htm [3] http://www.vuoriteknikot.fi/file_download/5/Vuority%C3%B6%20ja-tekniikka%202008.pdf [4] http://wiki.tut.fi/pub/SemoGen/Tyopaja-2010-04-3/IUP017AKA_parsed_for_simulator_introduction.ppt 2.3. Semanttinen mallinnus Semanttisella mallinnuksella tarkoitetaan merkitystiedon kuvaamista mekaaniseen käsittelyyn soveltuvassa muodossa, pääsääntöisesti tietokoneella suoritettavaa laskentaa silmällä pitäen. Semanttisen mallinnuksen rinnalla puhutaan siten usein myös semanttisesta laskennasta (Semantic Computing): Semantic Computing (SC) is defined as "Computing with (machine processable) Descriptions of Content and Intentions." It brings together those disciplines concerned with connecting the (often vaguely formulated) intentions of humans with computational content that includes, but is not limited to, structured and semistructured data, multimedia data, text, programs, services and, even, network behavior. (International Journal of Semantic Computing, http://www.worldscinet.com/ijsc/mkt/aims_scope.shtml) 2.3.1 Semanttisen mallinnuksen johdanto Semanttinen mallinnus ja laskenta tähtäävät siis tietyn sovelluksen käyttäjien tiettyjen tavoitteiden saavuttamiseen, mallintamalla sovelluksen semanttinen sisältö tiedon koneellisen käsittelyn näkökulmasta. Semantiikalla tarkoitetaan (tässä) asian tai välineen kuvattua merkitystä sovelluksessa, suhteessa johonkin selittävään malliin ja/tai teoriaan. Suunnittelutiedon tapauksessa tämä voi tarkoittaa esim. sitä että koneen suunnitelupiirrustukseen liitetään visuaalisen mallin ohella myös käytettyjen komponenttien tunnistenimet, jotka voidaan edelleen liittää esim. komponenttiluettelon tietoihin, jne. Koska tuotanto maksaa, tiedot valitaan sovelluksen tarpeiden mukaan. Aihepiirin stereotyyppisiä aktiviteettejä ovat mm. analyysi ja mallinnus (tarpeet, tietolähteet), tiedon integrointi, hyödyntäminen sovellustasolla, sekä semanttinen käyttöliittymäsuunnittelu Tyypillisiä matalan tason tehtäviä ovat tiedon haku, integrointi, jäsentäminen (suhteessa tiettyyn malliin), sekä tuottaminen ja/tai rikastaminen. Selvitysraportti 11 Semanttinen mallinnus (ja laskenta) ovat osa laajempaa sovelluskehystä; eivätkä menetelmätasolla ota erityistä kantaa tekniikoihin eikä sovelluksiin. Käytännössä tyypillisiä tekniikoita kuitenkin esim. logiikkaohjelmointi (rajoitettu predikaattilogiikka, kuten Hornin logiikka, Prolog, yms.), World Wide Web Consortiumin (W3C) stamdardoimat Semanttisen Webin tekniikat (esim. RDF ja OWL; ks. http://www.w3.org/2001/sw/), sumea laskenta, tietokantaintegraatio, yms. 2.3.2 Sovelluskäyttö Käytännön sovelluksissa on usein tavoitteena esim. sovellusintegraatio, tietämyksenhallinta ja/tai sovellustiedon validointi (ks. esim. Gómes-Pérez, Fernández-López & Corcho, 2004). Semanttista mallinnusta voidaan harjoittaa useilla tasoilla; yleensä tavoitteena on mahdollisimman yksinkertainen, laajennettavissa malli joka kuitenkin täyttää sovelluksen kirjatut tavoitteet. Esimerkiksi tehdasautomaatiossa (Process Monitoring, Factory Automation) monimutkainen kone (esim. kokoonpanolinja) voidaan varustaa sensoreilla jotka havaitsevat edustamansa laitteen tilan tehtaassa. Eri koneiden sensorien välittämä tieto tarjoaa kaksi keskeistä näkymää tehtaaseen: 1) Millainen tehdas on, sekä 2) Mitä tehtaassa tapahtuu. Ilmeisenä vaatimuksena on sopiva & yhtenäinen (semanttinen) malli tehtaan laitteista sekä näiden tehtävistä, sekä välineet joilla harjoittaa (semanttista) laskentaa esim. tuotannonohjauksen näkymien ja kyselyiden tarpeisiin. Käytännön sovelluksissa semanttinen malli --- tai yleisemmin, sovellusalueen teoria --- jaetaan yleensä kahden toisiaan täydentävän teknisen komponentin, käsitemallin (Ontology) ja sääntöjärjestelmän (Rules) kesken. Koska ko. teknisten komponenttien ilmaisuvoima on osin päällekkäistä, joissakin sovelluksissa voidaan tulla toimeen jo toisellakin näistä. Käsitemalli kuvataan tyypillisesti vapaamuotoisesti ja formalisoidaan soveltuvin osin esim. Web Ontology Language –tekniikalla (ks. esim. Allemang & Hendler, 2008). Tässä mallinnuksen perustan muodostaa tyypillisesti luokkahierarkia. Käsitteiden varassa toimivat säännöt esitetään tyypillisesti Prolog-tyyppisen logiikkaohjelmoinnin avulla (ks. esim. Newton, Pollock, & McGuinness, 2004; Hawke, Tabet, & Sainte Marie, 2005). Sääntöjärjestelmissä mallinnuksen perusosa on yleensä faktoista ja säännöistä rakentuva proseduuri. On erittäin tärkeätä huomata että tietokoneiden näkökulmasta semanttinen laskenta on tyypillisesti "lasihelmipeliä" --- mallien suorituksessa ei yleensä oletuksena ole mukana esim. arkipäättelyä (ns. Common Sense) joten virheellinen tai epäkelpo syöte johtaa yksinkertaisesti epäkelpoon suoritukseen. "Älykkyys", jos ko. termiä ylipäänsä halutaan käyttää, on siten suoritettavan mallin tai teorian ominaisuus, ei itse laskentakoneiston. Käytännössä erittäin merkittäväksi haasteeksi muodostuukin juuri inhimillisten heuristiikkojen, peukalosääntöjen yms. epämääräisten päättelysääntöjen tarkoituksenmukainen mallintaminen --- jotka yksinkertaisen logiikan näkökulmasta ovat usein ristiriitaisia. Eräs aihepiirin perustutkimuksen haasteista onkin juuri tämäntyyppisten seikkojen huomiointi osana semanttisen laskennan viitekehyksen (oletusarvoisia) primitiivejä. (Tämä selittää osaltaan esim. alan yleisen kiinnostuksen sumeaan mallinnukseen.) Sovellusalueen teoria voidaan käsitteelisesti jakaa edelleen kahteen osaan: ns. terminologiaan (Terminology) ja esiintymätietoon (Assertions). Näistä ensimmäinen kuvaa tyypillisesti sovellusalueen yleistä tietoa (esim. tehtaan logistiikka ja tuotantolinjat) ja jälkimmäinen valitun sovelluksen tapauskohtaista tietoa (esim. tehtaan nimenomaiset koneet ja valmistettavien tuotteiden erityspiirteet). Selvitysraportti 12 Käytännön sovelluksissa on merkillepantavaa että vaikka tietämysjärjestelmien yms. periaatteet ovat teoriassa varsin hyvin tunnettuja (vrt. esim. Russel & Norvig, 1995: decide what to talk about; decide on a vocabulary of predicates, functions, and constants; encode general knowledge about the domain; encode a description of the specific problem instance; and pose queries to the inference procedure and get answers), varsinaisen pullonkaulan asettavat tiedon virheettömään syöttämiseen, ylläpitoon ja ihmisen kognition rajallisuuteen liittyvät haasteet (ks. esim. Hoffmann, 1998). Asian kärjistetty johtopäätös lienee myös semanttisen mallinnuksen ja laskennan osalta se, että "riittävän yksinkertainen on kaunista". Todettakoon että ohjelmistotekniikassa hyväksi havaittu suunnittelumallin käsite (Design Pattern) on tulossa myös käsitemallinnukseen (ks. esim. Aranguren, 2005); käytännössä ala on kuitenkin vasta kehittymässä. Lähteitä Allemang, D. & Hendler, J. 2008. Semantic Web for the Working Ontologist: Effective Modeling in RDFS and OWL. Morgan Kaufman, UK. Aranguren, M.E. 2005. Ontology design patterns for the formalisation of biological ontologies, Ph.D. Thesis, University of Manchester, faculty of engineering and physical sciences. Available at http://www.gong.manchester.ac.uk/docs/MPhilThesis.pdf Gómes-Pérez A., Fernández-López M., & Corcho, O. 2004. Ontological Engineering: With Examples from the Areas of Knowledge Management, E-Commerce and the Semantic Web (Advanced Information and Knowledge Processing). Springer, USA. Hawke, S., Tabet, S., & Sainte Marie, C. de 2005. Rule Language Standardization, Report from the W3C Workshop on Rule Languages for Interoperability, W3C Workshop on Rule Languages for Interoperability, April 27-28, 2005, Washington, D.C., USA, W3C, Available at http://www.w3.org/2004/12/rules-ws/report/. Hoffmann, A.G. 1998. Paradigms of Artificial Intelligence: A Methodological and Computational Analysis. Springer, USA. Newton, G., Pollock, J. & McGuinness, D.L. 2004. Submission request to the World Wide Web Consortium: Semantic Web Rule Language (SWRL), W3C, Available at http://www.w3.org/Submission/2004/03/ Russel, S. & Norvig, P. 1995. Artificial Intelligence; A Modern Approach, Prentice Hall, USA. Selvitysraportti 13 2.4. Simulaatiomallien tuottaminen 2.4.1 Hydraulismekaanisen järjestelmän nykyinen mallinnusprosessi Järjestelmien simulointi ja mallinnus on yleensä iteratiivinen prosessi, kuten usein muutkin prosessit ohjelmistotuotannossa. Konejärjestelmien mallinnusprosessia on vaikea kuvata yhtenä suoraviivaisena putkimaisena prosessina. Ideaalitapauksessa simulointi ja mallinnusprosessi olisi vesiputousmalli, jossa tiedon keruusta siirryttäisiin komponenttien mallintamiseen ja lopulta päädyttäisiin yhdistämään komponentit järjestelmäksi. 1. Mallinnettavan järjestelmän määrittäminen ja rajaaminen 2. Järjestelmän ja komponenttien toiminnan ymmärtäminen 3. Tiedon kerääminen ja jäsentäminen 4. Mallintamisen aloittaminen komponentti kerrallaan ja yksittäisten komponenttimallien testaus 5. Komponenttimallien yhdistäminen toimivaksi järjestelmäksi 6. Kokonaismallin verfioiminen 7. Mallin liittäminen muihin simulaatiota tukeviin järjestelmiin 8. Lopullisten muutosten ja viimeistelyjen teko malliin Ideaaliprosessia tuskin koskaan tapahtuu, koska tiedon tarve ja tietämys järjestelmästä kasvaa yleensä prosessin kuluessa. Yleensä tiedon keruuta tapahtuu vielä komponentteja mallinnettaessa ja liitettäessä mallinnettuja komponentteja yhteen ne eivät enää käyttäydy kokonaisjärjestelmässä samoin kuin yksittäin. Käytännössä komponenteista mallinnetaan aluksi prototyyppimallit ja kootaan alustava prototyyppisimulointimalli perustuen alustaviin tietoihin simuloitavasta järjestelmästä ja mallin käyttötarkoituksesta. Näin jo projektin alkuvaiheessa muodostuu kuva kokonaisesta järjestelmästä ja voidaan paremmin panostaa mallin kannalta tärkeiden komponenttien mallintamiseen. Ongelmana on, että prototyyppiin mallinnettu ja vähemmän tärkeitä komponentteja ei enää paranneta vaan ne jäävät todella yksinkertaiselle tasolle. Prototyyppi vaiheessa olisikin parempi keskittyä vain muutaman tärkeän komponentin mallintamiseen ja lisätä malliin vähemmän olennaiset komponentit myöhemmin. Prosessin kulusta riippumatta ensimmäinen askel on aina kerätä tietoa järjestelmästä, rajata simuloitava järjestelmä ja miettiä simulointimallin käyttötarkoitusta. Konejärjestelmän simulointia ja mallinnusta varten tarvitaan paljon taustatietoa järjestelmään kuuluvista komponenteista ja niiden liitoksista sekä merkityksestä järjestelmän kokonaistoimintaan. Tarvittava komponenttikohtainen tieto riippuu mallin käyttötarkoitusta tukevasta mallinnustarkkuudesta. Komponenteista, jotka ovat erittäin tärkeitä järjestelmän päätehtävän tai simulointimallin käytön kannalta, tarvitsee kerätä enemmän ja tarkempaa tietoa. Muista komponenteista ei välttämättä tarvita tarkkoja tietoja ja kuvauksia, koska ne voidaan simuloida yksinkertaisemmilla matemaattisilla malleilla. Osaan malleista riittää komponentin käyttäytymistä kuvaava siirtofunktio. Toisaalta osa malleista tarvitsee tarkat komponentin mittapiirustukset ja tarkat tiedot esimerkiksi välyksistä. Selvitysraportti 14 Edellä kuvattujen tietojen lisäksi on tutkittava, miten kyseiset komponentit voitaisiin mallintaa. Kirjallisuudesta löytyvät aiemmat tutkimustulokset ja mallinnustavat on selvitettävä sekä tutkittava niiden käyttökelpoisuus. Komponenttien mallintaminen voidaan aloittaa, kun tarvittavat alkutiedot on saatu ja tehty tarvittava rajaus mallinnettavasta järjestelmästä sekä sovittu mallinnustarkkuus. Kokojärjestelmän mallintaminen alkaa järjestelmän tärkeimmistä komponenteista, joista tehdään prototyyppimallit kerätyn tiedon pohjalta. Mallinnus toteutetaan Simulinkillä ja parametrit kirjataan m-tiedostoon. Komponenttimallit liitetään järjestelmää kuvaavaksi prototyyppimalliksi, jolla voidaan tehdä ensimmäisiä testejä simulointimallin toimivuudesta. Viimeistään tässä vaiheessa mallinnusprosessi muuttuu selvästi iteratiiviseksi ja komponenttien malleja on kehitettävä eteenpäin. Samalla kun tieto konejärjestelmästä lisääntyy, on tehtävä tarkempia kysymyksiä järjestelmän toiminnasta, joita ei alkuselvityksessä huomattu kysyä. Näin protomalliin voidaan tiedon lisääntyessä liittää uusien komponenttien malleja ja kehitellä protomalleja paremmiksi tai korvata kokonaan uusilla malleilla. Lisäksi parametreja pitää usein muuttaa, jotta toiminta vastaisi haluttua. Tämä iteratiivinen prosessi ei oikeastaan koskaan lopu, koska mallista voitaisiin kokoajan löytää parannettavia asioita. Simuloinnin liittäminen M1-järjestelmän kaltaiseen virtuaaliseen konelaboratorioon asettaa omat haasteensa. Simulinkissa mallinnettu järjestelmämalli käännetään Matlabilla suoritettavaksi simulointimalliksi, joka Semogen ja Metviro-hankkeissa on Windows-sovellus eli exe-tiedosto. Tieto lähetetään sovelluksesta toiseen UDP-paketteina verkkokortin kautta. Tätä varten on sovittava IP-osoitteet ja tietoliikenne portit, joita sovellukset käyttävät kommunikointiin. Rajapintana käytetään xml-tiedostoa, johon tietoliikenne määritellään. Hydraulismekaanista järjestelmää simuloitaessa ja esitettäessä simulointituloksia reaaliajassa 2D- ja 3Desityksinä simuloinnista on lähetettävä yllättävän paljon tietoa ulos, mutta myös vastaanotettavaa tietoa on paljon. Lähetettävään tietoon kuuluu muun muassa eri paikoissa järjestelmää vallitsevat paineet, tilavuusvirrat, karojen liikkeet ja toimilaitteiden asemat. Lisäksi mekaanisten rakenteiden asemat ja kulmat on lähetettävä. Vastaanotettavaan tietoon lukeutuvat muun muassa ohjaussignaalit, asetusarvot ja lukuisat vikasignaalit. Tietoliikenteen hallitsemiseksi ne tarvitsee dokumentoida ja sopia tarkasti tietoliikennepaketit eri sovellusten kehittäjien kanssa. Paketeissa tarvitsee tietää lähetettävien signaalien määrä, signaalien tyypit ja signaalien nimet. MATLAB/Simulink Mathworksin MATLAB on korkean tason ohjelmointikieli ja teknillinen laskentaympäristö. MATLAB on tehokkaampi kieli tekniseen laskentaan verrattuna perinteisiin ohjelmointikieliin kuten C, C++ ja Fortran. Siitä löytyy ominaisuuksia matriisien käsittelyyn, algoritmien, käyttöliittymien ja ohjelmien kehittämiseen, datan analysointiin, muokkaamiseen ja visualisointiin sekä numeeriseen laskentaan. (Mathworks 2009a.) Lisäksi MATLAB-kieleen on mahdollista integroida muilla kielillä tuotettuja ohjelmia ja MATLAB-kieli on vastaavasti liitettävissä muihin ohjelmiin. Peruskokoonpanon voidaan liittää työkaluja (toolbox), joiden avulla MATLAB-ohjelman käyttöä voidaan laajentaa useille erityisaloille. Lisäosia on olemassa esimerkiksi säätösuunnitteluun, signaalinkäsittelyyn ja teknilliseen mallinnukseen. Simulink on MATLAB-laajennus, joka tarjoaa erinomaisen keinon mallintaa, simuloida ja analysoida järjestelmiä matemaattisilla malleilla. Mallinnus perustuu Simulinkin tarjoamaan graafiseen käyttöliittymään ja lohkokaavioesityksiin eli symboliseen mallinnukseen. Se mahdollistaa dynaamisten järjestelmien mallinnuksen yksinkertaisesti ja mallien kääntäminen suoritettaviksi ohjelmiksi on nopeaa. Lisäksi Simulinkin S-funktiot mahdollistavat Simulink-ympäristön käytön laajentamisen muilla kielillä. Niiden Selvitysraportti 15 avulla voidaan tehdä omia Simulink-komponentteja ja käyttää niitä valmiiden komponenttien tapaan. Ne ovat kirjoitettu MATLAB-, C-, C++-, Ada- tai Fortra-kielellä ja MATLAB kääntää koodista MEX-tiedostoja. Tämä mahdollistaa kolmansien osapuolien simulointiohjelmistojen linkittämisen Simulinkiin. Microsoft Windowsissa mallien siirtämiseen ohjelmistosta toiseen käytetään yleensä DLL-muotoa (Dynamic Link Library), jotka käännetään S-funktioiksi. (Mathworks 2009b.) Matemaattisiin kaavoihin ja operaatioihin perustuva mallinnus on kuitenkin usein liian monimutkainen ja aikaa vievä tapa mallintaa useita fyysisiä systeemejä. Ongelma ratkeaa Simulinkin MATLAB-kieleen pohjautuvalla Simscape-kielellä. Simscape-kielessä lohkoille on määritelty fyysisen toiminta-alue (Physical Domain) ja yksi lohko sisältää valmiiksi matemaattisen mallin fyysisestä osakokonaisuudesta. Lohkoja on olemassa mekaanisista, hydraulisiin ja sähköisiin komponentteihin. Yhden toiminta-alueen sisällä lohkoille määritellään toiminta-alueessa vallitsevat olosuhteet. Mallit voivat sisältää useita toiminta-alueita ja ne voidaan liittää muihin Simulink-malleihin. (Mathworks 2009a.) Mathworks 2009a [WWW]. [Viitattu 11.6.2009]. Saatavissa: http://www.mathworks.com/products/product_listing/index.html Mathworks 2009b. Simulink® 7 Writing S-Functions 7.3 (Release 2009a). [WWW]. Päivitetty Maaliskuussa 2009. Saatavissa: http://www.mathworks.com/access/helpdesk/help/pdf_doc/simulink/sfunctions.pdf Selvitysraportti 16 2.5. Suunnittelujärjestelmät Suunnittelujärjestelmät Koneensuunnittelun suunnitteluohjelmistot voidaan jakaa yleensä kolmeen osa-alueeseen käyttötarkoituksensa mukaan. Nämä osa-alueet ovat: mekaniikkasuunnitteluun käytettävät ohjelmistot, hydrauliikkasuunnitteluun käytettävät ohjelmistot ja sähkösuunnitteluun käytettävät ohjelmistot. Näiden kolmen osa-alueen lisäksi nykyaikaisessa koneensuunnittelujärjestelmässä olennainen osa-alue on tuotetiedonhallintaohjelmisto (PDM), jonka tarkoituksena on kerätä edellä mainittujen kolmen ohjelmiston materiaali samaan paikkaan helposti saataville sekä materiaalin käsittelyn helpottamiseksi. Mekaniikkasuunnitteluohjelmistot Mekaniikkasuunnitteluun käytettäviä ohjelmistoja käytetään koneen mekaanisten rakenteiden ja mekanismien suunnitteluun. Moderneissa ohjelmistoissa suunnittelu tapahtuu 3D- ympäristössä, jossa suunniteltavat osat ja kokoonpanot mallinnetaan kolmiulotteisesti. Tämä tekee mahdolliseksi suunniteltujen koneiden ja laitteiden kokoonpantavuuden ja toiminnan tarkastelun jo ennen työpiirustusten valmistusta. Tällöin valmistus- ja testausvaiheissa ei jouduta korjaamaan tapahtuneita suunnitteluvirheitä samassa määrin kuin ennen 3D- ohjelmistojen tuloa markkinoille. Mekaniikkasuunnitteluohjelmistojen yleistyttyä niihin on alettu lisätä uusia toimintoja. Modernissa mekaniikkasuunnitteluohjelmistossa voidaan määrätä suunnitelluille osille jo ohjelmistossa mm. valmistusmateriaalit sekä kappaleiden väritykset. Varustelukokoonpanoissa käytettyjen komponenttien tiedot on mahdollista myös tallentaa järjestelmään. Muuta lisättyä toiminnallisuutta mekaniikkasuunnitteluohjelmistossa voi olla muun muassa mekanismisuunnittelu ja -tarkastelu, lujuuslaskenta sekä virtaus- ja lämpömallinnus. Mekaniikkasuunnitteluohjelmistot tallentavat niillä tehdyt tiedostot (osat, kokoonpanot, piirustukset) yleensä ohjelmistojen omina tiedostomuotoina. Tämän takia esimerkiksi eri ohjelmistolla tehty osa ei välttämättä aukea ollenkaan toisessa mekaniikkasuunnitteluohjelmistossa. Joidenkin ohjelmistojen kohdalla on myös mahdollista, että ohjelmiston eri versioiden välillä ei ole mahdollista siirtää tiedostoja. Jotta tiedostojen siirto eri suunnitteluohjelmistojen välillä onnistuisi, on kehitetty muutamia yleisiä tiedostomuotoja 3D -mallien tallennukseen ja käsittelyyn. Näitä tiedostomuotoja ovat muun muassa STEP (.stp), ACIS (.sat) ja IGES (.igs), jotka ovat yleisimmin teollisuudessa käytössä. Näiden tiedostomuotojen mukana siirtyy kuitenkin yleensä vain kappaleiden geometriatietoja. Tässä projektissa on esimerkiksi TTY:llä käytettävissä kaksi eri mekaniikkasuunnitteluohjelmistoa: Vertex G4 ja SolidWorks. SolidWorks on TTY:llä normaalisti käytössä oleva tutkimuskäyttöön lisensoitu mekaniikkasuunnitteluohjelmisto. Vertex G4 -ohjelmisto on hankittu Vertexiltä nimenomaan Semogen projektiin. Vertex G4 , HD ja ED Vertex G4 on piirrepohjainen 3D-CAD-mekaniikkasuunnitteluohjelmisto, joka on yleisesti käytössä teollisuudessa. Perusohjelmistolla on mahdollista tehdä 3D-suunnittelua sekä työpiirustukset näistä malleista. Ohjelmistossa voidaan määritellä kappaleiden mittatietojen lisäksi materiaalitiedot, väritys sekä valinnaisia lisätietoja, jotka saadaan näkyville esimerkiksi osaluetteloihin. Erilaisilla lisäosilla Vertex G4:n käyttöä voidaan laajentaa huomattavasti. Selvitysraportti 17 Vertex HD on hydraulikaavioiden ja vastaavasti ED sähkökaavioiden piirto-ohjelma. Ne ovat ominaisuuksiltaan lähes identtiset ja niistä saatavat tiedot vastaavat toisiaan. ED:stä ja HD:stä on mahdollisuus tulostaa kaavioita tiedostoon DXF-muodossa. Lisäksi kaavioita on mahdollista tulostaa tiedostoon svg-muodossa erillisen svg-exportterin avulla. HD ja ED ovat ominaisuuksiltaan (lähes) identtiset ja niistä saatavat tiedot vastaavat toisiaan. Hydrauli- ja sähkökaavio-layout, kytkennät, lisätekstit. Eri hydrauli- ja sähkökaavioiden yhteydet/linkkaukset Jokaisesta osasta on mahdollista kuvata ohjelmalla: o tunnus o tuoteryhmä o nimike o nimitys o tuote o valmistaja o lukumäärä o yksikkö o osanumero Ohjelmassa on ainakin osittain kieliversiointi mahdollisuus Yleiset attribuutit (nimi-arvo pari) ED:stä ja HD:stä on mahdollisuus viedä kaavio svg-muodossa: Tiedot lähes suoraan M1-kaaviotyökalu yhteensopivassa muodossa o viivat hieman eri tavalla määritelty, mutta muutostyö on melko minimaalista o kaaret eri formaatilla määritelty, ja voi vaatia työtä hieman enemmän piirrosmerkit määritelty omina ryhminään, joille määritelty Vertexin omaa nimiavaruutta käyttäen makron tunniste (=piirrosmerkkityypin tunniste) ja elementti-id. Vienti on myös mahdollista DXF-muodossa. SolidWorks SolidWorks on myös piirrepohjainen 3D-CAD-mekaniikkasuunnitteluohjelmisto, joka on yleisesti käytössä teollisuudessa. Perusohjelmistolla on mahdollista tehdä 3D-suunnittelua sekä työpiirustukset näistä malleista. Ohjelmistossa voidaan määritellä kappaleiden mittatietojen lisäksi materiaalitiedot, väritys sekä valinnaisia lisätietoja, jotka saadaan näkyville esimerkiksi osaluetteloihin. Erilaisilla lisäosilla SolidWorks:n käyttöä voidaan laajentaa huomattavasti. Suunnitteluohjelmistojen ominaisuuksia Semogen -projektin näkökulmasta Modernit mekaniikkasuunnitteluohjelmistot ovat piirrepohjaisia 3D-CAD-ohjelmistoja. Kappaleiden mallinnus näissä ohjelmistoissa tapahtuu erilaisten piirteiden avulla, joista tavallisimpia ovat erilaiset pursotukset, leikkaukset ja pyyhkäisyt. Näiden piirteiden perustana voi olla joko 2D-piirros tai piirteet ovat kirjastopiirteitä. Kappaleen mallintamisessa tehdyt piirteet sekä mahdolliset 2D-piirrokset voidaan suunnittelijan toimesta nimetä vapaasti. Myös kappaleen mitat voidaan suunnittelijan toimesta nimetä vapaasti. Mittojen nimet ovat ainakin SolidWorks:ssa muotoa esimerkiksi D4@Sketch1@Part1.sldprt. Tässä Selvitysraportti 18 nimessä D4 on mitan nimi, Sketch1 on 2D-piirroksen tai piirteen nimi ja Part1.sldprt on mallinnetun kappaleen nimi, jonka suunnittelija voi myös vapaasti tai käytössä olevan nimikkeistön rajoissa päättää. SolidWorks:ssa partin, eli yksittäisen osan, tiedostomuoto on sldprt ja assemblyn, eli useasta osasta koostuvan kokoonpanon, tiedostomuoto on sldasm. Tämä nimeämisperiaate pätee hyvin todennäköisesti myös muihin mekaniikkasuunnitteluohjelmiin. Suunnitellun komponentin nimeen voidaan myös sisällyttää lisätietoa osasta. Näiden tietojen perusteella voidaan siis, kun tiedetään halutun mitan nimi, hakea 3Dmallista haluttu parametritieto simulointimallia varten. Moderneissa hydrauliikka- ja sähkösuunnitteluohjelmissa käytetään standardoituja piirrosmerkkejä, komponenttien nimeämismenetelmiä sekä piirustustapoja. Hydrauliikan osalta tällaisia standardeja on muun muassa: SFS-ISO 1219-1 HYDRAULISET JA PNEUMAATTISET TEHONSIIRTOJÄRJESTELMÄT JA KOMPONENTIT. PIIRROSMERKIT JA PIIRIKAAVIOT. OSA 1: PIIRROSMERKIT TAVANOMAISEEN KÄYTTÖÖN JA ATKSOVELLUKSIIN SFS-ISO 1219-2 HYDRAULISET JA PNEUMAATTISET TEHONSIIRTOJÄRJESTELMÄT JA KOMPONENTIT. PIIRROSMERKIT JA PIIRIKAAVIOT. OSA 2: PIIRIKAAVIOT SFS-ISO 5598 Hydrauliikka- ja pneumatiikkasanasto Sähkötekniikan osalta näitä standardeja ovat muun muassa: SFS-EN 60617-13 Sähkötekniikan piirrosmerkit. Osa 13: Analogiatekniikan elimet SFS-EN 60617-12 Sähkötekniikan piirrosmerkit. Osa 12: Binäärilogiikan elimet Yleensä hydrauliikka- ja sähkösuunnitteluohjelmistoissa toimilaitteiden ja komponenttien osat voidaan nimetä sekä lisätietoja näistä voidaan tallentaa tietokantoihin. Joissain ohjelmistoissa nämä tietokannat on integroitu ohjelmistoon. Joissain suurissa suunnittelujärjestelmissä suunnitteluohjelmistot on sulautettu itse tietokantaohjelmistoon. Tietokantojen muodot vaihtelevat todennäköisesti yritys- ja sovelluskohtaisesti, joten tietojen hankinta näistä järjestelmistä tulee tällä hetkellä todennäköisesti selvittää asiakas ja sovellus kerrallaan. Joissain ohjelmistoissa tiedot voivat olla yhteneviä, kun taas toisissa ohjelmistoissa tiedot voivat vaihdella. Tuotetietojärjestelmät (PDM) Tuotetiedon hallinta tarkoittaa ohjelmistoympäristöä, joilla hallitaan keskitetysti yrityksen tuotteisiin liittyvää tietoa ja tiedostoja. Selvityksessä ei löytynyt yksityiskohtaista tietoa, mitä konkreettista tietoa näissä järjestelmissä on ja erityisesti mitä projektiin valitusta konejärjestelmästä olisi mahdollista löytää PDM-järjestelmästä. Yleensä PDM voi sisältää esimerkiksi 2D- ja 3D malleja, osaluettelon, konfiguraatiotiedot, laskentatiedostoja ja näihin linkitettyjä dokumentteja kuten tekstimuotoisia raportteja, standardeja. Seuraavaan listaan on listattu mitä tietoja voi löytyä PDM-järjestelmästä. dokumenttien käyttöoikeuksien hallinta tietovirtojen ja prosessien hallintaa osa/komponentti/kokoonpano kuvat fyysiset mitat ja ominaisuudet nimet ja linkityksiä osaluettelo Selvitysraportti 19 tuotteeseen liittyviä ohjelmistoja ja koodin pätkiä mahdolliset konfiguraatio- ja variaatiomuutokset 3D-malli, pintaväritykset yksilöivä tunniste kokoonpanossa materiaali tuotekustannus (ja paino) tekstidokumentteja ja suunnitteluraportteja Lisäksi yleensä mainitaan että siellä voi olla "kaikki tieto". Osassa tuotetietojärjestelmiä on myös integroidun CAD-yhteensopivuuden lisäksi yhteensopivuus johonkin simulointijärjestelmään, joka kutoo CADin ja simulaation ja mahdollistaa eri dokumenttiformaattien katselun mahdollisuuden sekä mahdollisuuden tehdä huomautuksia ja merkintöjä dokumentteihin. Valitun konejärjestelmän PDM:n sisältämän tiedon tarkempi selvitys edellyttäisi koneita valmistavan yrityksen PDM:n tutustumisen. Selvitysraportti 20 2.6. Käyttäjät Älykäs ja virtuaalinen konelaboratorio soveltuu useille eri käyttäjäryhmille. Käyttäjäryhmien tuntemus on keskeistä ominaisuuksien ja toiminnallisuuksien määritystä varten. Pilot –ympäristön loppukäyttäjäryhmät sijoittuvat konejärjestelmien koulutuksen, suunnittelun ja virtuaaliympäristöjen kehityksen kohderyhmiin. Loppukäyttäjien tarpeiden ja prosessien tuntemus ohjaa osaltaan tutkimus- ja kehitystyötä. On huomioitava, että pilot –ympäristöä hyödynnetään tutkimuksellisesti, joten konejärjestelmän rajaus, konelaboratorion ominaisuudet ja käytettävyys eivät täysin vastaa kaikkia tarpeita. Tavoitteena on kuitenkin kehittää rajattujen sovellusesimerkkejä ja käyttötapauksia, joiden avulla voidaan arvioida ratkaisujen siirrettävyyttä, laajennettavuutta ja vaikuttavuutta. Keskeiset kohderyhmät on korostettu kursiivilla. Koulutus - huoltoasentajakouluttajat huoltoasentajaopiskelijat operaattorit (soveltuvin osin) Virtuaalisen konelaboratorion kehitys - ohjelmoija mallintaja ja simuloija visualisoija koulutuksellisten ominaisuuksien kehittäjä (ohjelmointi) konejärjestelmäsuunnittelija (ohjelmointi) suunnitteluohjelmistokehittäjä Konejärjestelmän suunnittelu ja virtuaaliprototypointi - suunnittelija mallintaja ja simuloija testaaja suunnitteluohjelmistokehittäjä Käyttäjäryhmien kuvaus on yhteydessä luvun 2.1. prosessikuvausten sekä luvun 2.7. sovellusesimerkkien kanssa. Nämä kolme lukua luovat yhdessä käyttökontekstin, jonka ymmärrys tukee sekä menetelmälllisten että teknologisten tekijöiden ymmärrystä. Selvitysraportti 21 2.7. Sovellusesimerkit Älykkään ja virtuaalisen konelaboratorion tuotantomenetelmien tutkimuksen ja määrittelyjen tueksi on laadittu kolme sovellusesimerkkiä käyttötapakuvauksineen, jotka liittyvät hankkeen tavoitteisiin ja kuvaavat sisältöjä, käyttötapauksia sekä tavoiteltavia toiminnallisuuksia. Sovellusesimerkit perustuvat ohjausryhmän ja työpajatyöskentelyn tuloksiin. Nämä toimivat vaatimusmäärittelyä tukevina kuvauksina. Sovellusesimerkki 1. Huoltoasentajakoulutus ja kouluttajan työvälineet Yleistavoite: Pilot –järjestelmään rakennetaan maanalaisen poralaitteen Jumbon puomiston virtuaalinen konelaboratorio, jonka avulla koulutetaan sähköhydraulisen konejärjestelmän toimintaperiaatteita, vianetsintää sekä järjestelmän ominaisuuksia. Pilot –järjestelmä sisältää myös manuaalisen tunneliporauksen yleispiirteitä. Järjestelmä sisältää kouluttajan työvälineet, joiden avulla kouluttaja voi laatia, muokata ja hallita esitys- ja vikaskenaarioita sekä havainnollistaa hakujen ja visualisointien avulla huoltoasentajakoulutuksen tavoitteiden mukaisesti laitteen toiminto- ja komentoketjuja, hydraulipainetta ja tilavuusvirtaa, ohjausjärjestelmän ja väyläliikenteen yhteyttä sekä keskeisiä mittauksia ja testejä. Tavoitteena on hyödyntää M1 –teknologioita, jotka on rakennettu mahdollisimman aineistoriippumattomiksi ja geneerisiksi, jotta uudet mallit, kuvaukset sekä aineistot voidaan liittää ohjelmiston alustustietoina. Uudet ominaisuudet liittyvät semanttiseen hakuun ja tiedon visualisointiin sekä kevyesti tunneliporaukseen Sisältörajaus: Huoltoasentajakoulutuksen aihepiirit liittyen puomistoon Laitteen ohjaus ja hallintalaitteet Puomiston hydrauliikka ja mekaniikka Puomiston automatiikka, väyläliikenne ja analyysi Vika- ja ongelmakuvaukset sekä analyysi hydrauliikan ja väylien osalta Tunneliporaustapahtuma ja operaatiot Koulutuksen suunnittelu ja toteutus Tarkempi kuvaus löytyy liitteestä 3. Sovellusesimerkki 2. Automaattinen generaatio Yleistavoite: Konejärjestelmään suunnitellaan ja toteutetaan konstruktiomuutos, jota halutaan virtuaalisen konelaboratorion avulla arvioida ja testata. Sovellusesimerkki 1 ja 2 toimii perustana esimerkki 3:lle. Fysikaalisen mallin parametrien ja semanttisen mallin avulla voidaan konstruktiomuutokset automaattisesti toteuttaa. Konstruktiomuutokset ja niiden kuvaukset voidaan hakea ja rajata sekä visualisoida pilotjärjestelmän avulla. Konstruktiomuutosten vaikutuksia konejärjestelmään arvioidaan konelaboratorion työvälineillä. Kokemuksia hyödynnetään sekä suunnittelijan että huoltoasentajan koulutuksessa. Sisältörajaus: Jumbon puomistorakenne o Puomiston hydraulipumpun korvaus pienemmällä (liian vähän tilavuusvirtaa) pumpulla. o Noston toimilaitteen sylinterien mitoitusvaihtoehdot. Selvitysraportti o o o o o 22 Yhdessä sylinterissä on valmistusvika, joka aiheuttaa ulkoisen vuodon. Konstruktiomuutosten testaus ja arviointi sylintereiden osalta kuumissa +30 ° C ja kylmissä -25 ° C olosuhteissa sekä pölyisessä ympäristössä. Konstruktioita arvioidaan lisäksi 1000 h ja 5000 h käytön jälkeen. Sylinterissä on tiivistevaurio, joka aiheuttaa vuodon kammioiden välille. Vertailu alkuperäisen konstruktion kanssa. Tarkempi kuvaus löytyy liitteestä 3. Sovellusesimerkki 3. Jumbon puomin konstruktiomuutos Yleistavoite: Konejärjestelmään suunnitellaan ja toteutetaan konstruktiomuutos, jota halutaan virtuaalisen konelaboratorion avulla arvioida ja testa. Sovellusesimerkki 1 ja 2 toimii perustana esimerkki 3:lle. Fysikaalisen mallin parametrien ja semanttisen mallin avulla voidaan konstruktiomuutokset automaattisesti toteuttaa. Konstruktiomuutokset ja niiden kuvaukset voidaan hakea ja rajata sekä visualisoida pilotjärjestelmän avulla. Konstruktiomuutosten vaikutuksia konejärjestelmään arvioidaan konelaboratorion työvälineillä. Kokemuksia hyödynnetään sekä suunnittelijan että huoltoasentajan koulutuksessa. Sisältörajaus: Jumbon puomistorakenne Puomiston hydralipumpun korvaus alitehoisella (liian vähän tilavuusvirtaa) pumpulla. Noston toimilaitteen sylinterien mitoitusvaihtoehdot Yhdessä sylinterissä on valmistusvika, joka aiheuttaa järjestelmään ulosvuodon ja näin ollen toimilaitteen puutteellisen toiminnan. Konstruktiomuutosten testaus ja arviointi sylintereiden osalta kuumissa +30 ° C ja kylmissä -25 ° C olosuhteissa sekä pölyisessä ympäristössä. Konstruktioita arvioidaan lisäksi 1000 h ja 5000 h käytön jälkeen. Sylinterin sisäinen vuoto Pumppuihin ja moottorien hyötysuhteet. Suodattimen vaikutus. Suodattimen painehäviö on riippuvainen käyttötunneista/ympäristön puhtaudesta. Vertaus alkuperäisen konstruktion kanssa Tarkempi kuvaus löytyy liitteestä 3. Selvitysraportti 23 2.8. Aineistot 2.8.1. Poralaiteaineiston yleiskuvaus Sandvik Mining and Construction Oy antoi suunnitteluaineistoa todellisesta Jumbo-mobiiliporauslaitteesta Semogen-projektille. Selvitystyössä käytetty aineisto ei vielä täysin kata projektin tavoitteiden kannalta tarpeellista aineistoa, mutta tähän mennessä saatu aineisto on käyttökelpoista ja antaa mahdollisuuden tutustua tiedostomuotoihin sekä tiedon esitystapaan ja määrään suunnitteludokumenteissa. Aineiston merkitys on erittäin suuri, koska sen avulla otetaan kantaa projektin kannalta tärkeimpään suunnitteluongelmaan eli miten tietojen tuonti suoraan suunnittelujärjestelmästä oppimisympäristöön toimisi. Materiaalin perusteella voidaan aloittaa järjestelmän mallintaminen ja simulointi. Myös 3Dmateriaalin tuotanto voidaan aloittaa saadun aineiston perusteella. Hydrauliikkajärjestelmä Koneesta saatiin kuusi hydrauliikkakaaviota sekä Vertex-tiedostoina että pdf -muodossa. Kaavioista kolme on tarpeellisia tehdyn konejärjestelmän rajauksen puitteissa. Yksi hydraulikaavioista esittää koneen alustan (carrier) koneikkorakennetta, josta yhden puomin tarvitseman tehon syöttö on projektin kannalta tarpeellinen. Lisäksi puomin toimilaitteita ja puomin venttiilistöä esittävät kaaviot ovat tarpeellisia. Vertex muodossa olevat kaaviot ovat tärkeitä, koska tiedosto sisältää suunnitteluohjelmiston tuottamat viittaukset ja yhteydet. Aineistoissa havaittiin suunnittelijakohtaisia eroja. Lisäksi nimeäminen dokumenttien välillä erosi. Esimerkiksi puomin teleskooppiliikkeestä on käytetty nimikkeitä Boom zoom ja Boom telescope. Osassa kaavioista nimikkeet suomeksi ja osassa on käytetty englantia. Nimikkeiden hallinta edellyttäisi yhtenäistä sanastoa. Puomin hydrauliikasta saatu osaluettelo on excel-muodossa. Venttiilistöstä on aineistossa kaavion lisäksi Bosch Rexrothin yleisesite. Sähkö- ja väyläsuunnitteluaineisto Sähkö- ja väyläsuunnitteluaineistoa ei ole vielä tullut, mutta prosessi on määritelty. Väylä kuvataan CAN Open standardin 311 mukaisesti. Kuvausta hyödynnetään myös oikean konejärjestelmän väyläsuunnittelussa. Puomin CAN-väylästä toteutetaan tätä projektia varten hieman oikeasta järjestelmästä yksinkertaistetumpi versio. Tämä toteutetaan siten, että oikeista DCF-profiileista kootaan projektin kannalta järkevä kokonaisjärjestelmä, joka tallennetaan eds-formaattiin. DCF-profiilien käsittelyyn käytetyn ohjelman nimi on ProCANOpen ja eds-tiedostejen lukemiseen voidaan käyttää ilmaista CANeds 3.5 ohjelmaa. Hankkeen kannalta erittäin positiivinen asia on, että kummatkin formaatit ovat standardisoituneita tapoja käsitellä CAN-järjestelmiä ja lisäksi tiedostoformaatit ovat ASCII-pohjaisia sekä metatiedolla varustettua tietoa. 3D-mallit Saadut 3D-mallit esittävät porapuomia ja syöttölaitetta (boom ja feedrail). Alkuperäiset mallit ovat varsin yksityiskohtaisia. Mallien osien nimeämisen vastaavuus osaluetteloon on tarkistettava. Mallit sisältävät mekaaniset osat, hydraulisylinterit ja poran ulkokuoret. Mallit sellaisenaan ovat liian yksityiskohtaiset käytettäväksi reaaliaikaympäristössä. Selvitysraportti 24 Yleinen materiaali Yleisestä materiaalista saatiin käyttöohjekirja ja jumbo-sarjan esite. Käyttöohjekirjassa on esitetty koneen turvallisuusohjeet, käyttötarkoitus, pääkomponentit ja hallintalaitteet sekä ohjelmiston käyttöliittymä. Tämän lisäksi käyttöohjeista löytyvät varsinaiset käyttöohjeet, operaattorin huolto-ohjeet (päivittäiset tarkastukset) ja ohjeet mm. koneen hinaukseen ja varastointiin. Puomista ja syöttölaitteesta on lisäksi tarkempi osaluettelo. 2.8.2. Suunnittelujärjestelmät Vertex Systems Oy luovutti hankkeen tutkimuskäyttöön Vertex G4 mekaniikkasuunnittelu-, ED sähkösuunnittelu ja HD - hydrauliikkasuunnitteluohjelmistot, SVG (skaalautuva vektorigrafiikka) – laajennuksen, käyttökoulutuksen sekä laajan käyttöohjeistuksen. Suunnittelujärjestelmät mahdollistavat poralaiteaineiston hyödyntämisen alkuperäisessä muodossaan ja tallennettuna tietokantaan. Tämä tarjoaa mahdollisuuksia ohjelmiston sisäisten viittausten, linkitysten, sanastojen ja kuvailutiedon hyödyntämiseen. Suunnitteluohjelmistojen tietokantarajapinta vaikuttaa lupaavalta tuotantoprosessin putkilinjaston kannalta. 2.9. M1 –teknologiaan perustuva ohjelmisto 2.9.1. Ohjelmiston kuvaus M1-ohjelmisto on yleinen konelaboratorioalusta, jota on kehitetty mm. Metviro ja Lihaako -projekteissa. Ohjelmiston avulla luodut konelaboratoriot ovat tähdänneet koulutuskäytöön, mutta ovat myös toimineet tuote-esittelyn ja markkinoinnin välineinä. M1-ohjelmisto perustuu siihen että konelaboratorioalustan ja koneen tiedot ovat eriytetty toististaan siten että samaa M1-ohjelmistoa voidaan hyödyntää eri koneisiin perustuvien konelaboratorioiden pohjalla. M1-ohjelmisto pitää sisällään mm. seuraavia ominaisuuksia/työkaluja: Kaaviotyökalu (0-n kaaviota) Virtuaalimaailmatyökalu Ohjaamo Huoltokirja/vianhaku Tutor Osaluettelot Muistiinpanot Mittaukset/säädöt/korjaukset Äänet Mittayksiköiden/värien vaihdot Simulaation nauhoitus ja toisto Selvitysraportti 25 Tehtävän läpikäynti Tehtäväeditori Toimintaketjueditori Opiskelijaa toimiin mukautuva ohjelmaan upotettu WWW-lisätieto (esim. wiki linkkaus) Tuki erilaisille simulaatiolle Näistä ominaisuuksista voidaan jättää tarvittaessa pois eri ominaisuuksia riippuen kunkin konelaboratorion tarpeesta. M1-ohjelmisto on rakenteeltaan modulaarinen ja konejärjestelmäriippumaton. Kuvassa 4 on M1ohjemiston rakenteen modulaarisuus kuvattuna. Ohjelmiston monipuolisuus ja joustavuus perustuu oppimisympäristö ytimeen eli virtuaalinen oppimisympäristö –ohjelmistokehykseen (kuvassa Sofware framework) joka tarjoa monipuoliset palvelut sisältäen mm. ohjelmiston sisäiset viestiväylät muille ohjelmiston työkaluille. Työkalut (Kuvassa vaaleansinisellä) toteuttavat käyttöliittymän konejärjestelmän käsittelyyn. Ne hyödyntävät kehyksen palveluita ja muodostavat kukin oman itsenäisen mutta toisiinsa linkitetyn palvelunsa käyttäjälle. Nämä työkalut eivät sisällä tietoa konejärjestelmistä ja ovat siten pysyviä osia M1-ohjelmistossa. Nitä voidaan kuitenkin kytkeä pois käytöstä. Työkalujen käyttämä konejärjestelmä tieto määritellään ohjelmistosta erillisissa alustustiedostoissa (kuvassa vihreällä). Näillä konekohtaisilla sisällöillä määritellään mitä konejärjestlelmää M1-ohjelmistsa käsitellään ja vain ne vaihtamalla voidaan vaihtaa myös koko konejärjestelmä. Kehys ja työkalut tarjoavat myös monia rajapintoja, joilla työkaluja tai työkalun osia (esim. mittarityyppejä) voidaan lisätä kohtuullisella vaivalla koskematta muuhun osaan ohjelmistosta. Selvitysraportti Kuva 4: M1-ohjelmiston modulaarinen rakenne, jossa erottuvat asetustiedostot (vihreät) sekä konelaboratorion toiminnallisuudet (vaalean sininen). 26 Selvitysraportti 27 2.9.2. M1-ohjelmiston ominaisuuksia Konejärjestelmän simulaatio ”Näe liikkuvan koneen sisään” Realistinen, reaaliaikainen ja dynaamisesti simuloitu konejärjestelmä Toiminta muokattavissa ajonaikaisesti parametrien avulla, esimerkiksi vikoja ja säätöjä asemalla Voidaan mallintaa viat, testit, havainnot ja toiminnot Virtuaalinen ja dynaaminen kaavio Kaavion vapaa liikuttelu ja tarkennus ruudulla Komponenttien piirrosmerkit ja nimet Simulaatioon perustuva öljyn paineiden ja virtauksen, sähkön jännitteen ja virran sekä liikkeiden visualisointi Mittaus- ja korjausmahdollisuudet Virtuaalinen ja dynaaminen kone Paine- ja virtaushavainnollistukset Dynaamisten toimintojen visualisointi Korostukset ja valinnat yhteistoiminnassa muiden työkalujen kanssa Realistisesti toimiva ja kolmiulotteinen konejärjestelmä Komponenttien tarkastelu läpinäkyvänä ja/tai leikattuna Käyttöä tukevat valmiit oletuskuvakulmat Liikeajojen tallennus ja tarkastelu hidastettuna, nopeutettuna, pysäytettynä sekä askeleittain Koneen äänet ja niiden mukautuminen koneen tilaan Osaluettelo ja osien yhteys kaavioon ja virtuaaliseen koneeseen Virtuaaliset huoltotoimenpiteet Konejärjestelmän toimintaan vaikuttaminen ohjauksen, säätöjen ja korjauksien avulla Aidonkaltaiset ja järjestelmän toiminnan kannalta oleelliset mittauskohteet, mittarit ja testit sekä mittayksiköt Korjausten tekeminen ja niiden vaikutusten esittäminen Vianhaun älykäs tuki Vianetsintäprosessin järjestelmällisen etenemisen oikea-aikainen tuki ja ohjaus Opiskelun ja oppimisen ajatteluprosessin tukeminen suuntaa-antavien vihjeiden ja toimintaehdotussten avulla Opiskelijan käsitteellisen ja toiminnallisen mallin kehityksen tukeminen Vaikuttamismahdollisuus saatavilla olevaan tukeen Pedagogiset työvälineet Rikkaat havainnollistamismahdollisuudet aihepiirien opetukseen Kouluttajan työvälineet tehtävien laatimiseen ja muokkaamiseen sekä oppimateriaalien hallintaan Kieliversiointimahdollisuus Selvitysraportti 28 Järjestelmällisen vianetsinnän tuki ja hallinta Lisätietoa järjestelmän rakenteesta, toiminnasta, vioista, testeistä ja korjauksista Opiskelijan ajatteluprosessin ulkoistamisvälineet Vianhaun muistiinpanojen ja etenemisen työvälineet Tehtävien arviointi ja läpikäynti 2.9.3. Tekninen kuvaus Ohjelmisto on tehty .NET framework ympäristöön ja se edellyttää koneesta Windows käyttöjärjestelmää (XP, Vista, 7) ja .NET framework 2.0 kirjastoa. Ohjelman pitäisi myös toimia Linux+Mono ympäristössä, jos siihen tehdäisiin pieniä muutoksia ja otettaisiin muutama ominaisuus pois käytöstä. 3D-ympäristö käyttää Ogre3D-kirjastoa, joka on avoimen lähdekoodin 3d grafiikkamoottori. Mm. Ogre3D ja kaavion piirto puolestaan hyödyntävät DirectX-rajapintaa. M1-ohjelmisto vaatii siten toimiakseen DirectX 9.0C (Maaliskuu 2009 tai myöhempi) ajoympäristön asennettuna koneelta. Lisäksi näytönohjaimen on oltava suht tehokas jotta ohjelmiston käyttö olisi jouhevaa. Esimerkiksi kannettavan tietokoneen yhdysrakenteiset näytönohjaimet (lähinnä Intel-merkkiset) ovat osoittatuneet testeissä useimmiten liian heikkotehoiseksi. Näyttölaitteeksi suositellaan kahta monitoria tai laajakuvamonitoria riittävällä resoluutiolla, mutta käyttö onnistuu myös yhdellä näytöllä tai videoprojektorilla. 2.9.4. Dynaaminen kaavio Kaavio on kaksiulotteinen piirustus, joka tarkastelee asiaa tietystä rajatusta näkökulmasta. Kaavioon on suodatettu tarkasteltavasta asiasta ainoastaan sen käytön kannalta oleelliset tiedot. Dynaamisuudella kaavio saadaan esittämään simuloidun koneen tilatietoa. Lisäksi kaavioon voidaan lisätä käyttäjän kulloistakin toimintaa tukevia tilatietoja, kuten vianhaun tilaa ja havainnoinnin kohdetta. Nykyisessä M1-teknolgiaan perustuvassa ohjelmistossa tuotantoprosessi dynaamisen kaavion osalta kattaa seuraavat viisi vaihetta: 1. 2. 3. 4. 5. Kaavioiden hankinta Kaavioiden uudelleenpiirto svg-muotoon Kaavioiden komponenttien merkkaus ja ryhmittely Komponenttien nimeäminen Dynamiikan sidonta Vaiheissa on yleensä hieman päällekkäisyyksiä ja välillä joudutaan palamaan takaisinpäin. Tämä vaiheistus on kuitenkin hyvä ajatusmalli prosessista. Seuraavaksi on esitelty eri vaiheiden tarkemmin kuvaus: 1. Vaihe Hankitaan konejärjestelmään liittyvät kaaviot. Tällä hetkellä on käytetty pdf-muotoisia tai paperilla olevia kaavioita. 2. Vaihe Nykyisin on käytetty Inkscapea, jolla piirretty sähkökaaviot käsin uudelleen svg-muotoon. Kaavioita on karsittu ja valittu tärkeimmät komponentit, jotka piirretään. Toisena tapana on käytetty käsin kirjoitettuja svg-piirtoalkioita, joista on kasattu käsin koostamalla kaaviot, jotka vastaavat haluttua kaaviota. Lisäksi tässä vaiheessa on jouduttu miettimään kaavioon liittyvää dynamiikkaa, koska liikkeet vaativat hieman tilaa. Tätä ei yleensä ole alkuperäisessä kaaviossa huomioitu. Selvitysraportti 29 3. Vaihe Svg-kaavioon on lisätty dhd:set -elementtejä, joilla kaavion komponentteja voidaan ryhmittää toimiviksi kokonaisuuksiksi. 4. Vaihe Kirjoitetaan erilliseen kielitiedostoon nimet komponenteille. Nimet sidotaan komponentin key attribuuttiin. 5. Vaihe Kaavioon kirjoitetaan lisätyt dynamiikansidonnat, joilla määritetään mikä simulaation parametri arvo vaikuttaa mihinkin piirtoalkioon minkä liiketyylin mukaisesti. Tässä vaiheessa on tiedot on myös sidottava avaimiin, jotka on luotu system.xml-tiedostoon simulointisignaaleista. 2.9.5 3D-mallien tuonti M1-ohjelmistoon Nykyinen tuotantoprosessi kattaa 10 vaihetta: 1. 3D-mallien hankinta ja / tai piirtäminen 2. 3D-mallien siirto CAD-ohjelmasta renderöinti-ohjelmaan 3. 3D-mallien kevennys 4. 3D-mallien teksturointi ja / tai materiaalien muokkaus 5. 3D-mallien osien nimeäminen ja ryhmittely 6. 3D-mallien kinematiikkaketjun dynaaminen sitominen animointia varten 7. Yksittäisten mallien yhdistäminen virtuaalimaailmaksi 8. Maailman osien näkyvyyden määrääminen näkyvyysbiteillä 9. Virtuaalimaailman tuonti renderöintiohjelmasta Ogre3D?-yhteensopivaan muotoon 10. Animoinnin alustustiedoston muodostaminen 1. Vaihe 3D-mallit tuotetaan koneiden ja / tai hydraulikomponenttien suunnittelu- ja valmistusprosessissa syntyvien CAD-mallien pohjalta. Koneen ollessa kysymyksessä CAD-mallit voivat olla ns. pintamalleja esittelytarkoitukseen, jotka esittävät koneen vain ulkoasun yksinkertaistettuna tai mallit voivat tuotantoon tarkoitetut mallit koneesta, jolloin niistä joudutaan karsimaan yksityiskohtia. Hydraulikomponenttien ollessa kysymyksessä käytetään komponentin kokoonpanomalleja tai mikäli näitä ei ole käytettävissä, komponentin runkomalliin ( ulkoiset mitat ), lisätään sisällön 3D-mallit tuottamalla ne itse. 3D-mallien tuottaminen itse vaatii mittatietoa ja kuvia mallinnettavasta komponentista. 2. Vaihe CAD-mallit siirretään tietyssä formaatissa renderöintiojelmaan, joka on esim. 3DSMax tai Blender. Siirtoformaatteina käytetään joko .wrml tai STL (StereoLitho?)-formaattia. Kummassakin siirtoformaatissa on puutteita, WRML-hukkaa osien nimeämisen, mutta säilyttää osien materiaalit ja STL vastavuoroisesti säilyttää nimeämisen, mutta hukkaa materiaalit. STL-formaatissa voidaan vaikuttaa muotojen tarkkuuteen jo siirtovaiheessa. Selvitysraportti 30 3. Vaihe Renderöintiohjelmassa mallien muototarkkuutta heikennetään, joilloin mallien piirto kevenee. Mallit koostuvat tässä vaiheesta kolmioista muodostuvasta verkosta, jonka kolmioiden määrää pyritään vähentämään. Kolmioiden vähennys tapahtuu joko renderöintiohjelman automaattisella työkalulla tai kokonaan piirtämällä 3D-malli käsin uudestaan. Automaattiselle työkalulle annetaan kynnysarvo, jota lähempänä olevat kolmioiden kärkipisteet ( vertexit ) yhdistetään yhdeksi pisteeksi. Tulos tarkastetaan silmämääräisesti ja kynnysarvoa suurennetaan tai pienennetään tarvittaessa. Yksittäisistä osista saadaan 10 - 80 % kolmioista poistettua ja osakokoonpanoissa pyritään 30 .. 50 %:n välille kolmioiden alkuperäisestä määrästä. 4. Vaihe Teksturointivaiheessa malleille annetaan meteriaalit. Mikäli malli on tuotu renderöintiohjelmaan teksturoituna, eri pintojen samanlaiset materiaalit muokataan samannimisiksi. Siirtoformaatti käsittelee jokaisen pinnan tekstuuria yksittäisenä materiaalina, vaikka se olisi identtinen muiden materiaalien kanssa. Mikäli mallia ei ole tuotu teksturoituna, mallille annetaan materiaali. Jos mallissa tarvitaan virtauspintojen teksturointia, jota ei ole tehty CAD-ohjelman puolella, se on tehtävä renderöintiohjelmassa valitsemalla käsin virtauspinnan muodostavat kolmiot ja asettamalla niille oikea tekstuuri. Yksittäisille malleille määrätään UV-koordinaatit, jotta tekstuurien valo-ominaisuudet toimivat oikein virtuaaliympäristössä. Tähän on automaattinen työkalu renderöintiohjelmassa. 5. Vaihe Nimeämisvaiheessa jokaiselle mallille annetaan uniikki nimi. Nimi muodostetaan useimmiten osaluettelon osanumeroinnin perusteella. Oppimisympäristöön vietävässä kokonaisuudessa ei saa olla saman nimisiä osia. Ryhmittelyssä yksittäisistä osista muodostetaan ryhmiä, jotka esittävät jotakin osakokonaisuutta. 6. Vaihe Kinematiikkaketjun sitomisella tarkoitetaan mallien sitomista toisiinsa animointia varten. Jokaiselle mallille määrätään keskipiste, jonka ympäri malli kääntyy. Mikäli tätä ei ole määrätty, malli kääntyy oletusarvoisesti maailman origon ympäri. Mallin lokaalien akselien suunta määrätään keskipisteen orientaatiota muuttamalla. Tämä helpottaa esimerkiksi viistoon liikkuvien kappaleiden animointia. Mallien sidotaan tiettyyn koordinaattiin isäkappaleen keskipisteeseen nähden. Tällöin lapsikappaleen keskipiste on sijoitettava nivelpisteeseen. Työ tehdään käsityönä. 7. Vaihe Yksittäiset mallit virtuaalimaailman. sijoitellaan samaan työtilaan renderöintiohjelmassa, jotta ne muodostavat 8. Vaihe Jos virtuaalimaailmasta käytetään oppimisympäristössä useampaa erinäkymää, malleille määrätään näkyvyysbitit sen mukaan missä näkymissä niiden kuuluu näkyä. Mikäli mallilla on 2 tai useampia vaihtoehtoisia malleja, vaihtoehtoiset mallit määrätään piilotetuiksi export-pluginin asetuksista. Työ tehdään käsityönä. Selvitysraportti 31 9. Vaihe Virtuaalimaailma käännetään ogre-yhteensopivaan muotoon export-pluginilla automatisoidusti. Exportpluginin tuottaman scene-tiedoston nimen on oltava sama kuin oppimisympäristön system.xml:ssä määrätty tai oppimisympäristön system.xml-tiedostoa on muokattava. Exporttauksen tuottamat tiedostot siirretään tyyppinsä mukaisesti paikoilleen oppimisympäristön työhakemistoon. XML-pohjaista materiaalitiedostoa muokataan tarvittaessa materiaalien ulkoasun parantamiseksi. 10. Vaihe Virtuaalimaailman animoinnit tapahtuvat simulointimallilta tulevan liiketiedon perusteella. Animointja varten tehdään alustustiedosto, jossa määrätään funktiot minkä mukaan eri mallit liikkuvat maailmassa. Alustustiedoston formaatti liitteenä. Animointien toteutus tehdään käsin ja funktioiden kertoimia säädetään visuaalisen palautteen perusteella. 2.9.6 Toimintopuun ja -ketjun luonti M1-järjestelmässä Toimintopuu-käsitteellä tarkoitetaan konejärjestelmän kuuluvien komponenttien ja toimintojen linkittämistä puumaiseen rakenteeseen. Toimintapuun rakentamista varten on tehty editori, jonka avulla puuta voidaan rakentaa graafisen käyttöliittymän avulla. Toimintapuu mahdollistaa esimerkiksi vikojen konejärjestelmään aiheuttamien muutosten listaamisen ja linkittämisen. Esimerkiksi luodaan vika työhydrauliikanpumppuun, josta heijastuu ongelmia järjestelmän paineisiin, tilavuusvirtoihin ja lopullisesti vika voidaan havaita järjestelmätasolla toimilaitteiden liikkumattomuutena. Toimintoketju on käsitteenä hyvin lähellä toimintopuuta, mutta on vianhausta askel toimintojen linkityksen havainnollistamiseen ja opettamaan miten konejärjestelmän komentoketjut toimivat. Toimintoketjujen muodostamiseksi on olemassa myös oma editori. Käyttöliittymä on graafinen ja sen avulla käyttäjä voi luoda haluamiansa toimintoketjuja, jotka voivat olla lyhyitä ja yksinkertaisia tai pitkiä ja sisältäen kaikki mahdolliset toimintoketjuun liittyvät havainnollistukset. Kaaviota, 3D:tä, osaluetteloa jne. käytetään toimintaketjun visualisointiin toimintaketjutyökalun tahdittamana. Vaiheeseen liittyvät piirrosmerkit (toiminta tai komponentti) korostetaan, kohdistetaan tarvittaessa ja muokataan dynamiikan ohjauskomennoilla. Teknisesti kaavio toimii samalla lailla kun tavallistakin simulaatiota ajettaessa. Alla on esitetty esimerkkinä; noston toimintaketjun esittäminen vaiheistuksen avulla -skenaario. Nostoliike aloitetaan ja päättyy siihen, kun puomi alkaa nousta. Alkutilanne: Kone: pumppu lähes nollakulmalla (tasapainotila ilman kuormitusta, paitsi kompensoi vuodot), paineet tyhjäkäynnillä, puomi kuormatilassa, öljy lämmintä, kone tasaisella kentällä. Tarkasteltavat työvälineet; sähkökaavio, hydraulikaavio, 3D, ohjaamo: 1. Kuljettaja käyttää ohjausvipua sähkökaavio: ohjain siirtyy uuteen asemaan ohjaamo: ohjain siirtyy uuteen asemaan 2. Signaali siirtyy ohjaimelta ohjainmoduulille sähkökaavio: linja näkyy aktiivisena 3. Ohjainmoduuli muokkaa ohjausta kuljettajan säädöillä sähkökaavio: moduuli aktiivisena prosessoimassa jotain 4. Signaali siirtyy ohjainmoduulita nosturin moduulille (CAN-väylä) sähkökaavio: linja näkyy aktiivisena 5. Nosturin moduuli (VBU) muuntaa signaalin venttiilille sähkökaavio: moduuli aktiivisena 6. Signaali siirtyy nosturin moduulilta noston esiohjausventtiilin kelalle. sähkökaavio: linja näkyy aktiivisena (analogisen signaalin suuruus) 7. Kela virroittuu ja tuottaa voimaa karalle hydraulikaavio: kelan väri muuttuu suhteessa virtaan (mitä isompi pinta-ala kelasta väritetty, niin sitä suurempi virta) Selvitysraportti 32 8. Esiohjauskara siirtyy siihen asemaan, että paine esiohjauksen painekanavasta välittyy toimilaitekanavaan (linja aukeaa; venttiilin tilasta 1 tilaan 2) hydraulikaavio: piirrosmerkin kara siirtyy uuteen asemaan 9. Pääkaran ohjauskanava paineistuu (huomioi kuristus) hydraulikaavio: linja väritetään painetta vastaavalla värillä 10. Pääkara siirtyy LS-linjan avaavaan asemaan hydraulikaavio: piirrosmerkin kara siirtyy uuteen asemaan 11. LS-linja paineistuu karalta noston vaihtovastaventtiilille hydraulikaavio: linja väritetään painetta vastaavalla värillä 12. Noston vaihtovastaventtiili valitsee suuremman signaalipaineen välitettäväksi eteenpäin hydraulikaavio: vvv-pallo siirtyy oikeaan laitaan 13. Signaali siirtyy nostonlohkosta painepäädyn kopiokaralle hydraulikaavio: linja väritetään painetta vastaavalla värillä 14. Kopiokara säätää lähtevän signaalipaineen vastaamaan sisäistä LS-linjan painetta. hydraulikaavio: piirrosmerkin kara siirtyy uuteen asemaan 15. Signaalipaine siirtyy venttiililohkolta pumpun säätimelle kuristuksen kautta. hydraulikaavio: linja väritetään painetta vastaavalla värillä 16. Pumpun virtaussäädin säätyy signaalipainetta ja pumpun ohjaussylinterissä vallitsevaa painetta vastaavaan tasapainotilaan. hydraulikaavio: piirrosmerkin kara siirtyy uuteen asemaan (vasemmalle) 17. Paine ohjaussylinterin männänpuolella laskee. hydraulikaavio: linjat ja kammio väritetään painetta vastaavalla värillä (sininen) 18. Pumpun kulma suurenee hydraulikaavio: pumpun säätönuoli kiertyy myötäpäivään 19. Paine painelinjassa kasvaa hydraulikaavio: linja väritetään painetta vastaavalla värillä 20. Nostoventtiilin pääkara siirtyy yhdistäen painelinjan ja toimilaitteen kanavat 21. Virtaus alkaa ja sylinteri liikkuu 22. Puomi liikkuu 2.9.7. CAN/Sähkösimulaatio Nykyinen tuotantoprosessi CAN- ja sähkösimuloinnin osalta kattaa kolme vaihetta: 1. Tiedon ja materiaalin keruu laitevalmistajilta 2. Toimintalogiikan suunnittelu ja toteutusvaihtoehtojen kartoittaminen 3. Toimintalogiikan koodaus eli CAN- ja sähköjärjestelmien simulointi Selvitysraportti 33 3. Tuotantomallien ja -menetelmien kehitysehdotuksia 3.1. Semanttisen mallinnuksen käytännön näkökohtia SemoGen-hankkeessa käytännöllisiä mallinnuksen ja tutkmuksen näkökohtia ja haasteita muodostavat erityisesti seuraavat huomiot: 1. Semanttinen mallinnus (ja integrointi) perustuu pitkälti avainrakenteisiin. Lähdeaineiston rikastaminen tarkoittaa tästä näkökulmasta katsottuna erityisesti avainrakenteiden kirjaamista ja hallintaa; semanttinen mallinnus voidaan siten suorittaa varsinaisten suunnittelujärjestelmien "ulkopuolella". 2. Aineiston esikäsittely/harmonisointi tyypillisesti edellyttää myös suunnitteluprosesseissa tapahtuvia muutoksia, ts. pelkkä tekniikoiden esittely ei riitä vaan tarvitaan myös muutoksia työtavoissa. 3. Semanttisen mallinnuksen erittäin hyödyllinen "esiaste" ovat erilaiset taksonomiat ja asiasanastot. Monimutkaisempi formaali käsitemallinnus kannattaa todennäköisesti aloittaa vasta kun esim. taksonomioiden hyödyt on otettu käyttöön projektissa. Monimutkaisten semanttisten mallien arkikäytön suurin haaste lienee järjestelmien hyväksyttävyys (erit. virheetön toiminta, ymmärrettävyys ja läpinäkyvyys). Käytännön nyrkkisääntö on kuitenkin se, että mitä monimutkaisempi malli on, sitä vaikeampi loppukäyttäjän on sitä ylläpitää ja ymmärtää. 4. Tyypillisiä aihepiirin kehitysprojektien kriittisiä haasteita ja riskejä ovat epäselvät käyttötapaukset/kohdesovellukset (esim. liian abstraktit tavoitteet/mittarit), aineistossa tapahtuvat skeematason muutokset (esim. suunnittelijan vaihtuessa semanttinen nimikkeistö muuttuu odottamattomasti), ja inhimilliset tekijät (esim. ymmärretään mallin tarkoitus väärin ja tietoa syötetään virheellisesti). Em. näkökohtien huomiointi on erityisen tärkeää määrittelyvaiheessa. Ideaalitilanteessa semanttisen mallinnuksen kohdesovellukset iteroidaan sidosryhmien kanssa ennen varsinaiseen sovelluskehitykseen ryhtymistä. Tämäntyyppisen ongelmat korostuvat erityisesti implementointipainotteisissa projekteissa, eivät niinkään tutkimushankkeissa. Tästä syystä aihepiirin tutkimukselliset tavoitteet ja implementointitavoitteet on syytä jäsentyneesti eritellä hyvissä ajoin. 3.2 SemoGen-hankkeen erityispiirteet Semanttisen mallinnuksen (ja laskennan) rooli SemoGen-projektissa on rajattu kahteen keskeiseen käyttökohteeseen, jotka ovat: 1. Virtuaalilaboratorion generointi 2. Loppukäyttäjän sovellukset Tässä tulkintana on se, että semanttinen mallinnus ja laskenta tarjoavat projektin käyttöön/tietoisuuteen tiedon mallinnusfilosofian, tietokanta/SemWeb-tekniikoita, sekä dataprosessori/putkilinjastotekniikoita. Varsinaiseen "älykkyyteen" ei laskenta-alustan tasolla tähdätä, vaan kyse on pikemminkin hyödyllisen tiedon rikastamisesta/käytöstä hyvin määriteltyjen sovellusten tehokkaan toteutuksen tukena. Selvitysraportti 34 Generoinnilla pääpaino on sovellustiedon semanttisessa rikastamisessa siten, että halutuntyyppisen tietosisällön omaavan virtuaalilaboratorion aihio voidaan oleellisesti "tulostaa" annetun abstraktin kuvauksen perusteella. Loppukäyttäjän sovelluksissa semanttista tietoa voidaan puolestaan hyödyntää esim. semanttisten haku- ja annotointivälineiden osalta jotka tarjoavat laajalti integroidun näkymän saatavissa olevaan tietosisältöön. Käytännön toteutuksen näkökulmasta käsitemallin ylläpito jakautunee suunnitelijan oletusvälineiden (kuten Vertex-suunnitteluohjelmat) ja erityisesti käsitemallien suunnitteluun tarkoitettujen välieiden kesken (erit. Protege, ks. http://protege.stanford.edu/). Kyselysovellusten toteutuksen perusjärjestelmä on tyypillisesti Java-pohjainen Jena (ks. http://jena.sourceforge.net/), joka tarvitsee tuekseen päättelykoneen (esim. Pellet, ks. http://clarkparsia.com/pellet/). Perusväline putkilinjastojen toteutukseen on esim. Apache Ant (ks. http://ant.apache.org/). Em. Java-pohjaiset sovellukset ja kehitysympäristöt ovat saatavilla Open Source-lisenssein. Mikäli kehitystyössä päädytään esim. C#-tekniikoihin, vastaavia tuotteita löytyy seuraavasti. Semanttisen mallin käsittelyyn käy esimerkiksi OwnDotNetApi-kirjasto (http://users.skynet.be/bpellens/OwlDotNetApi/), joka on lähes ainut OWL-api .NET frameworkiin. Eräs vaihtoehto on tehdä kehitys pääosin .NET pohjaisesti, mutta hyödyntää semanttisen mallin käsittelyssä edellä mainittuja ohjelmistoja oman ohjelmiston kautta. 3.3. Tietojen tuonti suunnittelujärjestelmistä Oikein toteutettuna ja parametrisoituna osa simulointimalleista on mahdollista käyttää geneerisesti hyväksi luotaessa uusia järjestelmämalleja. Ihminen tekee samoin mallintaessaan järjestelmiä. Hänelle on kertynyt eri mallinnusprosessien aikana tietoa ja taitoa sekä vanhoja komponenttisimulointimalleja. Näitä kaikkia ihminen käyttää hyväkseen tehdessään uusia malleja järjestelmistä. Samaa periaatetta voidaan soveltaa tietokoneiden käytettäväksi eli kirjastoidaan geneerisiä komponentteja kuvaavia simulointimalleja, joita voidaan parametrisoimalla muokata ja liittää järjestelmiksi. Parametritietoja on rajallisesti mahdollista poimia koneellisesti suoraan suunnittelujärjestelmistä. Ihmisen on kuitenkin siis vielä puututtava prosessiin. Ensimmäisessä mallinnusvaiheessa tämä pitää huomioida ja yrittää parametrisoida mallit saatavilla olevan tiedon mukaan. Lisäksi on huomioitava geneeristen mallien erityistarpeet. * Mallit eivät saa olla liian primitiivisiä parametrisoinnin näkökulmasta o Tällainen voisi olla vaikka siirtofunktiolla mallinnettu sylinteri eli sylinterimalli ilman männänhalkaisijaparametria o Pitäisi kehittää laskukaava uuden siirtofunktion laskemiseksi vastaamaan uutta sylinterikokoa * Edellistä tulisi välttää ja mallit pitäisi parametrisoida saatavilla olevan tiedon mukaisesti mallintaa o Parametrisoida mallit sillä tarkkuudella mitä suunnittelujärjestelmistä on normaalisti saatavilla o Esimerkiksi ei tarvita parametria erikseen kitkoille, jos tällaista tietoa ei ole suunnittelujärjestelmistä saatavilla Selvitysraportti 35 o Tällaiset parametrit pitää laskea generointivaiheessa perustuen johonkin muuhun parametriin (sylinterin halkaisija) Aiemmin luvussa 2.4. kuvattiin mitä tietoa mallinnettaessa järjestelmiä tarvitaan ja mistä tieto yleensä löytyy. Ihmisellä, joka toimii mallintajana on kyky lukea hydraulikaaviota ja CAD-kuvia. Tietokoneelle tämä voi olla hankalaa, koska tietoa ei ole aina kuvattu tarpeeksi rikkaalla kuvauksella. Tämän takia tietokoneen lukiessa suunnittelujärjestelmistä saatavaa tietoa (esim. hydraulikaaviota) voi ongelmaksi muodostua eri komponenttien tunnistaminen ja niistä saatavilla olevan tiedon tulkitseminen. Teoriassa on kuitenkin mahdollista kuvata suunnittelujärjestelmissä tietoa riittävän rikkaasti, sen käyttämiseksi mallinnuksen pohjana. Kuva 5: Ehdotus simulointimallin automaattisen generaation työvaiheiksi Tieto suunnittelujärjestelmistä ja -dokumenteista tuotaisiin simulointimalliin ja virtuaaliympäristöön käytännössä jonkinlaisen importerin kautta. Importeri lukee semanttisesti järkevästi merkatun tiedon ja antaisi tässä vaiheessa käyttäjälle mahdollisuuden rikastuttaa ja modifioida kerättyä informaatiota. Tämän jälkeen ohjelma pystyisi tuottamaan semanttisen kuvauksen konejärjestelmästä. Tällaisen kuvauksen pohjalta voitaisiin seuraavaksi koota geneerisistä simulointimalleista kokojärjestelmää kuvaava malli, jonka parametrit olisivat kerätty suunnittelujärjestelmästä. Osa parametreista voisi siis olla kiinteitä suoraan suunnittelujärjestelmästä, osa käyttäjän antamia generointivaiheessa ja loput osittain muokattavissa reaaliaikaista simulointia ajettaessa. 3.3.1. Tiedon keräys suunnittelujärjestelmistä ja jatkokäsittely Semogen pilottijärjestelmän tarvitsema tieto on kerättävä useasta eri lähteestä. Näitä lähteitä ovat mm. suunnittelujärjestelmät ja tuotetiedonhallintajärjestelmät. Näissä järjestelmissä olevat tieto on koottava yhtenäiseksi, jotta sitä voidaan hyödyntää pilottijärjestelmässä. Tiedon saamiksesi järjestelmästä tiedon oltava joko luettavassa muodossa tai järjestelmässä on oltava rajapinta, jonka kautta tarvittava tieto voidaan hakea järjestelmästä. Luettavilla muodoilla tarkoitetaan esimerkiksi ASCII- tai xml-muotoista tietoa tai muuten semanttista muotoa, jota voidaan lukea tarkoitukseen rakennetulla lukijalla, parserilla. Kerättävän tiedon pohjana voidaan käyttää osaluetteloa, joka toimii syötteenä semogen-pilottijärjestelmän luku- ja keräilyosalle. Tämä ’masterparser’ kerää tarvittavat tiedot joko rajapintojen tai erilaisten lukijoiden Selvitysraportti 36 kautta ja jakaa ne sitten eri ohjelmiston työkalujen generointiin erikoistuneille osioille (LabGen). Mikäli käyttäjän syötettä tarvitaan tiedon rikastamiseen se tapahtuu erikoistuneiden osioiden kohdalla. 3.3.2 Tapaus: Kaaviotiedon mekaaninen tuonti SemoGen-järjestelmään Suunnittelutiedon mekaanisen käsittelyn näkökulmasta erittäin keskeisiä kysymyksiä ovat lähdeaineiston rakenteisuus, aineiston sisäiset ja ulkoiset viittaukset, sekä aineiston elinkaaren ja keskeisten suunniteluratkaisujen tunnistaminen. Seuraavassa tarkastellaan esimerkinomaisesti tietojen tuontia Vertex ED – suunnittelujärjestelmästä, perustuen Vertexin toimittamaan esimerkkiaineistoon. Esimerkki edustaa ns. hyvää tapausta, so. tilannetta jossa lähdeaineiston formaatti ja rakenne ovat tunnettuja ja (rakenteisen export-toiminnon ansiosta) helposti luettavissa. Tilanteessa jossa suunnittelutietoa joudutaan lukemaan "toissijaisesta" lähdeaineistosta (esim. suunnitteluaineiston pohjalta generoitu PDF) aineiston jäsentäminen saattaa olla huomattavasti hankalampaa. Aineisto (Export SVG) Kuva 6 esittää Vertex ED -esimerkkikaaviota SVG Export toiminnon jälkeen Firefox-selaimessa. Kuvasta nähdään kaavion komponentteja, yhteyksiä ja merkintöjä. Kuva 6: Esimerkkikaavio Vertex ED SVG Export toiminnon jälkeen (symbolin K2 korostus ellipsillä ei kuulu lähdeaineistoon vaan ainoastaan tässä korostaa seuraavassa tarkasteltavaa kuvan osaa) Kuvan tuotantoprosessi on periaatteessa yksinkertainen: Suunnittelija on ensin työstänyt kuvan Vertex ED – suunnitteliohjelmassa, minkä jälkeen kaaviosta on tuotettu suunnitteluohjelman export-toiminnolla SVGkuva. Suunnittelijan tekemillä mallinnuksen valinnoilla ja työtyylillä saattaa kuitenkin olla huomattava merkitys suunnittelutiedon mekaanisen lukemisen onnistumisen näkökulmasta: SVG-kuvasta on tietenkin luettavissa Selvitysraportti 37 vain kaavioon erikseen piirretty, kirjoitettu ja ryhmitelty tietoaineis, ei suunittelijan hiljaista tietoa esim. komponttien yhteyksistä ja rooleista suunnitteluratkaisussa, eikä tietoa ulkoisten viittausten takana vaikuttavista käsitemalleista yms. SVG, eli Scalable Vector Graphics, on W3C:n suosittama, laajennettavissa oleva teknologia vektorigrafiikalle (ks. http://www.w3.org/TR/SVG11/). Mekaanisen luettavuuden näkökulmasta SVG on hyvä ratkaisu sillä sen kirjaaman rakenteisen tiedon lukemiseen ja jäsentämiseen soveltuu periaatteessa mikä tahansa XMLasiakasohjelma (tai sellainen voidaan helposti toteuttaa valmisjäsentimiin perustuen). Varsinaiseen vektorija kaaviotiedon semantiikan tulkintaan tarvitaan tietenkin SVG-sanaston ja sen export-toiminnossa määrittelemien (kaaviospesifien) Vertex-laajennusten tuntemusta (ks. @REF VertexED-SVG_semogen.doc). Esimerkkijärjestelmä suunnittelijan näkökulmasta Kaaviossa on esitetty suurempaan hydraulijärjestelmään kuuluva yksittäinen sylinteritoimilaite sekä toimilaitteen ohjaukseen käytettävät komponentit. Kaksitoimista epäsymmetristä sylinteriä S1 ohjataan sähköisesti ohjatulla 4/2- suuntaventtiilillä V10. Suuntaventtiilin tyypin takia sylinterin mäntää ei voida asemoida väliasemiin vaan sylinteri liikkuu aina joko täysin sisään tai täysin ulos. Toisin sanoen painelinja on aina avoin joko sylinterin A-kammioon tai B-kammioon riippuen suuntaventtiilin asemasta ja venttiilin avulla hallitaan vain sylinterin liikesuuntaa. A-puolen letkuun on lisäksi liitetty painekytkin K2, josta saadaan signaali kun A-linjan paine ylittää kytkimeen asetetun raja-arvon. 4/2- suuntaventtiilin solenoidin ohjaussignaali löytyy kaaviosta A01:2/24 ja signaali on nimetty ref_V10. Suuntaventtiilin tankkilinja on liitetty suoraan T1-tankin f-liitäntään. Tämän linjan kautta palautetaan sylinteriltä poistuva tilavuusvirta tankkiin. Suuntaventtiilille V1 tulevassa painelinjassa vallitsevaa painetta säädetään paineenalennusventtiilillä V8, jolla varmistetaan että paine ei nouse missään vaiheessa liian suureksi suuntaventtiilissä tai sylinterissä. Välissä on vielä pikaliitäntä X3, johon kytkettävä asia on kuvattu kaaviossa 2/12 ja on kytketty linjaan, jonka nimi on ref_x3. Ennen paineenalennusventtiiliä painelinjasta löytyy jousikuormitettu vastaventtiili V7. Tämän venttiilin avulla estetään öljyn kulkeutuminen väärään suuntaan paineen laskiessa ennen venttiiliä. Tällä venttiilillä myös varmistetaan, että syöttöpaine venttiilinV7 A-linjassa nousee riittävän korkeaksi ennen kuin venttiili avautuu. Ennen vastaventtiiliä V7 järjestelmästä löytyy toinen painekytkin K1. Lisäksi samasta linjasta löytyy myös paineakku T2, jolla varmistetaan sylinterin toiminta silloin, kun järjestelmään ei syötetä riittävästi tilavuusvirtaa. Akku voi toimia myös muualta järjestelmästä tulevien paineiskujen kompensoinnissa mutta sylinterin S1 paineiskuihin se ei pysty tässä järjestelmässä vaikuttamaan. Akun koosta riippuen sitä voidaan käyttää, joko ylläpitämään sylinterin käyttöpaine vikatilanteessa (pieni akku), tai tilavuusvirtareservinä, jonka avulla sylinteri voidaan ajaa hallitusti turvalliseen asentoon (iso akku). Paineenrajoitusventtiilillä V5 säädetään akun täyttöpaine sekä rajoitetaan koko sylinterijärjestelmän paine haluttuun tasoon. Kun asetuspaine ylitetään, paineenrajoitusventtiili avautuu ja sen kautta johdetaan ylimääräinen öljy tankkiin T1 liitännän f kautta. Normaalisti suljetulla hanalla V6 voidaan paineakusta poistaa paine näin halutessa, jolloin hanan avauksen jälkeen hanan läpi kulkeva tilavuusvirta johdetaan tankkiin T1 liitännän f kautta. Sylinterin S1 järjestelmä on liitetty muuhun järjestelmään vastaventtiilillä V4. Tällä venttiilillä päästetään pääjärjestelmästä tuleva tilavuusvirta sylinterin järjestelmään ja estetään sylinterin järjestelmästä virtaus pääjärjestelmään. Kaaviosta löytyy vielä painemittari, jota kuitenkaan ei ole liitetty mihinkään. Selvitysraportti 38 Sylinterin liikenopeutta ei pystytä säätämään kaavion komponenteilla järjestelmässä. Suuntaventtiilin läpäisy määrää sylinterin liikenopeuden. Kaaviossa esitetty painekytkin K1 voi olla mahdollisesti osa pääjärjestelmän pumpun ohjausta. Kun paine laskee painekytkimen K1 tarkkailemassa linjassa saattaa pumpun ohjaukselle mennä tieto tilavuusvirran tarpeesta tässä osajärjestelmässä. Tällöin pumpun tuottoa kasvatetaan tiettyyn asetusarvoon ja pidetään siinä niin kauan että paine taas nousee K1-kytkimen tarkkailemassa linjassa riittävän suureksi. Paineen noustua pumpun tuottoa taas vähennetään. Painekytkimellä K2 taas saatetaan tarkastella sylinterin S1 asemaa. Koska painekytkin tarkastelee sylinterin A-linjaa, voi sen arvo muuttua vain, kun tässä linjassa paine muuttuu riittävästi. Kaavion alkutilanteessa Alinjan paine on tankissa vallitseva paine, joka on aina huomattavasti pienempi kuin järjestelmän asetuspaine. Kun suuntaventtiilin V10 asento muutetaan, ajetaan sylinterin mäntä ulos. liikkeenaikana paine nousee sen suuruiseksi kuin kuorman siirtämiseen vaaditaan. Tämä painetaso ei kuitenkaan ole vielä korkein painetaso A-linjassa. Kun sylinterin mäntä on ajettu toista päätyä vasten, nousee paine sylinterin Alinjassa paineenalennusventtiilin V8 asetuspaineeseen. On todennäköistä, että painekytkimen K2 signaali muuttuu vasta tällä painetasolla, jolloin tiedetään sylinterin olevan toisessa päädyssään. Vaikka kaaviossa on piirretty tankki kolmeen kertaan, tarkoitetaan tällä merkinnällä kuitenkin kokoajan yhtä ja samaa tankkia T1. Tässä tapauksessa kaikki kolme erillistä linjaa myös on yhdistetty jossain vaiheessa ja kaikkien virtaukset kulkeutuvat tankkiin saman liitoksen läpi. Lisäinformaationa voidaan vielä todeta että tämän liitoksen putken pää on tankissa nestepinnan yläpuolella eikä alapuolella, koska linjojen viivat eivät pääty tankin piirrosmerkin pohjaan. Kaavion järjestelmä voi kuvata esimerkiksi hydraulista lukkoa, joka ei kuitenkaan saa jäädä päälle koneen pysähdyttyä. Kaavioissa on tapana merkitä toimilaitteiden ja komponenttien avaintiedot, jotka kuitenkin kaikki puuttuvat esimerkkikaaviosta. Esimerkiksi sylinteristä kerrotaan männän ja männänvarren halkaisijan lisäksi iskun pituus. Internetistä löytyy IHA:n sivuilta PDF http://www.iha.tut.fi/education/IHA2100/harkka_kaavohj.pdf, jossa on otettu tärkeimmät kohdat näihin liittyvästä standardista. Mitoitustietoa voidaan sisällyttää myös PDM- järjestelmään mutta käytännöt vaihtelevat, eivätkä tätä toimintaa määrää standardit. Järjestelmissä on yleensä niin kutsuttujen päätietorivien lisäksi, joiden tieto näkyy osaluettelossa, myös lisärivejä ylimääräiselle informaatiolle, joka ei näy osaluettelossa. Tietosisältö mekaanisen käsittelyn näkökulmasta Nyt on mielenkiintoista tarkastella mitä tietoja SVG-kuvasta on (kuvan tulostamisen lisäksi) luettavissa. Mekaanisen tulkinnan näkökulmasta keskeisellä sijalla ovat tässä erityisesti seuraavat kuvan edustaman suunnitteluratkaisun piirteet: 1. Komponentit yms. identifioiva avaintieto (esim. symbolien ja symboliluokkien nimet) 2. Komponenttien tyyppitieto, tyypien (luokka)hierarkia yms. (esim. symboli x on tyyppiä X, X on Y:n aliluokka) 3. Yhteys/kytkentätieto yksittäisten komponenttien välillä (esim. symbolit x ja y on yhdistetty viivalla z) 4. Viittaukset standardikomponenttien kuvailutietoihin (esim. moottoritoimittajan tarjoamat tiedot) Selvitysraportti 39 5. Suunnitteluratkaisuja selittävä tieto (esim. muut osat on valittu puomin nostovoiman ehdoilla) 6. Mahdolliset korvaavuudet vaihtoehtoiset ratkaisut, yms. (esim. sylinterit saa vaihtaa, moottoria ei) 7. Tieto suunnittelijoista ja välineistä, suunnitteluratkaisun elinkaaritieto, mahdollinen versiotieto, yms. (esim. Saara Suunnittelija, luonnos 0.9, koulutuskäyttöön soveltuva tarkkuus, vain sisäiseen jakeluun) 3.4. Datan prosessoinnin putkilinjastomalli Ehdotettu datan prosessoinnin putkilinjastomalli DPPM (data processing pipeline model) on esitetty kuvassa 7. Malli kuvaa kehitettävän järjestelmän arkkitehtuurin. Valmiiden suunnittelu- ja tuotantojärjestelmien (Legacy editor esim. Vertex –ohjelmistot) kuvataan aineisto mahdollisimman rikkkaasti ja yhtenevästi. System importer on toiminto, joka vastaa suunnittelu- ja tuotetietojärjestelmistä saatavilla olevan tiedon tuonnista lab generator yhteensopivaan muotoon. Toiminto voi hyödyntää useita eri suunnittelujärjestelmän tietoja. Se hyödyntää semanttista tietoa tuonnin aikana liittämään osaksi muita tunnettuja tietoja. Osasta suunnittelujärjestelmästä tuotuja tietoja luodaan kirjastomoduuleita (3d mallit), joita voidaan hyödyntää muissakin konelaboratorioissa. Osassa tuodoista tiedoissa valitaan olemassa olevista kirjastomoduuleista vastaava palanen (esim. 2d dynamiikka). Tiedoista luodaan myös konelaboratoriojärjestelmän peruskuvaus, joka kertoo eri visualisointien ja loogisen asettelun sekä tunnisteet, osa-/komponenttihiearkian ja osa-/komponenttien käyttöliittymänimet (jos eivät tule kirjastomoduuleista). Suunnittelujärjestelmistä tuotava tieto ei todennäköisesti ole automaattisesti muokattavissa 100% M1teknologia yhteensopivaksi, joten tuotavan tiedon muokkaukseen tarvitaaan mahdollisesti omia editoreita (mm. visualisointien dynamiikka). Kuva 7: Virtuaalisen konelaboratorion ohjelmistojen ja mallien putkilinjakuvaus, jossa kuvataan alustavasti ehdotus järjestelmän rakenteesta ja prosesseista. Selvitysraportti 40 Putkilinjaston perusidea voidaan kiteyttää siihen että lähtötietoina ovat manuaalisesti semanttisella editorilla tuotettu semanttinen tieto sekä suunnittelujärjestelmillä tuotettu tieto. Suunnittelujärjestelmillä tuotettutieto tuodaan putkeen hyödyntäen semanttista dataa. Tällöin kaikki tieto linkitetään semanttisesti toisiinsa semogen-yhteensopivaksi. Tätä tuotua tietoa voidaan tarvittaessa muokata erilaisilla editoreilla. Kun konejärjestelmä on valmis otettavaksi käyttöön siitä tuotetaan M1-yhteensopiva muoto konejärjestelmän vientitoiminnallisuudella. Kuva 8: Suunnittelutiedon tuontiperiaate putkilinjastossa Konelaboratoriojärjestelmää pitää mahdollisesti muokata ennen varsinaista generointivaihetta, koska: automaattisesti muualta tuotu data on puutteellista automaattinen generointi ei kata kaikkia osa-alueita kaikkia tietoja ei ole saatavilla saatavilla olevat tiedot eivät ole yhteensopivia automaattisen generoinnin kanssa konelaboratorion käyttötarkoitus edellyttää muutoksia järjestelmään Mitä asioita voisi olla mahdollista muokata, minkälaisella muokkaimella: 2d dynaamiset symbolit ja kaavioasettelu (Kaavioeditori) 3d mallien dynamiikka ja 3d-asettelu ( VWEditor) 3d mallien kevennys, nimeäminen, dynamiikka ja 3d-asettelu ( SIACT ) konelaboratoriojärjestelmän ohjaus (Ohjaamoeditori) Simulaation asetukset (Simueditori) Vika- ja toimintokuvaukset Äänien liittäminen konejärjestelmään (Äänieditori) Selvitysraportti 41 Valmiit toimintaketjut (Toimintaketjueditori) Toimintapuun hienosäätö (Toimintapuueditori) Lab system editor -työkalun eri muokkaimilla käsitelty tieto tallennetaan osana semanttista mallia tallennettuun lab system dataan. Osa muokkaustoimenpiteistä voitaisiin tehdä vasta lab generator-vaiheen jälkeen, vaikkakin silloin kyseiset tiedot menetettäisiin uudelleen generoinnissa. 3.4.1. Konelaboratorion generointi Putkilinjaston viimeisessa osassa integroidusta semanttisesta mallista luodaan lab generator vaiheessa M1teknologia yhteensopivat kuvaukset, joiden avulla järjestelmä on käytettävissä M1-ohjelmistosta. Kuva 9 kertoo lab generator vaiheen tietovirrat ja kuvaa mitä M1-teknologia järjestelmätiedostoja vaiheessa tuotetaan. Tässä toiminnossa käyttäjä ei enää vaikuta luotavaan järjestelmään vaan aikaisemmissa vaiheissa tuoduista, luoduista ja muokatuista tiedoista generoidaan M1-yhteensopivia malleja. Lab generator ottaa pohjaksi järjestelmän kuvauksen (lab system data) ja yhdistää sen semanttisen mallin tietojen pohjalta yhteen hyödyntäen luotuja ja tuotuja kirjastoalkioita. Alla on kuvattu tärkeimmät tarvittavat tiedostot, jotka generoidaan kun käytetään M1:stä loppuajoympäristönä. Nimeämisessä on käytetty M1-ohjelmiston oletusnimiä, joita voidaan vapaasti muuttaa. Kaikki näissä tarvittava tieto on oltava kuvattuna semanttisessa mallissa. Se voidaan jakaa kolmeen eri osaan: tuotu ja editoreilla mahdollisesti muokattu konejärjestelmätieto (lab system data), kirjastoalkiot (mm. 3d-mallit) ja generointi informaatio. Näistä jälkimmäinen määrää miten eri konejärjestelmän tietoja käytetään ja konejärjestelmätieto puolestaan määrittää missä kirjastoalkioita hyödynnetään. Selvitysraportti 42 Kuva 9 Lab generator vaiheen tietovirrat Kuvassa 9 generoinnin tuloksena syntyvät alustustiedostot sisältävät seuraavanlaisia tietoja: pic.* : mahdollisesti tarvittavia kuvia *.wav : koneen ääniefektit *.mesh : 3d-mallit worldviews.xml: valmiit 3d-kuvakulmat worldviews.xml: valmiit 3d-aihealuerajaukset ToolBarviews.xml: Valmiit kuvakulmat näkymävalikossa names3d.xml : 3d-dynamiikka ja nimeäminen all.scene : 3d-asettelu diagram*.svg : dynaaminen kaavio system.xml : järjestelmän yleinen kuvaus, mm. simulaatio liitokset,komponenttihierakiat jne. sysNames.xml : Käyttöliittymänimet actiontree.xml : toimintapuu functionchains.xml: toimintaketjut Selvitysraportti 43 simulation.mdl : simulaation matlab-malli simulation_param.m: simulaatiomallin parametrit M1-ohjelmiston kehitystarpeet Semogen hankkeessa Vaikka M1-ohjelmisto nykyiselläänkin toimisi kohtuullisen hyvin generoinnin kohdejärjestelmänä, on sitä hankkeen puitteissa kehittää ainakin muutamin osin. Tärkeimmiksi kehityskohteiksi voisi nimetä seuraavat asiat: Semanttisesti kuvatun materiaalin suora hyödyntäminen Käytettävyyden parantaminen Mahdolliset suunnittelutiedon ja nykyisen M1-formaattien välisten ristiriitojen ratkonnat Vielä puuttuvien, mutta tarpeellisten/välttämättömien, konelaboratorio-ominaisuuksien kehittäminen esimerkkijärjestelmän käytön vaatimusten mukaan 3.4.2. Konejärjestelmän 3D -reaalikuvaus Nykytilanteessa käytetään VirtualWorldin tuottamiseen käytetään kahta import/export -pluginia (CAD:stä renderöintiohjelmaan ja renderöintiohjelmasta OGRE:een ja renderöintiohjelmaa). Virtuaalimaailman tuomisessa M1-ohjelmistoon on kaiken kaikkiaan 10 eri vaihetta ja lisäksi kamerakulmien määriminen voidaan laskea omaksi vaiheekseen. Usean eri työvaiheen ongelmina ovat kallis renderöintiohjelma, erikseen hankittavat import / export-pluginit eri tiedostoformaateille ja alustus ja animointitietojen muokkaus käsin. Semogen-projektissa ehdotetaan lähderiippumatonta, automatisoitua independent automated construction poistaa renderöintiohjelman käyttö alustustiedostojen muokkausta. ratkaisuksi 3D-virtuaalimallien tuomiseen M1-ohjelmistoon työkalua virtuaalisten konejärjestelmien mallinnukseen (source tool for virtual machine systems, SIACT). Työkalun tehtävänä on mallien tuonnista ja vähentää huomattavasti käsin tehtävää SIACT ominaisuudet: 1. Riippumattomuus lähdemateriaalin formaatista * SIACT rakennetaan laajennettavissa oleva parseri, joka hyödyntää suoraan eri CADformaattien rajapintoja. 2. Lähdemateriaalin automaattinen keventäminen * Perustuu vertexien välimatkaan * Lopputuloksen laadun tarkastukseen vaaditaan edelleen ihminen 3. Järjestelmän komponenttien lataus työtilaan osaluettelon perusteella * Mikäli järjestelmää ei ole valmiiksi koottu CADissä ( kokoonpanokuvat ) , Järjestelmän rakentamista SIACTissa voidaan nopeuttaa lataamalla komponentit valmiiksi työtilaan Selvitysraportti 44 järjestelmän osaluettelon perusteella. Komponentit sijoitellaan tietylle etäisyydelle toisistaan. * Lopullinen sijoittelu vaatii edelleen käyttäjän toimia. 4. Nimeäminen * Mallien nimeämistä varten SIACT:iin luodaan helppokäyttöinen työkalu, joka mahdollistaa mallien nopean uudelleen nimeämisen. 5. Animointien sidonta ja liikerajojen määräys * Kappaleiden liikkeiden määräämiseen suhteessa toisiinsa luodaa erillinen työkalu. Työkalulla voidaan määrätä kappaleen isäkappale, kappale jota seurataan, ja vapausasteiden rajoitukset. * Kappaleen maksimiliike alueiden määrityksellä voidaan estää kappaleen liikkuminen yli rajojensa lopullisessa animoinnissa. Maksimiliike rajoja käytetään myös kappaleen liikefunktion määrittämiseen. 6. Tallennus semanttisessa, M1-yhteensopivassa muodossa. 3.4.3 Dynaamisen kaavion automaattisen generoinnin vaatimukset Kaavioiden automaattisen generoinnin vaatimukset Tarvitaan sähkö- ja hydrauli- sekä mahdolliset CAN-kaaviot koneesta Sähkökaaviot ja hydraulikaaviot on todennäköisesti piirretty Vertexin ohjelmistoilla CAN-kaaviota varten pitää keskustella Vertexin kanssa mahdollisuudesta piirtää CAN-kaavioita heidän ohjelmistoillaan tai vaihtoehtoisesti piirtää CAN-järjestelmän rakenne Microsoft Visiolla. Kaavioiden tulee olla koneellisesti luettavassa muodossa (esim. sähkökaavio Vertex ED), josta voidaan helposti tunnistaa eri komponentit ja niiden väliset yhteydet (mikä komponentti on kytkettynä mihinkin). Vertexin esitteestä: "Piirikaavioita tehtäessä syntyy automaattisesti kytkentätieto, jota käyttäen sovelluksen toiminnoilla suunnitellaan ja dokumentoidaan johdinsarjojen rakenne." Kaavioiden automaattinen generointi tuottaa mahdollisesti liian runsaan kaavion, josta liiallisia yksityiskohtia voi joutua käsin poistamaan. Myös animointeja varten voi kaavion komponentteja joutua siirtelemään, koska dynaamiset liikkeet vaativat. Tätä ei yleensä ole mietitty kaavion piirtovaiheessa lainkaan. Tähän mahdollisena ratkaisuna oma kaavioeditori tai kaavioiden muokkaus sopivaksi vaikka Vertexin ohjelmistoilla. Suunniteltu tuotantoprosessi: 1. Kaavioiden hankinta suoraan suunnittelujärjestelmästä saatavassa muodossa esim. rakenteellisessa muodossa. 2. Kaavion tuonti semanttiseen malliin koneellisesti hyödyntäen kaikki saatavilla oleva tieto 3. Mahdollinen raakamateriaalissa olevan tiedon rikastaminen ja muokkaaminen ja uudelleen tuonti semanttiseen malliin. Selvitysraportti 45 4. Rikastetun tietojen hyödyntäminen mm. simulaation ja kaavio dynamiikan automaattisessa luonnissa 5. Kaavion ja dynamiikan ulosotto M1-yhteensopivassa muodossa hyödyntäen mm. kirjastoitua dataa. 3.4.4 Sähkö ja CAN-väylä simulaatioiden automaattinen toteuttaminen Sähkö- ja väyläsimulaatioiden tuottamiseen vaadittava ainesto on kuvattu luvussa 3.6. M1-teknologiassa sähkö- ja väyläjärjestelmät ovat simuloitu ohjelmallisesti C#-kielellä. Tämä on mahdollistanut asetustiedostojen käytön eli itse sähkö- tai väyläjärjestelmää ei ole ollut tarvetta täysin kovakoodata. Tämä on mahdollistanut joustavan tavan laajentaa järjestelmää suoraan xml-tiedostoa muokkaamalla. Vaihtoehtona on käyttää Simulinkia myös sähkö- ja väyläjärjestelmien simulointiin hydrauli- ja mekaniikkajärjestelmän tapaan. Toteutettaessa väyläjärjestelmä tai sähköjärjestelmä Simulinkilla tullaan samalle ongelmakentälle, kuin hydrauliikan ja mekaniikan simuloinnissa. Lähdetiedoista olisi generoitava suoraan valmista järjestelmää kuvaava malli, joka olisi käännettävä suoritettavaksi ohjelmaksi. Ongelmaksi nousee muokattavuus ja generoitavuus, mutta tämä on joka tapauksessa tehtävä hydrauli- ja mekaniikkajärjestelmän kanssa, joten se ei ehkä olisi niin suuri ongelma. Selvitystyö jatkuu vielä ja näitä kahta vaihtoehtoa tullaan varmasti pohtimaan vielä toteutusvaiheen alkaessakin. Lisäksi materiaalin tarkentuessa voidaan tehdä tarkempia päätelmiä toteutustavoista. Alustavasti väyläjärjestelmästä ei ole meidän tietojen mukaan saatavilla kaaviota, kuten hydrauli- ja sähköjärjestelmästä. Saatava materiaali on dcf- ja eds-tiedostoja. Kyseiset tiedostoformaatit kattavat erittäin hyvin konejärjestelmän väyläkuvauksen. Niihin on mahdollista liittää monenlaista metatietoa, kuten komponenttinumeroita, valmistajatunnisteita, IO-porttien numeroita ja lisäksi omaa semanttista metatietoa. Kyseiset dcf ja eds -tiedostot ovat ehkä jopa hankkeen kannalta parempia kuin perinteiset kaaviot. Niissä solmujen tieto ja solmujen väliset yhteydet on kuvattu standardissa ja rikkaassa muodossa. Kyseiset tiedostot mahdollistavat väyläjärjestelmästä xml-kuvaksen tekemisen, koska itse lähdemateriaali on jo lähellä tavoitetta. Hankkeeseen saatava materiaali on sähköjärjestelmän osalta vielä kirjoitushetkellä auki, joten suuria päätelmiä toteutuksesta on vielä hankala tehdä. Jos raakamateriaali on Vertex ED:ssä tuotettua, on toteutus lähellä hydraulijärjestelmien (Vertex HD) vastaavaa toteutusta. Linkitykset tulee siis lukea kaaviossa olevien tunnusten avulla ja luultavasti rikastamalla kaaviotietoa tarvittavissa määrin. 3.4.5 Toimintopuun ja –ketjun automaattinen generointi Tällä hetkellä ei ole tiedossa tietolähdettä, josta toimintapuun tai – ketjujen tiedot voitaisiin lukea. M1teknologia sisältää molempiin kuvauksiin omat editorinsa, joita voidaan hyödyntää tämänkin projektin puitteissa, mutta ne eivät tue tiedon lukua mistään lähteistä. 3.4.6 Simulointimallien generointi Metviron ja M1 teknologiassa hyödynnetyt kokonaissimulointimallit eivät vaadi täydellisen tarkkaa mallintamista, koska pääpaino on ollut konejärjestelmän opetuksessa ja käyttäytymisen kuvaamisessa mallintamisessa. Samaa periaatetta tullaan jatkamaan Semogeniin mallinnettavien komponenttien osalta. Erityishuomio Semogen simuloinnissa on komponenttimallien käyttö uudelleen generointiin eli simulointimallit tarvitsee kirjastoida. Järjestelmämallien automaattisessa generoinnissa yksittäisten komponenttien mallit pitää olla valmiiksi mallinnettu ja mahdollisimman tarkasti parametrisoitu. Selvitysraportti 46 Kirjastointi ei kuitenkaan poista tarvetta iteratiivisesti parantaa simulointimallia prosessin aikana. Toisaalta kirjastointi tuo lisähaasteena ison komponenttikirjaston hallitsemisen ja mallintamisessa pitää tarkemmin miettiä komponenttimallien rajapintoja. Tämän ei pitäisi muodostua ongelmaksi, kun kunkin komponenttimallin ulkoiset rajapinnat pystytään määrittelemään aikaisessa vaiheessa. Tämän jälkeen mallin sisältöä voidaan muokata ja kehittää, muista suunnittelujärjestelmistä erillään. Kirjastoinnin hallintaan käytetään todennäköisesti XML-pohjaisia ratkaisuja. Näin yksittäisen kirjastoidun kokonaisuuden tiedot voidaan merkata ja lukea jälkikäteen koneellisesti. Toinen huomion arvoinen seikka on aikaisemmin esitellyn Simulink-tiedosto formaatti (mdl). Simulink käyttää mallien tallentamiseen ASCIIpohjaista kuvailevaa tekstitiedostoa. Periaatteessa tiedosto on metatiedolla varustettua informaatiota simuloidusta järjestelmästä. Ongelmana on vain sen lukeminen muilla sovelluksilla kuin Simulink. Tämä mahdollistaa kuitenkin suhteellisen helpon tavan muodostaa Simulinkin mdl-tiedostoja kirjastoiduista komponenttimalleista. Simulink tukee modulaarista mallintamista eli simuloitavat järjestelmät voidaan jakaa alijärjestelmiksi mallia luotaessa. Tällainen rakenne voidaan myös luoda ilman Simulinkin graafista editoria kirjoittamalla suoraan tekstiä mdl-tiedostoon. Block { BlockType SubSystem Name "My Subsystem" System { Name "My Subsystem" Location [645, 182, 835, 290] Block { BlockType SubSystem … } Kuva 10. Alijärjestelmän määrittävä MDL-syntaksi Toinen mukava piirre Simulinkissä on Bus-väylät. Niiden avulla Simulinkissä olevat tietovirrat voidaan kuljettaa väylää pitkin ja poimia väylältä tunnisteen perusteella. Bus-väylä tyyppisen yhteyden kokoavien (Creator) ja purkavien (Selector) lohkojen rakenteita voidaan koneellisesti muokata halutuiksi perustuen saatavilla olevaan materiaaliin. Jos tarpeena on yhdistää ainoastaan venttiilin ja sylinterin väliset yhteydet, voidaan käyttää yksinkertaisia Line-elementtejä. Kuten aiemmissa lohkoissa, niissä on selvästi metatiedolla merkattu muun muassa lähde ja kohde lohkot. Line { SrcBlock "Gain" SrcPort 1 Points [20, 0] Branch { Points [0, 10] DstBlock "Scope" DstPort 1 } Branch { Points [10, 0] Selvitysraportti DstBlock DstPort 1 47 "Display" } } Kuva 12. Kolmea lohkoa yhdistävä viiva tekstimuodossa. Edellä esitetyn tekstin generoiminen XML-kuvauksesta ei ole hankalaa, mutta haasteena ovat tietovirtojen hallinta ja tiedon linkittäminen järkeväksi kokonaisuudeksi. Lisäksi pitää huomioida, että mdl-tiedosto täytyy kokoamisen jälkeen kääntää kohdejärjestelmälle Visual Studion kääntäjällä. Lähde: Diplomityö: Hydraulisten ja mekaanisten järjestelmien simulointimallien automaattinen generointi, 2009. Mikko Markkula, TTY/IHA 3.4.9. Toimintokuvaukset Toimintopuu -käsittellä tarkoitettaan konejärjestelmän kuuluvien komponenttien ja toimintojen linkittämistä puumaiseen rakenteeseen. Toimintapuun rakentamista varten on tehty editori, jonka avulla puuta voidaan rakentaa graafisen käyttöliittymän avulla. Toimintapuu mahdollistaa esimerkiksi vikojen konejärjestelmään aiheuttamien muutosten listaamisen ja linkittämisen. Esimerkiksi luodaan vika työhydrauliikanpumppuun, josta heijastuu ongelmia järjestelmän paineisiin, tilavuusvirtoihin ja lopullisesti vika voidaan havaita järjestelmätasolla toimilaitteiden liikkumattomuutena. Toimintoketju on käsitteenä hyvin lähellä toimintopuuta, mutta on vianhausta askel toimintojen linkityksen havainnollistamiseen ja opettamaan miten konejärjestelmän komentoketjut toimivat. Toimintoketjujen muodostamiseksi on olemassa myös oma editori. Käyttöliittymä on graafinen ja sen avulla käyttäjä voi luoda haluamiansa toimintoketjuja, jotka voivat olla lyhyitä ja yksinkertaisia tai pitkiä ja sisältäen kaikki mahdolliset toimintoketjuun liittyvät havainnollistukset. Kaaviota, 3D:tä, osaluetteloa jne. käytetään toimintaketjun visualisointiin toimintaketjutyökalun tahdittamana. Vaiheeseen liittyvät piirrosmerkit (toiminta tai komponentti) korostetaan, kohdistetaan tarvittaessa ja muokataan dynamiikan ohjauskomennoilla. Teknisesti kaavio toimii samalla lailla kun tavallistakin simulaatiota ajettaessa. Alla on esitetty esimerkkinä; noston toimintaketjun esittäminen vaiheistuksen avulla -skenaario. Nostoliike aloitetaan ja päättyy siihen, kun puomi alkaa nousta. Alkutilanne: Kone: pumppu lähes nollakulmalla (tasapainotila ilman kuormitusta, paitsi kompensoi vuodot), paineet tyhjäkäynnillä, puomi kuormatilassa, öljy lämmintä, kone tasaisella kentällä. Tarkasteltavat työvälineet; sähkökaavio, hydraulikaavio, 3D, ohjaamo: 1. Kuljettaja käyttää ohjausvipua sähkökaavio: ohjain siirtyy uuteen asemaan ohjaamo: ohjain siirtyy uuteen asemaan 2. Signaali siirtyy ohjaimelta ohjainmoduulille sähkökaavio: linja näkyy aktiivisena 3. Ohjainmoduuli muokkaa ohjausta kuljettajan säädöillä sähkökaavio: moduuli aktiivisena prosessoimassa jotain 4. Signaali siirtyy ohjainmoduulita nosturin moduulille (CAN-väylä) sähkökaavio: linja näkyy aktiivisena 5. Nosturin moduuli (VBU) muuntaa signaalin venttiilille sähkökaavio: moduuli aktiivisena 6. Signaali siirtyy nosturin moduulilta noston esiohjausventtiilin kelalle. sähkökaavio: linja näkyy aktiivisena (analogisen signaalin suuruus) 7. Kela virroittuu ja tuottaa voimaa karalle hydraulikaavio: kelan väri muuttuu suhteessa virtaan (mitä isompi pinta-ala kelasta väritetty, niin sitä suurempi virta) 8. Esiohjauskara siirtyy siihen asemaan, että paine esiohjauksen painekanavasta välittyy toimilaitekanavaan (linja aukeaa; venttiilin tilasta 1 tilaan 2) hydraulikaavio: piirrosmerkin kara siirtyy uuteen asemaan Selvitysraportti 48 9. Pääkaran ohjauskanava paineistuu (huomioi kuristus) hydraulikaavio: linja väritetään painetta vastaavalla värillä 10. Pääkara siirtyy LS-linjan avaavaan asemaan hydraulikaavio: piirrosmerkin kara siirtyy uuteen asemaan 11. LS-linja paineistuu karalta noston vaihtovastaventtiilille hydraulikaavio: linja väritetään painetta vastaavalla värillä 12. Noston vaihtovastaventtiili valitsee suuremman signaalipaineen välitettäväksi eteenpäin hydraulikaavio: vvv-pallo siirtyy oikeaan laitaan 13. Signaali siirtyy nostonlohkosta painepäädyn kopiokaralle hydraulikaavio: linja väritetään painetta vastaavalla värillä 14. Kopiokara säätää lähtevän signaalipaineen vastaamaan sisäistä LS-linjan painetta. hydraulikaavio: piirrosmerkin kara siirtyy uuteen asemaan 15. Signaalipaine siirtyy venttiililohkolta pumpun säätimelle kuristuksen kautta. hydraulikaavio: linja väritetään painetta vastaavalla värillä 16. Pumpun virtaussäädin säätyy signaalipainetta ja pumpun ohjaussylinterissä vallitsevaa painetta vastaavaan tasapainotilaan. hydraulikaavio: piirrosmerkin kara siirtyy uuteen asemaan (vasemmalle) 17. Paine ohjaussylinterin männänpuolella laskee. hydraulikaavio: linjat ja kammio väritetään painetta vastaavalla värillä (sininen) 18. Pumpun kulma suurenee hydraulikaavio: pumpun säätönuoli kiertyy myötäpäivään 19. Paine painelinjassa kasvaa hydraulikaavio: linja väritetään painetta vastaavalla värillä 20. Nostoventtiilin pääkara siirtyy yhdistäen painelinjan ja toimilaitteen kanavat 21. Virtaus alkaa ja sylinteri liikkuu 22. Puomi liikkuu Tällä hetkellä ei ole tiedossa tietolähdettä, josta toimintapuun tai – ketjujen tiedot voitaisiin lukea. M1teknologia sisältää molempiin kuvauksiin omat editorinsa, joita voidaan hyödyntää tämänkin projektin puitteissa, mutta ne eivät tue tiedon lukua mistään lähteistä. 3.5. Suunnittelumenetelmät ja prosessit Suunnittelijoiden käytännöt kaavioiden, piirustusten sekä CAD-mallien teossa vaihtelevat jopa henkilötasolla. Yrityksissä pyritään yleensä samankaltaisiin suunnittelukäytäntöihin suunnittelijoiden kesken mutta tämä toteutuu harvoin täydessä mitassa. Tämä johtuu näitä käytäntöjä ohjaavien standardien puutteesta sekä siitä, että suunnittelijat ovat hankkineet aikaisemman kokemuksensa muualta kuin yrityksestä, jossa ovat sillä hetkellä töissä. Tietojen tallentamisessa tietokantoihin käytännöt ovat yleensä samoja yritysten sisällä, koska näihin on ohjeistukset, jotka käytetty ohjelmisto asettaa. Hydrauliikka- ja sähkösuunnitteluohjelmistoissa suunnittelutiedon saatavuus vaihtelee edellä esitettyjen syiden takia. Jos ohjelmistoissa tallennetaan oikea tieto riittävän rikkaana, voidaan parhaassa tapauksessa näiden tietojen perusteella generoida niin kaavioita, 3D-malleja, osaluettelot sekä simulointimallien rakenteet ja parametrit. Tätä ei kuitenkaan aina tehdä vaan yleensä yrityksissä riittää, että osat voidaan tilata tai valmistaa tallennettujen tietojen perusteella. Nämä tiedot eivät yleensä riitä simulointimallien, kaavioiden ja 3D-mallien generointiin yksistään mutta osaluettelot näiden tietojen perusteella voidaan generoida. Suunnittelumenetelmiä kuvataan yrityksen laatujärjestelmässä. On huomioitava, että virtuaalisen konelaboratorion tuotantoprosessin tarvetta tuskin on tunnistettu, vaan muut liiketoimintatavoitteet ohjaavat suunnittelua. Suunnittelijan on mahdotonta tuottaa koneen luettavissa olevaa, yhtenäistä ja yhteensopivaa aineistoa, jos ohjeistusta ja merkityksiä ei ole. Selvitysraportti 49 Jotta mallien generointi olisi mahdollista, tulee nykyisistä suunnittelujärjestelmistä saatava tieto rikastaa. Tämä aineiston rikastaminen voisi tapahtua, nykyisissä järjestelmissä toimiakseen, omana vaiheenaan mallin automaattisessa generoinnissa, kuten kappaleen 3.3 kuvassa X.X on esitetty. Tässä vaiheessa kappaleessa 3.3 kuvattu importteri tarkistaa mitä tietoja simulointimallin generoimiseksi vielä puuttuu ja ilmoittaa näistä puutteista suunnittelijalle tai muulle aineiston rikastajalle. Tämän jälkeen aineistoon voidaan lisätä puuttuvat tiedot käsin ja mallit voidaan generoida virtuaaliseen konelaboratorioon. Ideaalisessa tilanteessa suurin osa virtuaalisen konelaboratorion generoimiseksi tarvittavasta tiedosta tulee löytyä jo valmiiksi suunnittelujärjestelmästä. Tällöin itse suunnittelujärjestelmän tulisi olla sellainen, että tietojen tallentaminen järjestelmään sekä lukeminen järjestelmästä on helppoa ja hyvin ohjeistettua. Tällaista suunnittelujärjestelmää käyttämällä suunnittelija voisi tallentaa suurimman osan mallien generoimiseksi vaadittavasta tiedosta jo suunnitteluvaiheessa. Tässä vaiheessa ei kuitenkaan ole välttämättä järkevää vielä tallentaa sellaista tietoa mitä ei tarvita missään muualla kuin mallien generoinnissa. Järkevien mittasuhteiden selvittäminen tiedon tallentamiselle eri suunnittelun ja mallien generoinnin vaiheissa tulisikin selvittää vielä tarkemmin. Selvitysraportti 50 3.6. Aineistotarpeet Tiedon tarve hydrauliikan, mekaniikan, sähkötekniikan ja väylätekniikan mallintamisessa Mallinnusprosessin alussa päätetyt rajaukset mallintarkkuudesta vaikuttavat tarvittavan tiedon määrään. Ennen mallinnusta tarvitaan tieto järjestelmään kuuluvista komponenteista ja niiden liitoksista sekä merkityksestä järjestelmän toimintaan. Kuten aiemmin todettiin, komponenteista osa on erittäin tärkeitä ja toiset vähemmän tärkeitä järjestelmän päätoimintojen kannalta. Tarvittava komponenttikohtainen tieto riippuu siis mallinnustarkkuudesta. Tietoa on yleensä paljon tarjolla ja käytetään mahdollisuuksien mukaan ihmisen toimesta mallinnusvaiheessa hyödyksi. Usein tieto ei kuitenkaan ole tarkkaa ja tarvitaan sovellusta. Tämän takia tietokoneen on hankala käsitellä kyseistä tietoa. Käytännössä ensimmäisen järjestelmää kuvaavan simulointimallin toteuttamiseen vaaditaan aina ihmistä. Alla olevaan listaukseen ja taulukkoon 1 on kerätty, mitä tietoa voidaan tarvita, mutta kaikkea tätä tietoa ei välttämättä joka mallinnusprojektissa tarvita. Lisäksi on otettu kantaa mistä tämä tieto yleensä saadaan. Lisäksi joudutaan usein turvautumaan usein haastatteluihin kone- ja laitevalmistajien kanssa. • Komponenttilistaus (hydraulikaavio/työkoneen CAD-kuvat) • Ohjaukset ja anturoinnit (hydraulikomponenttien datalehdet/sähkökaavio) • CAN-väylän topologia ja siinä olevat CAN-solmut (CAN-dokumentaatio, konevalmistajan esitteet Selvitysraportti Komponentti 51 Mitä tietoa vähintään tarvitaan Missä tieto mahdollisesti on Koneen fyysinen rakenne Toimilaitteiden, mekaanisten osien ja renkaiden kiinnityspisteet, rungon ja mekaanisten osien nivelpisteet, kaikkien kappaleiden hitausmomentit, massat, nivelten vapausasteet ja dimensiot Arvioita, konevalmistajan esitteet, CAD-kuvat Suuntaventtiilit Venttiilinrakenne eli virtaustiet ja esiohjaustapa. Virtausteiden läpimitat eli tilavuusvirran ja paineen yhteys Komponentin datalehdet/todellisen komponentin mittaaminen Paineventtiilit Virtausteiden läpimitat, asetusarvot Hydraulikaavio, huoltomanuaali Sylinterit Sylinterin ja männänvarren halkaisijat, iskunpituudet, liikenopeudet Hydraulikaavio, CAD-kuvat Hydraulimoottorit Syrjäytystilavuudet, säätöjärjestelmä Hydraulikaavio, datalehdet, CAD-kuvat Hydraulipumput Syrjäytystilavuudet, säätöjärjestelmä Hydraulikaavio, datalehdet, CAD-kuvat Suodatin Läpäisykyky, paineenkestävyys Suodattimen esitteet Poltto-/sähkömoottorit Teho, kierrosluvut huoltomanuaali Vuodot Kaikkien komponenttien sisäiset ja ulkoiset vuodot Komponenttien esitteet, arvioita, mittaustuloksia Letkut ja putkistot Pituus ja sisäläpimitta eli tilavuus Arvioita komponenttien sijoittelukuvasta Komponenttien sisältämät kitkat Mekaanisten liitosten ja hydraulisten komponenttien sisäiset kitkat Arvioita ja kirjallisuudesta löytyviä tutkimustietoa Mittaustuloksia Valmiiden mallien verifiointia ja validointia varten. Onko Mitataan itse, haetaan virtaukset ja paineet mallinnetuissa komponenteissa kirjallisuudesta tai kysytään riittävän lähellä oikeata entä toimilaitteiden liikkeet? laitevalmistajilta Anturit I/O vai CAN liityntä, ulostulosignaali CAN-dokumentaatio, anturin datalehti CAN-solmut ja väylä Väylän topologia, mitä viestejä kulkee CAN-dokumentaatio, konevalmistajan esitteet , Pro Can Open editor Sähkökomponentit Anturi- ja ohjaussignaalien muoto sekä jännite- ja virtatasot Sähkökaaviot ja komponenttien datalehdet Taulukko 1: Simulointimallien tuottamiseen vaadittavat vähimmäistiedot ja nykyinen tiedon etsintä mahdollisuus. Selvitysraportti 52 M1-ohjelmiston aineistovaatimukset Jotta M1-ohjelmistoon saataisiin tietty konejärjestelmä käyttöön, on konejärjestelmä kuvattava tietyllä tavalla. Osa tarpeista on välttämättömiä (esim. perus symbolinen kuvaus) , osa taas optionaalisia, mutta hyödyllisiä (esim. äänet). Tässä on kuvattu aineistotarpeet M1-ohjelmiston näkökulmasta oikeassa muodossa. Sen mistä kuvattu materiaali koostetaan, voi sisältää informaation varsin eri muodossa. M1ohjelmiston simulaatio ja virtuaalimaalin tarpeet on kuvattu omissa osioissaan. M1-ohjelmisto käyttää seuraavanlaisia tietoja konejärjestelmästä ja aineistojen keskinäisistä yhteyksistä: Symbolinen kuvaus o symbolien asettelu ja yhdysviivat o 2D-piirrossymbolit vektorigrafiikkana o piirrossymbolin eri aliosat (siihen kuuluvat grafiikka-alkiot) o piirrossymbolin dynamiikka sidottuna simulaatioon o liike (liikesuunta, -tyyli ja -rajat sekä grafiikka-alkiot) o paine (grafiikka-alkiot) o tilavuusvirta (grafiikka-alkiot) o jännite o sähkövirta Reaalikuvaus o esitettävän järjestelmän 3D-mallit mesh tiedostoina o 3D-mallin dynamiikka sidottuna simulaatioon o liike (suunnat, mallien skaalaukset) o virtuaalimaailman käyttöliittymän asetukset o 3D-mallien tekstuurit o tekstuurien animointitiedot (paine ja tilavuusvirta) Muu tarvittava järjestelmäkuvaus o järjestelmän eri osien nimet hierarkioineen o kunkin osan tyyppi Mittaukset: o simulaation ulostulo o tyyppi o virtuaali/reaalimittaus/”vaikea mittaus” (+vaihtoehtoinen tapa) o komponentti-/osaliitos Korjaukset/osamuutos: o aika o kustannus o simulaation sisäänmenojen muutokset o vikojen korjaukset o korjauksen kälitekstit eri vikatilanteissa o komponentti-/osaliitos Säädöt: o simulaation sisäänmeno o oletus-, minimi- ja maksimiarvo o säädöt tyyppi (=>minkänäköinen käli) o komponentti-/osaliitos Ohjaukset: o ohjain/ohjaimen akseli/nappi/näppäimistön vastine Selvitysraportti o o o o simulaation sisäänmeno ”nolla-”, minimi- ja maksimiarvo komponentti-/osaliitos ohjainasettelu Komponentin ”toimintapuukuvaus” o toiminnalliset sisääntuloliitokset suhteessa symbolisiin liitoksiin o toiminnalliset ulostulot ( fyysinen tyyppi ja käliteksti) o ulostulon laskentasäännöt Komponentin viat Järjestelmän toimintaketjukuvaukset Komponenttiin liittyvät testit o testitulokset ja niiden ”esiintyminen” eri vikatilanteissa o testin tunnusarvot: aika, vaikeus, kustannus, käyttökelpoisuus, tulkittavuus o testi/osaliitos Komponentin äänet o Äänisample o millä arvoilla kuuluu o koneen erikseen kuunneltavat osa o äänen muuttuminen simulaation perusteella Simulaation liittäminen osaksi muuta ympäristöä o komponenttimallien inputit ja outputit muuhun ympäristöön o vastaavuus symboliseen malliin o vastaavuus virtuaalimaailmaan 53 Selvitysraportti 54 4. Yhteenveto Selvitystehtävä osoitti, että digitaalisen tuotantoprosessin kehittämisen yleishaasteet korostuvat myös virtuaalisen konelabratorion tutkimus- ja kehitystyössä (Lempiäinen, Aalto, Delfoi & Söderlin, 2007) Selvitystyö edellyttää useiden eri tieteen ja teknologioiden syvällistä sekä kokonaisvaltaista tuntemusta. Selvitys osoitti, että virtuaalisen konelaboratorion tuotantomenetelmiä on mahdollista runsaasti kehittää semanttisen mallinnuksen, ohjelmistojen sekä prosessien kehittämisen avulla. Työtehtävän haastavuus konkretisoitui selvitystyön yhteydessä. Yhden henkilön tai tietyn tieteen alan osaaminen ei riitä, vaan tässä yhteydessä edellytetään konejärjestelmien, simuloinnin, suunnittelun, ohjelmistojen, rakenteisten dokumenttien, koulutuksen, prosessimallinnuksen, suunnittelumenetelmien ja kokonaisintegroinnin ammattilaisia. Lisäksi toimijoiden tulee voida kommunikoida yhtenäisellä tavalla. Konejärjestelmien perustuntemus, tietojenkäsittelyn ja prosessien mallinnustavat ovat edellytys yhteiselle kommunikaatiolle. Voidaan todeta, että Semogen –hankkeen konsortio muodostaa varsin kattavan osaamisen ja edellytykset yhteistyöhön ovat erittäin myönteiset. Teknologioiden kehityksen lisäksi tulee keskittyä suunnittelumenetelmiin, yhtenäisiin käsitteisiin, prosesseihin sekä työn ohjeistuksiin. Teknologiat eivät voi juurikaan tukea automatisointia, mikäli kuvaustavat ovat eriäviä, puutteellisia tai kirjavia. Tässä mielessä Semogen –hanke on varsin tyypillinen projekti, että varsinaisten sovellusteknologioiden hyödyntämisen edellytyksenä ovat inhimilliset, organisatoriset ja työn ohjaukseen liittyvät tekijät. Selvitystulosten yhteenveto Konejärjestelmärajaus tarjoaa hyvän perustan lähestyä tavoitteita. Järjestelmästä saatiin varsin rikas aineisto, joka täydentyy ja jalostuu työpajojen avulla. Aineisto täydentyy ja aineistotarpeet jäsentyvät tutkimustyön myötä. Tämä on selkeästi positiivinen asia. Semanttisen mallinnuksen periaatteita voidaan soveltaa virtuaalisen konelaboratorion muokkainten ja tuotantomenetelmien kehityksessä. Semanttisen ja yleisemminkin mallinnuksen periaatteet konkretisoituivat myös selvitystyössä. 1. Semanttinen mallinnus (ja integrointi) perustuu pitkälti avainrakenteisiin. Lähdeaineiston rikastaminen tarkoittaa tästä näkökulmasta katsottuna erityisesti avainrakenteiden kirjaamista ja hallintaa; semanttinen mallinnus voidaan siten suorittaa varsinaisten suunnittelujärjestelmien "ulkopuolella". Monitieteinen tutkimustyö edellyttää useiden osa-alueiden ja rakenteiden ymmärrystä oman eksperttialueen lisäksi. Avainrakenteiden tulisi olla yhteydessä toisiinsa. Tämä edellyttää yhtenäisiä sanastoja ja kuvaustapoja. Esimerkiksi työkoneen väyläkuvauksen tuottaminen Open CAN standardin mukaisesti konejärjestelmään tarjoaa luontevan yhteyden hyödyntää kuvausta myös virtuaalisen konelaboratorion kehityksessä. Sieltä voidaan tunnistaa avainraKuvauksen tulisi olla yhteydessä myös vastaavasti muihin konejärjestelmäkuvauksiin. 2. Aineiston esikäsittely/harmonisointi tyypillisesti edellyttää myös suunnitteluprosesseissa tapahtuvia muutoksia, ts. pelkkä tekniikoiden esittely ei riitä vaan tarvitaan myös muutoksia työtavoissa. Suunnittelumenetelmien tarkempi selvitys ja prosessikuvaus ovat tärkeitä, koska näiden avulla voidaan määrittää ohjeistuksia ja toimintamalleja aineistojen tuottamiseen ja muokkaukseen. Automaattinen Selvitysraportti 55 generointi edellyttää tietojen yhtenäisyyden lisäksi riittävän tietomäärän ja tarkkuuden. Puuttuva ja/tai eroava aineisto pitää muokata käsin. 3. Semanttisen mallinnuksen erittäin hyödyllinen "esiaste" ovat erilaiset taksonomiat ja asiasanastot. Monimutkaisempi formaali käsitemallinnus kannattaa todennäköisesti aloittaa vasta kun esim. taksonomioiden hyödyt on otettu käyttöön projektissa. Monimutkaisten semanttisten mallien arkikäytön suurin haaste lienee järjestelmien hyväksyttävyys (erit. virheetön toiminta, ymmärrettävyys ja läpinäkyvyys). Käytännön nyrkkisääntö on kuitenkin se, että mitä monimutkaisempi malli on, sitä vaikeampi loppukäyttäjän on sitä ylläpitää ja ymmärtää. Aineistojen nimeämiskäytännöt tulee sopia ja kuvata yhtenäisellä tavalla. Nimeämiseen vaaditaan ohjeistus ja koneen tietojenkäsittelyä tukeva skeema. Aineistojen perusteella voidaan todeta, että aineistoa ja tietoa on useissa formaateissa ja dokumenteissa, jotka eivät ole yhteneviä ja eivät ole yhteensopivassa muodossa. Lisäksi kieli voi vaihtua suunnittelijoiden välillä. Nimeämiskäytäntöjen eroavaisuuksien vuoksi on vaikea rakentaa yhtenäistä nimikkeistöä. Samasta käsitteestä on toisistaan eroavia nimikkeitä. Lisäselvitystä vaatisi konejärjestelmien sanastojen kuvailuun liittyvän standardin löytyminen. 4. Tyypillisiä aihepiirin kehitysprojektien kriittisiä haasteita ja riskejä ovat epäselvät käyttötapaukset/kohdesovellukset (esim. liian abstraktit tavoitteet/mittarit), aineistossa tapahtuvat skeematason muutokset (esim. suunnittelijan vaihtuessa semanttinen nimikkeistö muuttuu odottamattomasti), ja inhimilliset tekijät (esim. ymmärretään mallin tarkoitus väärin ja tietoa syötetään virheellisesti). Tässä yhteydessä sovellusesimerkkejä tulee kirkastaa ja rajata. Lisäksi niistä pitäisi voida päätellä tutkimukselliset tavoitteet. Myös mittaristot tulee määrittää. Suunnitteluohjelmistojen tuottama ja keräämä data on tärkeä. Tämän hyödyntämiseen löytyy lupaavia menetelmiä kuten tietokantarajapinnat sekä konejärjestelmäsovelluksia tukevat tuontiformaatit. Tietokantarajapinta tarjoaa lupaavia mahdollisuuksia yhdistää suunnitteluohjelmiston aineistoa virtuaaliseen konelaboratorion käyttöön. Tämä vaatii vielä tarkennusta ja yhteensovittamista. Suunnitteluohjelmistojen sisäisen yhtenevyyden ja linkitysten kehittäminen tukisivat myös virtuaalilaboratorion tuotantomenetelmiä. Hankkeen tavoitteena on rakentaa rikas semanttinen malli ja kuvata semanttinen suunnitteluprosessimalli (semantiv process-based design). Heikki Saha ja Pekka Anttonen SMC:ltä nostivat esiin mahdollisuuden kehittää Simulink –ohjelmiston avulla yhtenäinen konejärjestelmämalli, jonka avulla voitaisiin tuottaa tarvittavia konelaboratorioiden aineistoja. Suuret kansainväliset laite- ja järjestelmätoimittajat kuten EADS, Boeing, NASA ja Volvo ovat hyödyntäneet mallipohjaista suunnittelumenetelmää. Hankkeen tavoitteena alkuperäisenä tavoitteena on tuottaa suunnittelua tukeva semanttinen kuvaus eli ontologia, joten tavoitteet ovat yhtenevät. On haastavaa tässä vaiheessa tietää tarkkaan rikkaan mallin ominaisuusvaatimukset. Käyttötapakuvausten sekä tutkimuksen avulla voidaan löytää vaatimukset, menetelmät ja mallit, jotta konejärjestelmän ontologia voidaan hallitusti tuottaa. Yksittäisten työvälineiden ratkaisuihin löytyy ratkaisumalleja, jotka tukevat tuotantomenetelmien kehitystä. Kokonaisuuden kannalta yksittäisistä ratkaisuista tulisi löytää yhteensopivia, modulaarisia, laajennettavia ja prosessien hallintaa tukevia malleja ja menetelmiä. Eri tieteen aloilla on eriäviä käsityksiä lähestymistavoista. Perinteinen tapa lähestyä loppusovelluksesta käsin ”reverse engineering” –periaatteella edellyttää myös lähdeaineistojen rikkauden ja yhteensopivuuden huomioimista sekä kokonaisputkilinjan ymmärrystä. Toisaalta yleisen, kattavan ja yhtenäisen aineiston tuottaminen on erittäin haastavaa, jolloin Selvitysraportti 56 rajauksen ja sovellusalueen ymmärrys on keskeistä. Ohjelmiston kirjastointiratkaisujen sekä yhtenevien teknologioiden avulla voidaan löytää mielekkäitä lähestymistapoja. Ohjelmistojen yhteensopivuutta tulisi kehittää sekä suunnitteluohjelmistojen että konelaboratorioteknologioiden lisäksi. Virtuaalisen konelaboratorion sovellusteknologiat edellyttävät semanttiseen mallinnukseen soveltuvien teknologioiden integrointia tai ohjelmointia. Nykyiseen teknologiavalintaratkaisuun (C# ja .NET) on löydetty sovellusteknologioita, mutta myös vaihtoehtoisia toimiviksi koettuja JAVA –teknologiapohjaisia. Selvitystyö jatkuu edelleen. Järjestelmän toimintalogiikan kuvausta aineistot ja suunnitteluohjelmat eivät suoraan tue. Tämä pitää kuvata käsityönä. Myös yksilöivien tunnisteiden automatisoitu tuottaminen edellyttää nimikkeiden yhtenäistämistä ja käsin tehtävää tarkistusta. Selvityksen avulla voidaan määrittää tarkemmin toimenpiteitä ja aikatauluja. Ne esitetään erillisessä dokumentissa ohjausryhmän päätösten perusteella. Lähteet: Digitaalinen suunnittelu ja valmistus eli tietotekniikka koneenrakennuksessa http://akseli.tekes.fi/opencms/opencms/OhjelmaPortaali/ohjelmat/MASINA/fi/Dokumenttiarkisto/Viestint a_ja_aktivointi/Julkaisut/Digiraporttiver1.5.pdf. Selvitysraportti 57 5. Liitteet Liite 5.1. Tutkimusongelmat Semogen hankkeen tutkimusongelmat: 1. Miten konejärjestelmien suunnitteludokumentteja ja suunnitteluohjelmistojen tuottamaa informaatiota voidaan hyödyntää virtuaalisen konelaboratorion rakentamisessa? TIEDON HYÖDYNNETTÄVYYS JA EHEYS a. Mitä konejärjestelmän suunnittelutietoa voidaan hyödyntää simulointimallin (ja parametrit), mekaniikkamallien 3D, kaavionäkymien ja toimintokuvausten suunnitteluaineiston ja semanttisen mallinnuksen avulla? b. Mitä konejärjestelmien suunnitteluohjelmistojen tietoja ja tietorakenteita voidaan hyödyntää virtuaalisen konelaboratorion pohja-aineistona? c. Miten eri järjestelmissä ja dokumenteissa oleva informaatio voidaan yhdistää semanttisesti eheäksi malliksi? 2. Miten virtuaalisen konejärjestelmäontologia määritetään? SEMANTTINEN MALLINNUS a. Millä sanastoilla ja standardeilla konejärjestelmäontologia kuvataan virtuaalisen konelaboratorion kehitykseen? b. Miten yhtenevä ja koneen käsiteltävissä oleva ontologia tuotetaan? c. Minkälainen on ontologian tuotantoprosessi? 3. Miten virtuaalisen konelaboratorion tuotantomenetelmiä pitäisi kehittää, jotta käsityön määrää voidaan vähentää ja prosesseja automatisoida? TUOTANTOMENETELMÄT ja AUTOMATISOINTI a. Miten konejärjestelmä tulisi semanttisesti mallintaa ja kuvata, jotta mallia voidaan hyödyntää automaattisessa generoinnissa ja visualisoinneissa? b. Mistä ohjelmistoista ja vaiheista konelaboratorion automaattisten tuotantomenetelmien putkilinja-arkkitehtuuri ja suunnittelumenetelmä koostuu? c. Miten suunnittelumenetelmiä tulee kehittää, jotta virtuaalisen konelaboratorion aineistovaatimukset voidaan tarkoituksenmukaisesti huomioida? 4. Mitä lisäarvoja kehitetyt tuotantomenetelmät ja -ohjelmistot tuovat liiketoimintaprosesseihin? TUOTANTOMENETELMIEN LISÄARVOT a. Mitä lisäarvoja konelaboratorio ja tuotantomenetelmät tuovat tekniseen koulutukseen? b. Mitä lisäarvoja konelaboratorio ja tuotantomenetelmät tuovat virtuaaliseen prototypointiin ja suunnitteluratkaisujen arviointiin? c. Mitä yleisvaikutuksia tuotantomenetelmien kehityksellä ja virtuaalisen konelaboratoriolla on konejärjestelmän suunnitteluprosessiin? Näistä voidaan rakentaa myös hypoteesit. Selvitysraportti 58 Liite 5.2. Sovellusesimerkit Sovellusesimerkki 1. Huoltoasentajakoulutus ja kouluttajan työvälineet Yleistavoite: Pilot –järjestelmään rakennetaan maanalaisen poralaitteen Jumbon puomiston virtuaalinen konelaboratorio, jonka avulla koulutetaan sähköhydraulisen konejärjestelmän toimintaperiaatteita, vianetsintää sekä järjestelmän ominaisuuksia. Pilot –järjestelmä sisältää myös automaattisen tunneliporauksen yleispiirteitä. Järjestelmä sisältää kouluttajan työvälineet, joiden avulla kouluttaja voi laatia, muokata ja hallita esitys- ja vikaskenaarioita sekä havainnollistaa hakujen ja visualisointien avulla huoltoasentajakoulutuksen tavoitteiden mukaisesti laitteen toiminto- ja komentoketjuja, hydraulista paineja tilavuusvirtaa, ohjausjärjestelmän ja väyläliikenteen yhteyttä sekä keskeisiä mittauksia ja testejä. Tavoitteena on hyödyntää M1 –teknologioita, jotka on rakennettu mahdollisimman aineistoriippumattomiksi ja geneerisiksi, jotta uudet mallit, kuvaukset sekä aineistot voidaan liittää ohjelmiston alustustietoina. Uudet ominaisuudet liittyvät semanttiseen hakuun ja tiedon visualisointiin sekä kevyesti tunneliporaukseen Sisältörajaus: Huoltoasentajakoulutuksen aihepiirit liittyen puomistoon Laitteen ohjaus ja hallintalaitteet Puomiston hydrauliikka ja mekaniikka Puomiston automatiikka, väyläliikenne ja analyysi Vika- ja ongelmakuvaukset sekä analyysi hydrauliikan ja väylien osalta Tunneliporaustapahtuma ja operaatiot Koulutuksen suunnittelu ja toteutus Ominaisuudet ja toiminnallisuudet Tiedon visualisoinnit o Laite- järjestelmä, alijärjestelmä, komponenttiryhmä, komponentti, osa o Kaaviot o Mittarit ja testit o Nauhoitukset o Osaluettelo Käyttöliittymä o M1 –teknologia o Jumbon 2,5D tai 3D –näkymä toimii perusjäsennyksenä, halkaistu Editorit o Skenaarioiden editori ja hallinta (soveltuvin osin) o Toimintoketjueditori o Toimintopuueditori Työprosessien hallinta o Tunnelin poraussuunnitelma o Operaattorin toteuttamat manuaaliset ohjaus- ja hallintatoimenpiteet Selvitysraportti 59 Käyttötapakuvaus Kouluttajalla on käytössään virtuaalinen konelaboratorio, joka perustuu M1 –teknologioihin. Tässä hyödynnetään aikaisemmissa projekteissa tuotettuja ohjelmistoja ja määrityksiä. Tarkemmat ominaisuudet löytyvät M1 –teknologioita hyödyntävistä konelaboratorioista. Ominaisuudet on kuvattu luvussa 2.9. Näistä ominaisuuksista pilot –ympäristössä on käytössä: a) Puomiston dynaaminen hydrauliikka-, sähkö- ja väyläkaavio, jossa paine- ja sähköiset signaalit visualisoidaan simulointimallin perusteella. Kaaviosta löytyvät kahdeksan toimilaitetta. Puomin kääntö, nosto, zooom, syöttölaitteen kallistus, kääntö, siirto, lisäkallistus ja rollover. Komponenttien yksilöidyt nimet ja yhteydet osaluetteloon, reaalikuvaukseen sekä wiki –ympäristön kanssa. Kaaviot sisältävät myös mittauspisteet väylän ohjaussignaalin mittaamisen oskilloskoopilla (vaatii määrittelyn), paine- ja tilavuusvirran mittauksen, delta p –testin. Mittausvälineet ovat piirturi, analoginen, oskilloskooppi ja CAN analysaattorin kevyt versio. b) Puomijärjestelmän dynaamisen simulointimalli toimilaitekohtaisesti mallinnettuna koulutustarkoitukseen soveltuvalla tasolla. c) Puomiston mekaniikkamallista tuotettu reaalinen 3D –näkymä havainnollistaa puomiston päätoiminnot, nivelet, sylinterit ja rakenteet koulutustarkoitukseen soveltuvalla tasolla. Lisäksi havainnollistetaan pumppu ja venttiililohko. Letkustoa ei kuvata. d) Osaluettelo, joka kuvaa koulutustarkoitukseen soveltuvalla tasolla puomistosta järjestelmäalijärjestelmä-komponenttiryhmä- komponentti- osa. e) Lisäaineisto wikissä mahdollistaa järjestelmän lisätiedon esittämisen järjestelmä-alijärjestelmäkomponenttiryhmä- ja komponenttikohtaisesti. f) Vikakuvauksien muokkain, jossa on kuvattu vuoto, tukos, kaapelikatkos, liitinvika, (tarkemmin) e) Toimintoketjumuokkain, jonka avulla kouluttaja voi määrittää järjestelmän komento-/toimintoketjuja ohjaimista toimilaitteisiin. g) Semanttisen haun ja tiedon visualisoinnin välineet. Kouluttaja voi hakea seuraavilla hakuehdoilla - tietyn alijärjestelmän hydrauliset, sähköiset ja tietoliikennekomponentit - tiettyjä ominaisuuksia sisältävät ja tietyn tyyppiset komponentit- ja komponenttiryhmät jäsennettynä teknologioittain (määritys). Esimerkiksi esitä puomistosta painekompensaattorit. Esitä puomin noston toimintaan vaikuttavat sähköiset ja hydrauliset komponentit. - komentoketjut päätoimintojen mukaisesti Hakuehtojen mukaan tulokset esitetään kaaviossa ja reaalikuvauksessa sekä listauksena. h) Tunnelin katkoksen poraussuunnitelma 3D näkymässä. Ei poraustapahtumaa. Selvitysraportti 60 Kouluttaja opettaa puomiston koneautomaatiojärjestelmän toimintaperiaatteita, kaavioiden lukua, vianetsintää sekä toimintaympäristön vaikutuksia. Kts. liite 4. Näistä kohdennutaan hydrauliikkaa, tietoliikenteeseen ja sähkö-elektroniikkaosuuteen. Muita osa-alueita ei tueta. Yksittäisten teknologioiden lisäksi läpäisevinä aihepiireinä hyödynnetään kunnossapidosta vianhaku sekä käytön osalta työympäristön lämpötilan muutos sekä järjestelmään vaikuttava epäpuhtaus. Opetuksessa hyödynnetään M1 –teknologian välineistöä. Kouluttaja laatii opintojaksosuunnitelman konelaboratorion ominaisuuksien ja mahdollisuuksien perusteella. Opintojakso sisältää kouluttajan toteuttaman luennon, jossa konelaboratoriota hyödynnetään sekä käytännön vianhakuharjoituksia. Sovellusesimerkki 2. Automaattinen generaatio Yleistavoite: Virtuaalisen konelaboratorion generointi automaattisesti ja/tai semiautomaattisesti suunnitteludokumenttien, -ohjelmistojen ja konelaboratorion semanttisten kuvausmenetelmien avulla. Mallien, suunnittelutietojen ja kuvausten hyödyntämiseen kehitetään mallinnus-, ohjelmistokehitys- ja suunnittelumenetelmiä, jotka tukevat mahdollisimman automaattista tiedon käsittelyä. Sovellusesimerkki liittyy olennaisesti esimerkki 1:seen, jonka ominaisuuksien ja toiminnallisuuksien kehittämisen ratkaisuja automatisoidaan. Keskeiset automaattisesti generoitavat ominaisuudet ja toiminnallisuudet on kursivoitu. Sisältörajaus: Suunnittelumenetelmän kuvaus Puomistokonstruktion rajaus dokumentaatiosta ja suunnittelujärjestelmistä Virtuaalisen konstruktioluonnoksen tuottaminen virtuaaliseen konelaboratorioon Konstruktioluonnoksen kuvaus, muokkaus ja jalostus Konstruktion julkaisu ja käyttö Ominaisuudet ja toiminnallisuudet Tiedon visualisoinnit o Laite- järjestelmä, alijärjestelmä, komponenttiryhmä, komponentti, osa o Kaaviot kaavioiden väliset yhteydet hydraulikaavio väyläkaavio sähkökaavio o Mittarit ja testit o Nauhoitukset o Osaluettelo Käyttöliittymä M1 –työvälineet ja Jumbon 2,5D tai 3D –näkymä toimii perusjäsennyksenä, Editorit o Skenaarioeditori ja hallinta o Toimintoketjueditori o Toimintopuueditori Työprosessien hallinta Selvitysraportti o o 61 Tunnelin poraussuunnitelma Operaattorin manuaaliset ohjaus- ja hallintatoimenpiteet Käyttötapakuvaus Älykkään ja virtuaalisen konelaboratorion suunnittelijat, ohjelmoijat ja kehittäjät toteuttavat uuden konejärjestelmän suunnitteludokumenttien, ohjeistetun suunnittelumenetelmän, suunnittelujärjestelmien sekä konelaboratorion sovellusten avulla. Merkittävä etu on siinä, että määritetty suunnitteluprosessi ja teknologiat tukevat mahdollisimman hyvin automaattista tiedon hakua aineistoista ja niiden perusteella tapahtuvaa automaattista generointia. Järjestelmän generoinnin tavoitteena on saada sovellusesimerkki 1:n mukaiset toiminnot. 1. Määritetään konelaboratorion tarpeet , käyttötarkoitus ja käyttäjät 2. Määritetään konelaboratorion ominaisuudet, näkymät ja toiminnallisuudet 3. Määritetään tarkoituksenmukainen konejärjestelmärajaus 4. Selvitetään käytettävissä oleva aineisto generointivaatimusten mukaisesti. Analysoidaan vaatimuksia vasten aineiston hyödynnettävyys 5. Hyödynnetään kehitettyä suunnittelumenetelmää ja ohjeistuksia aineistojen kuvauksessa. 6. Tuotetaan puuttuva aineisto suunnittelujärjestelmien ja virtuaalisen konelaboratorion muokkainten avulla. 7. Tunnistetaan aineistojen muokkaus- ja konvergointitarpeet 8. Hyödynnetään virtuaalisen konelaboratorion tuotantoon soveltuvia teknologioita konelaboratorioluonnoksen automaattisessa tuottamisessa ja rikastuttamisessa alueittain simulointimalli, reaalinen 3D, dynaaminen kaavio, toimintakuvaus, sisältöluettelo ja hakumahdollisuudet. 9. Testataan luonnos ja arvioidaan kehitystarpeet 10. Jalostetaan ja muokataan aineistoa. 11. Generoidaan aineisto konelaboratorioon 12. Tarkistetaan konelaboratorion toimivuus. Sovellusesimerkki 3. Jumbon puomin konstruktiomuutos Yleistavoite: Konejärjestelmään suunnitellaan ja toteutetaan konstruktiomuutos, jota halutaan virtuaalisen konelaboratorion avulla arvioida ja testata. Sovellusesimerkki 1 ja 2 toimii perustana esimerkki 3:lle. Fysikaalisen mallin parametrien ja semanttisen mallin avulla voidaan konstruktiomuutokset automaattisesti toteuttaa. Konstruktiomuutokset ja niiden kuvaukset voidaan hakea ja rajata sekä visualisoida Selvitysraportti 62 pilotjärjestelmän avulla. Konstruktiomuutosten vaikutuksia konejärjestelmään arvioidaan konelaboratorion työvälineillä. Kokemuksia hyödynnetään sekä suunnittelijan että huoltoasentajan koulutuksessa. Sisältörajaus: Jumbon puomistorakenne o Puomiston hydraulipumpun korvaus pienemmällä (liian vähän tilavuusvirtaa) pumpulla. o Noston toimilaitteen sylinterien mitoitusvaihtoehdot. o Yhdessä sylinterissä on valmistusvika, joka aiheuttaa ulkoisen vuodon. o Konstruktiomuutosten testaus ja arviointi sylintereiden osalta kuumissa +30 ° C ja kylmissä -25 ° C olosuhteissa sekä pölyisessä ympäristössä. o Konstruktioita arvioidaan lisäksi 1000 h ja 5000 h käytön jälkeen. o Sylinterissä on tiivistevaurio, joka aiheuttaa vuodon kammioiden välille. o Vertailu alkuperäisen konstruktion kanssa. Ominaisuudet ja toiminnallisuudet Konstruktion muutos suunnitteludokumentaation rajauksessa Tarvittavien mallien haku ja liitäntä Semanttinen kuvaus luonnoksen perusteella Konstruktiomuutoksen tarkastelu, testaus ja arviointi Vertailut Käyttötapakuvaus Konejärjestelmän suunnittelija haluaa testata konstruktiomuutoksen vaikutuksia puomin käyttäytymiseen. Suunnittelija mittaa tarvittavat/haluamansa ominaisuudet alkuperäisestä järjestelmästä ja tallentaa arvot konelaboratorioon. Suunnittelija voi pienentää pumpun kokoa tai vaihtaa puomin nostosylinterin kokoa. Lisäksi suunnittelija voi tutkia käyttötuntien ja ympäristön lämpötilan ja pölyisyyden vaikutuksia järjestelmän ominaisuuksiin. Suunnittelija voi koostaa järjestelmän tukemista muutoksista haluamansa kombinaation. Suunnittelija määrittää virtuaalisen konelaboratorion kehittäjien kanssa tarvittavat komponentit ohjelmistokirjastoista ja toteuttaa automaattisen generointiprosessin (sovellusesimerkki 2). Järjestelmä sisältää mahdollisuuden muuttaa määriteltyjen komponenttien ja järjestelmän simulointiparametreja. Suunnittelija suorittaa tarvittavat/haluamansa mittaukset muutetusta konstruktiosta. Tarvittavia mittauksia voivat olla esimerkiksi pumpun ohjearvo, pumpun tuottama tilavuusvirta, nostosylinterin nopeus, nostosylinterin asema, paineet sylinterikammoissa, venttiilin ohjaussignaali sekä paine-ero suodattimen yli. Suunnittelija tallentaa arvot konelaboratorioon. Suunnittelija vertaa konstruktio- , ympäristö- ja/tai elinkaarimuutoksia alkuperäiseen järjestelmään mittaustulosten avulla. Selvitysraportti 63 Liite 5.3. Koneautomaatiojärjestelmien teknologioiden osaamiskartta Luonnos: TTY/SmartSimulators –tutkimusryhmä Kari T. Koskinen ja Pekka Ranta 21.5.2010 Liikkuvien työkoneiden koneautomaatiojärjestelmien teknologioiden osaamiskartta Kartan tarkoitus on alustavasti määrittää teknologioittain osaamisvaatimuksia, jotta älykkäitä ja virtuaalisia konelaboratorioita voidaan kehittää koulutuskäyttöön. Järjestelmäosaamisen taustalla on teknologioiden perusteet, joita tässä ei kuvata. Osaamiskarttaa on tarkoitus jalostaa useissa eri hankkeissa. Käyttö, kunnossapito, turvallisuus, ympäristötekijät ja energiatehokkuus toimivat teknologioita läpäisevinä aihepiireinä. Nämä myös syventävät teknologioissa vaadittavaa osuutta. Ne kuvataan ja tarkennetaan eri kartassa. Osaamiskartat laaditaan koneasentajalle, suunnittelijalle ja teknologiajohtajalle. Profiili 1: Koneasentaja Hydrauliikka Kaavioiden luku ja tulkinta Sähkö- ja elektroniikka Sähkökaavioiden luku ja tulkinta Hydraulisen järjestelmän toiminnan ymmärrys ja yhteydet konejärjestelmiin Venttiilien ja toimilaitteiden sähköinen ohjaus (jännite ja virta) Komponenttien rakenteen ja toiminnan tuntemus Komponenttien rakenteen ja toiminnan tuntemus Järjestelmän tilan diagnosointi Järjestelmän säätö Järjestelmän tilan diagnosointi Järjestelmän säätö Mekaniikka Piirrosten luku ja tulkinta Materiaalien ja perusrakenteiden ominaisuudet Pneumatiikka Kaavioiden luku ja tulkinta Pneumaattisen järjestelmän toiminnan ymmärrys ja yhteydet konejärjestelmiin Komponenttien rakenteen ja toiminnan tuntemus Polttomoottoritekniikat Piirrosten luku ja tulkinta Polttomoottorien perusrakenteen ja toiminnan ymmärrys sekä yhteydet konejärjestelmiin Komponenttien rakenteen ja toiminnan tuntemus Järjestelmän tilan diagnosointi Järjestelmän tilan diagnosointi Järjestelmän säätö Kaavioiden luku ja tulkinta Järjestelmän säätö Laakerointi-, tiiviste- ja nivelratkaisujen sekä johteiden ymmärrys Järjestelmän tilan koestus ja diagnosointi Tribologia Tietoliikenne ja ohjelmistot Tietoliikennekaavioiden luku ja tulkinta Tietoliikenneväylän, verkkorakenteen ja kommunikaation perusteiden tuntemus ja yhteydet konejärjestelmiin. Kokonaisohjauksen perusrakenteen ja toiminnan ymmärrys sekä yhteydet konejärjestelmiin Väyläohjaus toimilaitteelle Anturien ja mittalaitteiden toiminnan merkityksen ymmärrys Järjestelmän tilan diagnosointi Järjestelmän säätö
© Copyright 2024