Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Samankaltaiset tiedostot
Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)

Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)

Hieman lisää malleista ja niiden hyödyntämisestä

Palvelusuuntautunut ohjelmistotuotanto Luento 6: Malliperustaisen ohjelmistotuotannon perusteet; palvelutuotannon mallit Toni Ruokolainen, 5.2.

Malliperustainen ohjelmistokehitys ja malliperustainen arkkitehtuuri

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

MALLIPOHJAINEN KEHITYS OHJELMISTOTUO- TANNON AUTOMATISOINNISSA

2 Ohjelmistoarkkitehtuurien kuvaus

Domain spesifinen mallinnus ja generointi käytännössä. Petri Savolainen

Ohjelmistojen mallintaminen

.NET 2006 ja sen jälkeen

MetaEdit+:n käyttö kehitysmenetelmän mallintamisessa

2 Ohjelmistoarkkitehtuurien kuvaus

UML-kielen formalisointi Object-Z:lla

2 Description of Software Architectures

TIE Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Ohjelmistojen mallintaminen, mallintaminen ja UML

SOVELLUSALUEMALLINNUS OHJELMISTOTUOTANNON TUKENA

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

4. Lausekielinen ohjelmointi 4.1

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

Sovellusarkkitehtuurit

Malliperustainen ohjelmistokehitys webympäristössä

MetaEdit+ -ohjelmiston soveltuvuuden arviointi

Mallien ja järjestelmien oikeellisuuden toteaminen

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Turvakriittisen projektin menetelmät ja työkalut

Työkalut ohjelmistokehityksen tukena

MDA malliperustainen arkkitehtuuri

MALLIPERUSTAISTA ARKKITEHTUURIA TUKEVIEN CASE-VÄLINEIDEN ARVIOINTI- JA VALINTAMENETELMÄ

Menetelmäraportti - Konfiguraationhallinta

7. Tuoterunkoarkkitehtuurit

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2007

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008

7. Product-line architectures

MetaEdit+:n käyttö kehitysmenetelmän mallintamisessa

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Visual Basic -sovelluskehitin Juha Vitikka

Palvelusuuntautunut ohjelmistotuotanto Laskuharjoitus 1: Ryhmätöiden alustaminen Toni Ruokolainen,

Ohjelmistotekniikan menetelmät, UML

VHDL/Verilog/SystemC. Jukka Jokelainen

Software engineering

Tapahtuipa Testaajalle...

Onnistunut ohjelmistoprojekti

Ohjelmistojen mallintaminen, kesä 2009

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

10 Kohti ketterää ohjelmistokehitystä

Sovellusaluekeskeinen ohjelmistokehitys ja visuaalinen sovellusaluekieli rahaston arvonlaskentaprosessin mallintamiseksi

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Tutkittua tietoa. Tutkittua tietoa 1

4. Lausekielinen ohjelmointi 4.1

Ohjelmointi 1 / syksy /20: IDE

Arkkitehtuurin mallintaminen

Opetusteknologian standardoinnin tilanne. Antti Auer

Ohjelmistoarkkitehtuurit, syksy

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa

Ohjelmistoarkkitehtuurit. Kevät

BPDM ja prosessimallien rooli

L models. Tekninen määrittely. Ryhmä Rajoitteiset

Englannin kielen ja viestinnän ja ammattiaineiden integrointiyhteistyö insinöörikoulutuksessa

Avoimen lähdekoodin vaarat

Web-palveluiden toteutus älykortille

Metatiedon siirto (XMI) Martti Söderlund

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys


11/20: Konepelti auki

Software Factories: Järjestelmien mallinnus Microsoftin välineillä

Abstraktiotason nostoa, mallipohjainen ohjelmistokehitys. Samuel Lahtinen Ohjelmistoarkkitehtuurit

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

Smart cities - nyt ja huomenna

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

CS-C2130 / CS-C2140 / CS-E4910 Software Project 1 / 2 / 3 ja Accenture Luento

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Collaborative & Co-Creative Design in the Semogen -projects

1.3 Katsaus ohjelmistotuotannon kehittymiseen

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Story. Kajaani. Kuopio. Ornskoldsvik. Trondheim. Savonlinna. Tampere. Lappeenranta. Turku. Espoo (Helsinki) Bergen. Oslo Stockholm.

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Moniulotteisten ohjelmistojen hallinta

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

A Service-Oriented Architecture (SOA) View of IHE Profiles

Ohje kehitysympäristöstä. Dokumentti: Ohje kehitysympäristöstä.doc Päiväys: Projekti : AgileElephant

ADM Arkkitehtuuritason automaatio #tdarc

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Ohjelmistoarkkitehtuurit. Kevät 2014

Valtionhallinnon käyttäjäpäivä - IBM Cognosin tulevaisuuskatsaus ja nykypäivä

Harjoitustehtävät ja ratkaisut viikolle 48

UML metamallina. Seminaariesitelmä Minna Majuri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

Ohjelmistojen suunnittelu

MOLTO-konekäännösprojekti ja Grammatical Framework

Test-Driven Development

TkK-tutkielmat

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

Oliosuunnittelu. Oliosuunnittelu

1 Introduction. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2006

