101 resultados para problems with object-oriented paradigm
em Doria (National Library of Finland DSpace Services) - National Library of Finland, Finland
Resumo:
Object-oriented programming is a widely adopted paradigm for desktop software development. This paradigm partitions software into separate entities, objects, which consist of data and related procedures used to modify and inspect it. The paradigm has evolved during the last few decades to emphasize decoupling between object implementations, via means such as explicit interface inheritance and event-based implicit invocation. Inter-process communication (IPC) technologies allow applications to interact with each other. This enables making software distributed across multiple processes, resulting in a modular architecture with benefits in resource sharing, robustness, code reuse and security. The support for object-oriented programming concepts varies between IPC systems. This thesis is focused on the D-Bus system, which has recently gained a lot of users, but is still scantily researched. D-Bus has support for asynchronous remote procedure calls with return values and a content-based publish/subscribe event delivery mechanism. In this thesis, several patterns for method invocation in D-Bus and similar systems are compared. The patterns that simulate synchronous local calls are shown to be dangerous. Later, we present a state-caching proxy construct, which avoids the complexity of properly asynchronous calls for object inspection. The proxy and certain supplementary constructs are presented conceptually as generic object-oriented design patterns. The e ect of these patterns on non-functional qualities of software, such as complexity, performance and power consumption, is reasoned about based on the properties of the D-Bus system. The use of the patterns reduces complexity, but maintains the other qualities at a good level. Finally, we present currently existing means of specifying D-Bus object interfaces for the purposes of code and documentation generation. The interface description language used by the Telepathy modular IM/VoIP framework is found to be an useful extension of the basic D-Bus introspection format.
Resumo:
Tämä diplomityökuuluu tietoliikenneverkkojen suunnittelun tutkimukseen ja pohjimmiltaan kohdistuu verkon mallintamiseen. Tietoliikenneverkkojen suunnittelu on monimutkainen ja vaativa ongelma, joka sisältää mutkikkaita ja aikaa vieviä tehtäviä. Tämä diplomityö esittelee ”monikerroksisen verkkomallin”, jonka tarkoitus on auttaa verkon suunnittelijoita selviytymään ongelmien monimutkaisuudesta ja vähentää verkkojen suunnitteluun kuluvaa aikaa. Monikerroksinen verkkomalli perustuu yleisille objekteille, jotka ovat yhteisiä kaikille tietoliikenneverkoille. Tämä tekee mallista soveltuvan mielivaltaisille verkoille, välittämättä verkkokohtaisista ominaisuuksista tai verkon toteutuksessa käytetyistä teknologioista. Malli määrittelee tarkan terminologian ja käyttää kolmea käsitettä: verkon jakaminen tasoihin (plane separation), kerrosten muodostaminen (layering) ja osittaminen (partitioning). Nämä käsitteet kuvataan yksityiskohtaisesti tässä työssä. Monikerroksisen verkkomallin sisäinen rakenne ja toiminnallisuus ovat määritelty käyttäen Unified Modelling Language (UML) -notaatiota. Tämä työ esittelee mallin use case- , paketti- ja luokkakaaviot. Diplomityö esittelee myös tulokset, jotka on saatu vertailemalla monikerroksista verkkomallia muihin verkkomalleihin. Tulokset osoittavat, että monikerroksisella verkkomallilla on etuja muihin malleihin verrattuna.
Resumo:
Lecture given in Helsinki at the invitation of the Finnish Mathematical Society.
Resumo:
Tässä työssä on esitetty sen ohjelmiston kehittämisen prosessi, joka on tarkoitettu annettavien palveluiden valvottavaksi käyttäen prototyyppimallia. Raportti sisältää vaatimusten, kohteisiin suunnatun analyysin ja suunnittelun, realisointiprosessien kuvauksen ja prototyypin testauksen. Ohjelmiston käyttöala – antavien palveluiden valvonta. Vaatimukset sovellukselle analysoitiin ohjelmistomarkkinoiden perusteella sekä ohjelmiston engineeringin periaatteiden mukaisesti. Ohjelmiston prototyyppi on realisoitu käyttäen asiakas-/palvelinhybridimallia sekä ralaatiokantaa. Kehitetty ohjelmisto on tarkoitettu venäläisille tietokonekerhoille, jotka erikoistuvat pelipalvelinten antamiseen.
Resumo:
The state of the object-oriented programming course in Lappeenranta University of Technology had reached the point, where it required changes to provide better learning opportunities and thus the learning outcomes. Based on the student feedback the course was partially dated and ineffective. The components of the course were analysed and the ineffective elements were removed and new methods were introduced to improve the course. The major changes included the change from traditional teaching methods to reverse classroom method and the use of Java as the programming language. The changes were measured by the student feedback, lecturer’s observations and comparison to previous years. The feedback suggested that the changes were successful; the course received higher overall grade than before.
Resumo:
Tässä työssä tutkitaan yrityksen tuoterakenteen toteuttamista olioparadigmalla osana vanhenevan tuotannonohjausjärjestelmän uudistamista. Työssä on tunnistettu olioparadigman keskeiset rakenteet sekä tarkasteltu suunnittelumalleja, joita hyödyntämällä voidaan määrittää ja toteuttaa monimutkaisia sekä laajennettavia tuoterakenteita. Työn tavoitteena oli muodostaa tuoterakenteen runko, jota muokkaamalla on mahdollista toteuttaa erityyppisiä tuoterakenteita. Työ on rajattu siten, että todellista tuoterakennetta ei toteuteta. Tutkimuksen tuloksena havaittiin, että oliokeskeisyydellä voidaan toteuttaa tuoterakenteita, joita on mahdollista tulevaisuudessa muokata yrityksen tarpeisiin mukauttaen siten, että tuoterakenteen runkoon ei tarvitse tehdä suuria muutoksia. Olioperusteisella lähestymisellä voidaan mallintaa hyvin erityyppisiä ja ymmärrettäviä käsitteitä. Oliokeskeisellä lähestymistavalla voidaan toteuttaa myös muut vanhenevan tuotannonohjausjärjestelmän osa-alueet.
Resumo:
Työssä perehdytään verkkokäyttöliittymien suunnitteluun ja toteutukseen. Erityisen huomion kohteena ovat Java-ohjelmointikieli ja ohjelmistosuunnittelussa suurta huomiota herättäneet suunnittelumallit. Java on kehittynyt lyhyen elinikänsä aikana huomattavasti, ja viimeaikaiset vakioluokkakirjastot ovat mahdollistaneet monipuolisten ja siirrettävien ohjelmistojen toteuttamisen. Vaikka Java ei sovellukaan kaikkiin tarkoituksiin, on se luotettavuutensa, siirrettävyytensä ja luokkakirjastojensa ilmaisuvoiman ansiosta hyvin houkutteleva kieli käyttöliittymien tekemiseen. Suunnittelumallit ovat merkittävä osa ammattimaista oliosuunnittelua. Ne tarjoavat valmiita ratkaisuja yleisiin suunnitteluongelmiin ja säästävät siten aikaa suunnittelu- ja toteutusvaiheissa. Suunnittelumallit voidaan jakaa kolmeen ryhmään: luontimallit, rakennemallit ja toiminnalliset mallit. Käytännön osuudessa tarkastellaan Java-käyttöliittymän toteutusta olemassa olevaan Soneran TradeXpress-tietojärjestelmään. Tässä tehtävässä Java ja suunnittelumallit ovat olleet keskeisellä sijalla. Java-käyttöliittymä, JavaGUI, koostuu kahdesta osasta: asiakasappletista ja Jrls-palvelimesta. Näiden kahden väliseen tiedonsiirtoon käytetään pääasiassa Javan RMI-yhteyskäytäntöä. Jrls-palvelin toimii asiakkaana RLS-palvelimelle erityisen RLS-yhteyskäytännön avulla.
Resumo:
Tämän tutkimuksen tavoitteena oli määritellä strategiaprosessiin liittyvät kriittiset alueet, konsernijohdon tehtävät strategiaprosessissa sekä edellisten pohjalta kehittää konsernityyppiselle yritykselle normatiivinen strategiaprosessin malli kriittisten alueiden hallitsemiseksi. Tavoitteena oli myös lisätä strategisen ajattelun ja strategiaprosessien ymmärtämistä selittämällä niiden historiallista kehittymistä sekä niiden käsitteistöä ja käsitteiden sisältöä. Probleemaa lähestyttiin sekä doktriinin kautta että tulkitsemalla strategiaprosessissa ilmeneviä ongelmia ja analysoimalla niiden syy ja seuraussuhteita. Käsillä oleva teoreettis praktinen tutkimus toteutettiin osittain toiminta-analyyttisella tutkimusotteella, osittain toiminta analyyttisella tutkimusotteella case tutkimuksen ja komparatiivisen analyysin tukemana sekä osittain päätöksentekometodologisella tutkimusotteella. Työn teoreettinen osa tehtiin kirjallisuustutkimuksena. Siinä luotiin strategiaprosessin ja konsernijohtamisen käsitteellinen perusta ja tutkimuksen viitekehys. Konsernijohtaminen laajennettiin tutkimuksessa tulosten osalta yleistäen koskemaan muitakin hajautettuja yritysorganisaatioita kuin pelkän juridiikan pohjalta muodostuneita konserneja. Tutkimuksen aluksi tarkasteltiin strategisen ajattelun koulukuntia eri näkemyksineen sekä toisaalta strategia-ajattelun kehittymistrendeja 1950 luvulta nykyhetkeen. Samoin tarkasteltiin sitä, kuinka strategiaprosessit oval kehittyneet samara ajanjaksona. Huomion painopisteen todettiin siirtyneen strategisen johtamisen inhimilliseen puoleen strategisem johtajuuden samalla korostuessa ja strategisen ajattelun laajentuessa Empiirinen osuus toteutettiin case tutkimuksena. Sen kuluessa kartoitettiin strategiaprosessin keskeiset ongelma alueet ja analysoitiin niiden takana olevat syyt, jotta voidin määritellä strategiapmsessin kehittämisen suunnat ja painopisteaiueet. Teoreettisen ja empiirisen osan penisteella määriteltiin strategiaprosessin kriittiset alueet yleisellä tasolla. Kriittisellä alueella tarkoitetaan asiakokonaisuutta tai asiaa, jonka on oltava kunaossa, jotta strategiaprosessit toimisivat. Nämä alueet liittyvat itse strategiaprosessiin suoraan tai välillisesti muun johtamistyön kautta. Strategiaprosessin kriittisten alueiden määrittelyn yhteydessä asetettiin doktriiniin tukeutuen strategiaprosessin kehittämissuunnat konsernijohdon nakäkökulmasta tarkasteltuna. Näihin kehittämissuuntiin ja edelleen doktriiniin tukeutuen määriteltiin konsernijohdon strategiaprosessin substanssitehtävät, prosessia tukevat tehtävät sekä prosessin toteuttamis- ja kehittämistehtävtä. Konsernijohdon strategiaprosessin tehtävät eivät muodosta sekventiaalista ja hierarkista järjestelmää vaan ovat joukko aktiviteetteja, joita toteutetaan tarpeen mukaan. Konsernijohdon strategiaprosessi määriteltiin ja kuvattiin tutkimuksessa johdon työskentelyprosessiksi sellaisten toimeenpanokelpoisten strategioiden tuottamiseksi ja toimeenpanemiseksi, jotka lisäävät yrityksen (konsernin) arvoa omistajan näkökulmasta mutta huomioivat myös muiden keskeisten sidosryhmien vaatimukset, tavoitteet ja rajoitteet. Konsernijohdon strategiaprosessi nähdään tässä jatkuvana konsernitasoisena päämäärä- ja keinopuolen tarkasteluna. Siinä konsernijohto tiedostaa konsernin ulkoisesta ja sisäisestä ymparistostä tulevat signaalit sekä pitää yllä näkemystä konsernin strategisesta asemasta. Tiedon massan näkemyksen saavutettua kriittisen rajansa se pakottaa konsernijohdon aivioimaan aiempia ratkaisuja uudessa valossa. Tämä validointi perustuu jatkuvasti esitettyihin neljään kysymykseen: onko ympäristö , premissi ja toimeenpanoseurannasta kertyneen tietämyksen perusteella nähtävissä vaikutuksia välittömiin toimenpiteisiin, vaikutuksia toimintasuunnitelmiin tai kriittisiin seurannan kohteisiin, vaikutuksia suunnanvalintoihin tai vaikutuksia perususkomuksiin? Konsernijohdon strategiaprosessi etenee jatkuvana prosessina päätösten ja ajan virrassa.
Resumo:
Developing software is a difficult and error-prone activity. Furthermore, the complexity of modern computer applications is significant. Hence,an organised approach to software construction is crucial. Stepwise Feature Introduction – created by R.-J. Back – is a development paradigm, in which software is constructed by adding functionality in small increments. The resulting code has an organised, layered structure and can be easily reused. Moreover, the interaction with the users of the software and the correctness concerns are essential elements of the development process, contributing to high quality and functionality of the final product. The paradigm of Stepwise Feature Introduction has been successfully applied in an academic environment, to a number of small-scale developments. The thesis examines the paradigm and its suitability to construction of large and complex software systems by focusing on the development of two software systems of significant complexity. Throughout the thesis we propose a number of improvements and modifications that should be applied to the paradigm when developing or reengineering large and complex software systems. The discussion in the thesis covers various aspects of software development that relate to Stepwise Feature Introduction. More specifically, we evaluate the paradigm based on the common practices of object-oriented programming and design and agile development methodologies. We also outline the strategy to testing systems built with the paradigm of Stepwise Feature Introduction.
Resumo:
The nature of client-server architecture implies that some modules are delivered to customers. These publicly distributed commercial software components are under risk, because users (and simultaneously potential malefactors) have physical access to some components of the distributed system. The problem becomes even worse if interpreted programming languages are used for creation of client side modules. The language Java, which was designed to be compiled into platform independent byte-code is not an exception and runs the additional risk. Along with advantages like verifying the code before execution (to ensure that program does not produce some illegal operations)Java has some disadvantages. On a stage of byte-code a java program still contains comments, line numbers and some other instructions, which can be used for reverse-engineering. This Master's thesis focuses on protection of Java code based client-server applications. I present a mixture of methods to protect software from tortious acts. Then I shall realize all the theoretical assumptions in a practice and examine their efficiency in examples of Java code. One of the criteria's to evaluate the system is that my product is used for specialized area of interactive television.
Resumo:
Oliopohjainen lähestymistapa on varsin uusi toimintaperiaate käytännön ohjelmistotuotantoprosesseissa. Oliopohjaisuus mahdollistaa nopean ja tehokkaan ohjelmistotuotannon sekä tuottaa uudelleenkäytettäviä luokkia. Tässä työssä tutkitaan oliopohjaisen mallinnuksen käyttömahdollisuuksia erään ohjelmistotuotteen kehityksessä ja keskitytään tuotteen määrittely- ja suunnitteluvaiheisiin. Tavoitteena on konkretisoida tarkastelun kohteena olevalle yritykselle oliopohjaisen mallinnuksen käyttötavat ja -mahdollisuudet osana yrityksen ohjelmistotuotantoprosessia. Työssä tarkastellaan yleisiä oliopohjaisen mallinnuksen toimintoja määrittely- ja suunnitteluvaiheissa. Erityisesti tarkastellaan yrityksen omaa ohjelmistotuotantoprosessia, TE Objectia, ja sen yhtymäkohtia yleisen oliopohjaisen mallinnuksen kanssa. Työssä kuvataan ohjelmistotuote, mallinnetaan ohjelmistotuotteen osa TE Objectia hyödyntäen ja pohditaan TE Objectin soveltuvuutta kyseisen tuotteen määrittelyyn ja suunnitteluun. Oliopohjaisen mallinnuksen todetaan sopivan hyvin tarkastellun tuotepohjaisen ohjelmiston kehitykseen. Tarkasteltavan tuotteen kehityksen pääpaino on uudelleenkäytettävyydellä, jota oliopohjainen mallintaminen erityisesti tukee. Kohdeyrityksen oman ohjelmistotuotantoprosessin, TE Objectin, todetaan vastaavan hyvin yleistä oliopohjaista mallinnusta määrittely- ja suunnitteluvaiheissa ja sitä suositellaan hyödynnettävän tarkastellun tuotteen määrittelyyn ja suunnitteluun soveltuvin osin. Työssä mallinnettiin kohdeyrityksen tuotteen osa esimerkinomaisesti, mikä konkretisoi TE Objectin käyttömahdollisuuksia osana yrityksen ohjelmistotuotantoprosessia.
Resumo:
Diplomityö koostuu teoria- ja tutkimusosasta. Teoriaosassa on käsitelty robottihitsaus-järjestelmän hankinnan edellytyksiä asiakasohjautuvan yksittäis- ja piensarjatuotannon lähtökohdista. Tarkastelun osa-alueita ovat asiakasohjautuva tuotanto, robottihitsaus yksittäis- ja piensarjatuotannossa, robottien ohjelmointimenetelmät, robottihitsauksen laatu ja laadunvarmistus, tehokkuus, tuottavuus, kannattavuus, robottihitsattavan tuotteen ja robottihitsausjärjestelmän suunnittelu, robottihitsausaseman turvallisuus sekä robotti-järjestelmän toteutus ja käyttöönotto. Teoriaosa on koottu siten, että sitä voidaan käyttää myös oppimateriaalina. Siinä esitetään myös sovellusesimerkki Imatran ammattikoululla toteutetusta robottihitsausaseman turvallisuusrakenneratkaisusta, jonka on suunnitellut ja toteuttanut diplomityön laatija. Diplomityön tutkimusosassa selvitetään kyselytutkimuksen avulla robottihitsauksen käyt-töönoton edellytyksiä asiakasohjautuvassa yksittäis- ja piensarjatuotannossa eteläkarjalai-sissa konepaja- ja metallialan yrityksissä. Tutkimukseen mukaan valituille 25 yritykselle ja yrityksistä valituille vastuuhenkilöille lähetettiin kirjallinen kyselytutkimus, johon vastaus saatiin 17 yritykseltä. Diplomityön tavoitteena oli selvittää robottihitsauksen käyttöönoton edellytyksiä. Tutkimuksella haettiin tietoja myös muusta yritysten suunnittelemasta hitsaus-tuotannon kehittämisestä kuten mekanisoinnista ja sen nykytilasta sekä muista mahdollisista hitsaukseen liittyvistä hankkeista. Tutkimustulosten perusteella on todettavissa, että Etelä-Karjalassa toimivista asiakas-ohjautuvista yksittäis- ja piensarjatuotantoa harjoittavista konepaja- ja metallialan yri-tyksistä löytyy yrityksiä, jotka ovat kiinnostuneita robottihitsausjärjestelmän hankinnasta, mutta saatujen tulosten perusteella voidaan todeta, että edellytyksiä siihen ei vielä näyttäisi olevan. Syiksi robottihitsausjärjestelmän hankinnan edellytysten puuttumiseen voidaan mainita muun muassa sopimaton tuoterakenne, liian yksilölliset tuotteet ja pienet sarjat, joilla ei ole toistuvuutta. Lisäksi yritykset toimivat pelkästään alihankintayrityksinä eikä niillä ole omaa tuotetta. Robottihitsausjärjestelmän hankinta voisi olla mahdollista niissä yrityksissä, jotka ovat verkottuneet, toimivat vakaavaraisesti ja joiden viennistä osa suuntautuu välillisesti tai välittömästi ulkomaille. Yhteistyöverkkojen voidaan olettaa parantavan robottihitsaus-järjestelmän hankinnan mahdollisuuksia. Tällöin kustannuksia voidaan jakaa usealle eri yritykselle ja siten voidaan tehostaa myös järjestelmän käyttöastetta sekä hankkia uusia asiakkaita. Kaksi yrityksistä on harkinnut joko oman tai leasing-robottihitsausjärjestelmän hankintaa. Ongelmina robottihitsausjärjestelmän yhteishankinnalle pidettiin esim. kenen tiloihin järjestelmä hankitaan, kuka huolehtii kunnossapidosta, miten palkat maksetaan työntekijöille ja miten käytössä oleva työaika jaetaan eri yrityksille. Diplomityön johtopäätökset ja suositukset osassa esitetään muutamia jatkotoimenpide-ehdotuksia siitä, kuinka tiettyjen yritysten osalta voitaisiin robottihitsauksen käyttöönottoa edistää. Tutkimuksen tuloksena saatua tietoa hyödynnetään muun muassa Lappeenrannan teknillisen yliopiston tutkimus- ja koulutushankkeissa sekä toisen asteen kone- ja metallitekniikan koulutuksen suunnittelussa ja toteutuksessa.
Resumo:
Empower Oy on energia-alan palveluja tarjoava yritys. Energianhallintajärjestelmää käytetään energiatietojen hallintaan ja ylläpitoon sekä tietojen esittämiseen loppukäyttäjille. Palvelun näytöt ja raportit on toteutettu web-pohjaisen käyttöliittymän kautta. Yhtiössä käynnistyi suurprojekti vanhan energianhallintajärjestelmän korvaamiseksi. Vanha järjestelmä otettiin käyttöön vuonna 1995 ja EMS-projekti käynnistettiin vuonna 2001. Diplomityö tehtiin osana EMS-projektia ja työn tavoitteina oli selvittää perusjärjestelmän käyttämän tietokantaratkaisun toimivuutta ja soveltuvuutta tehtävään sekä tutkailla eri tietokantamalleja teoreettisesti. Lisäksi työhön kuului erillisten haku- ja muutoskomponenttien ja rajapintojen toteuttaminen. Näiden avulla voidaan hakea ja muuttaa tietoa perusjärjestelmän pohjalla toimivasta oliorelaatiotietokannasta. Perusjärjestelmän DOR-tietokannaksi (Domain Object Repository) kutsuttu kokonaisuus on olioläheinen tietovarasto, josta tietoa haetaan ilmoittamalla haettavan olion tyyppi ja siihen liitoksissa olevat tyypit. Hakutulokseen mukaan haluttavat ominaisuudet ilmoitetaan kultakin tyypiltä erikseen. Haettaessa ja muutettaessa oliopohjaista DOR-tietoa, tulee noudattaa järjestelmän käyttämiä tietomalleja. Haku- ja muutoskomponentit toteutettiin Microsoftin kehittämällä .NET-teknologialla. Tietokantamallien teoreettinen tarkastelu auttoi ymmärtämään järjestelmän pohjalla toimivaa tietokantaratkaisua. Työssä selvisi, että perusjärjestelmän hyödyntämä oliorelaatiotietokanta soveltuu varsin hyvin tarkoitukseensa. Haku- ja muutoskomponenttien toteutus onnistui ja ne toimivat helppokäyttöisenä rajapintana energianhallintajärjestelmän tietokantaan.
Resumo:
Työssä tutkittiin oliosuunnittelumalleja EPOC-käyttöjärjestelmässä. Työssä tutkittiin sekä yleisiä suunnittelumalleja että EPOC-ympäristössä esiintyviä oliorakenteita, niiden aiheuttamia vaatimuksia sovelluksille sekä niiden käyttämisestä saatavia hyötyjä. Työssä toteutettiin EPOC-ohjelmiston suunnittelu hyödyntäen suunnittelumalleja ja periaatteita. Oliosuunnittelumallit ovat yleistyneet huomattavasti viime vuosina. Suunnittelumallien lähtökohtana ovat sekä yleiset että ympäristökohtaiset suunnitteluperiaatteet ja säännöt. Suunnittelumallit ovat osa isompaa rakennekokonaisuutta, joka käsittää sekä prosessi-, analyysi-, arkkitehtuuri- ym. malleja. Oliosuunnittelumallit nopeuttavat ja helpottavat suunnittelua sekä parantavat uudelleenkäytettävyyttä korkeammalla abstraktiotasolla. EPOC on tulevaisuuden mobiililaitteiden yleisimpiä käyttöjärjestelmiä. EPOC on kokonaisuudessaan oliopohjainen ja sisältää lukuisia oliorakenteita, joiden ymmärtäminen on sovelluskehityksen kannalta elintärkeää. Koska ympäristöt, joissa EPOC-käyttöjärjestelmää käytetään, ovat yleensä resurssien puolesta rajoittuneita, on yleisten suunnittelumallien käytössä oltava tarkkana. EPOC vaatii yleisiin suunnittelumalleihin muutoksia ja estää joidenkin käytön kokonaan.
Resumo:
Diplomityössä käsitellään Nokia Mobile Phonesin matkapuhelimien käyttöliittymäohjelmistojen suunnittelu-ja testausympäristön kehitystä. Ympäristöön lisättiin kaksi ohjelmistomodulia avustamaan simulointia ja versionhallintaa. Visualisointityökalulla matkapuhelimen toiminta voidaan jäljittää suunnittelu- kaavioihin tilasiirtyminä, kun taas vertailusovelluksella kaavioiden väliset erot nähdään graafisesti. Kehitetyt sovellukset parantavat käyttöliittymien suunnitteluprosessia tehostaen virheiden etsintää, optimointia ja versionhallintaa. Visualisointityökalun edut ovat merkittävät, koska käyttöliittymäsovellusten toiminta on havaittavissa suunnittelu- kaavioista reaaliaikaisen simuloinnin yhteydessä. Näin virheet ovat välittömästi paikannettavissa. Lisäksi työkalua voidaan hyödyntää kaavioita optimoitaessa, jolloin sovellusten kokoja muistintarve pienenee. Graafinen vertailutyökalu tuo edun rinnakkaiseen ohjelmistosuunnitteluun. Eri versioisten suunnittelukaavioiden erot ovat nähtävissä suoraan kaaviosta manuaalisen vertailun sijaan. Molemmat työkalut otettiin onnistuneesti käyttöön NMP:llä vuoden 2001 alussa.