Kurssin sisältö. Kurssin sisältö. Luentoaikataulu karkeasti. Esseiden aikataulu. Aihe-ehdotuksia esseille. Aihe-ehdotuksia esseille

Transkriptio:

Malliperustainen ohjelmistokehitys - MDE 25.9.2007 Pasi Lehtimäki

MDE Miksi MDE? Mitä on MDE? MDA, mallit, mallimuunnokset Ohjelmistoja Eclipse, MetaCase Mitä jatkossa?

Akronyymiviidakko MDE, MDA, MDD, MDSD, UML, MOF, XMI, OCL, CIM, PIM, PSM, PDM, DSM, DSL, DSML, MTL, M2M, M2T

Miksi MDE? Ohjelmistojen kompleksisuus ja koko kasvaa Kokonaisuuden hallinta vaikeampaa Tarvitaan tehokkaampia työkaluja Mallintaminen pakottaa suunnittelemaan Järjestelmän arviointi ennen toteutusta

Abstraktiotaso

Mallin määritelmä Löyhä määritelmä / tiukka määritelmä Malli on: Systeemin yksinkertaistus Malli on systeemin (tai sen osan) kuvaus kirjoitettuna tarkasti määritellyllä kielellä. Tarkasti määritelty kieli on kieli, jolla on tarkasti määritetty muoto (syntaksi) ja merkitys (semantiikka), ja joka soveltuu automaattisesti tulkittavaksi tietokonneella. 1 1 Kleppe, A., Warmer, S. ja Bast, W., MDA Explained. The Model Driven Architecture: Practice and Promise. Addison-Wesley, April 2003

Mallit projekteissa vain koodi koodin visualisointi roundtrip engineering mallikeskeinen vain malli Malli Malli Malli Malli Ohjelmakoodi Ohjelmakoodi Ohjelmakoodi Ohjelmakoodi mikä malli? koodi on malli koodi ja malli elävät rinnakkain malli on koodi nyt suunnitelllaan

MDA Object Management Group - OMG http://www.omg.org/mda/ MDA on yksi mahdollinen MDE:n toteutustapa Käytetään useita OMG:n standardeja Kattavasti dokumentoitu Herättänyt kritiikkiä

Mallit Malleja monessa tasossa Korkea abstraktiotaso -> matala abstraktiotaso Mallin syntaksi määritellään metamallilla

Mallit Liiketoiminnallisia vaatimuksia Ei teknistä tietoa Yhteinen sanasto teknisille ja ei teknisille sidosryhmille Toteutsalustasta riippumaton Computation Independent Model

Mallit Platform Independent Model Vaatimusten analysointi Platform Specific Model Suunnitelma Ohjelmakoodi toteutus

Mallit

M3 metametamallit MOF mallihierarkia määrittelee metamallinnuskieliä määrittelee itse itsensä M2 metamalli määrittelee mallinnuskieliä M1 malli määrittelee järjestelmiä (M0 järjestelmä)

Mallimuunnokset Vähän niin kuin XSL, mutta ei sinnepäinkään... Marks Mapping Tietoa ohjelmistoalustasta Tuloksena toinen malli PIM -> PIM / PIM -> PSM / PSM -> code

Mallimuunnokset '

MDE, mutta ei MDA Domain specific (modeling) languages Oma mallinnuskieli kullekkin toimiallalle Esimerkiksi Locheed Martin Advanced Technology Laboratories Software factories Microsoft EFx Factory

Eclipse modeling project Scope: Abstract Syntax Development Concrete Syntax Development Model Transformation Model to Text Generation Industry Standards MOF, UML, XMI, QVT,... Domain-Specific Modeling

openarchitectureware - oaw Eclipse Modeling Projektin osa Mallimuunnokset Käyttöliittymiä mallintamiseen Eclipse integraatio Vahva tuki EMF:n malleille, mutta myös muille http://www.openarchitectureware.org/

openarchitectureware - oaw EMF metametamalli Mallihierarkia Editointityökaluja Editointityökaluja Lopputulos

MetaCase - MetaEdit+ Domain Specific Modeling Kehitetään sovellusalueelle sopiva mallinnuskieli ja sille sopiva editori Malleista generoidaan koodia http://www.metacase.com

Muita ohjelmistoja The Jamda Project Malleista Java -koodiksi Open Source http://jamda.sourceforge.net/ AndroMDA UML -> J2EE, Spring,... - Open Source http://galaxy.andromda.org/ IBM Rational tuoteperhe Mallinnustyökaluja http://www-306.ibm.com/software/rational/... ja paljon muita...

MDE Mitä seuraavaksi? MDE tuntuu loogiselta seuraavalta askeleelta ohjelmistokehityksessä Työkaluja nyt jo valtavasti saatavilla Joillain aloilla teollisuudessa MDE:tä käytetään jo. Esimerkiksi finanssi.

Linkkejä OMG:n MDA materiaalia http://www.omg.org/mda/ IBM:n MDA aiheinen artikkeli: http://www-128.ibm.com/developerworks/rational/library/3100.html Planet MDE portaali http://planet-mde.org Eclipse Modeling Project http://www.eclipse.org/modeling/ openarchitectureware http://www.openarchitectureware.org/