DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.



Podobne dokumenty
Konfiguracja modelowania w procesie wytwarzania oprogramowania

Wykład 7 Metodyki wytwarzania oprogramowania internetowego (2) Wykładowca: dr inż. Mariusz Trzaska

Platforma Eclipse: Pluginy, RCP oraz GEF

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Analiza i projektowanie aplikacji Java

Web Tools Platform. Adam Kruszewski

Wykorzystanie wolnego oprogramowania do modelowania informacji geograficznej

Narzędzia CASE dla.net. Łukasz Popiel

STANOWISKA JĘZYKOWE DO BUDOWY SERWISÓW INFORMACYJNYCH

POLITECHNIKA LUBELSKA. Walidacja Modeli Xtext

SZKOLENIE TWORZENIE SYSTEMÓW

Podstawy programowania. Wprowadzenie

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)

Środowisko NetBeans. Paweł Boguszewski

PREZENTACJA FUNKCJONALNA SYSTEMU PROPHIX

Podstawy programowania

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

The Binder Consulting

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Egzamin / zaliczenie na ocenę*

1 Ergonomia i komputer Wprowadzenie Krótka historia ergonomii Ergonomiczna praca z komputerem... 11

Część 3 - Konfiguracja

Program szkolenia: Symfony, nowoczesny framework PHP

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle

Zaawansowane programowanie w języku C++

firmy produkty intranet handel B2B projekty raporty notatki

INŻYNIERIA OPROGRAMOWANIA

Narzędzie informatyczne do modelowania, zarządzania i dokumentowania procesów systemu zarządzania jakością

Tworzenie oprogramowania

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

Systemy zdalnego zarządzania i monitoringu: Carel platforma PRO. Tomasz Andracki, Bydgoszcz

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

Paradygmat metamodelowania sterowanego kontekstem (CDMM-P)

Aplikacje Internetowe, Servlety, JSP i JDBC

Wykład Ćwiczenia Laboratorium Projekt Seminarium

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Tworzenie aplikacji GIS w technologii Flex. Tomasz Turowski Esri Polska

Spis treúci. 1. Wprowadzenie... 13

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

WPROWADZENIE DO UML-a

Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4

Programowanie MorphX Ax

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

Spotkanie robocze PIONIER-CERT Poznań, Tomasz Nowak Zespół Bezpieczeństwa PCSS

OFERTA SZKOLENIOWA PROGRESS SOFTWARE

IBM Rational Software Architect uproszczona instrukcja użytkowania

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD

zaprasza Państwa na szkolenie MS Excel -poziom średnio zaawansowany zgodne z: Intermediate Microsoft Excel 2016 (zgodne z MS 55166A)

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Szkolenie wycofane z oferty

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

MS Excel od podstaw do analiz biznesowych

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

EasyInput EasyInput wydajniejsza praca użytkownika dzięki integracji SAP z MS Excel. Prezentacja produktu

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Informatyzacja przedsiębiorstw

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Praca w środowisku Visual Studio 2008, Visual C

WZORCE LOGIKI APLIKACJI Reużywalne składniki wymagań

Programowanie obiektowe

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

HARMONIZACJA DANYCH W PLANOWANIU PRZESTRZENNYM

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Procesy wytwarzania oprogramowania Specyfikacja i projektowanie oprogramowania

ActiveXperts SMS Messaging Server

Wdrożenie technologii procesowej IBM BPM w EFL

Release Notes Process Data Flow ("PDF" )

Profesjonalny efekt szybko i łatwo z darmowym oprogramowaniem Avery Design & Print

Aplikacje biurowe pakiet Microsoft Office kurs podstawowy

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Projekt architektury systemów informatycznych Uniwersytetu Warszawskiego w oparciu o metodykę TOGAF. Tomasz Turski

MS Excel od podstaw do analiz biznesowych

PRZEWODNIK PO PRZEDMIOCIE WYKŁAD ĆWICZENIA LABORATORIUM PROJEKT SEMINARIUM

Microsoft Class Server. Waldemar Pierścionek, DC EDUKACJA

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Projekt i implementacja zintegrowanego środowiska programistycznego dla języka ROsWeL

copyspace WEB2PRINT PROJEKTOWANIE I EDYCJA PRZEZ INTERNET

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

METODY REPREZENTACJI INFORMACJI

UML w Visual Studio. Michał Ciećwierz

Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON

dlibra 3.0 Marcin Heliński

Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2

WETI. Zastosowanie aplikacji WIKI w przetwarzaniu zespołowym. Anna Jaworska, Piotr Orłowski. Wstęp. Technologie

EasyInput Wydajniejsza praca użytkownika dzięki integracji SAP z MS Excel

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Autor: Bączkowski Karol Promotor: dr inż. Paweł FIGAT

tel.: (+48) mail.

Transkrypt:

DSL w środowisku Eclipse Grzegorz Białek Architekt techniczny, Sygnity S.A.

Agenda Wstęp do tematu (10 min) Sens tworzenia języków biznesowych UML jako język biznesu? Zintegrowane środowisko deweloperskie DSL IDE Eclipse przegląd technologii (20 min), Demo... (5 min)

Co to jest DSL? Domain Specific Language (Język specyficzny dla domeny/biznesu) Wyzwania: Podniesienie poziomu abstrakcji, Próba formalnego opisu problemu i rozwiązania, Modele zamiast dokumentacji stanowią kod źródłowy,

Poziom abstrakcji Wymagania biznesowe (przestrzeń problemu) Platforma techniczna (przestrzeń rozwiązania)

Biznes Programista System

Biznes System

Język biznesowy Bardziej zrozumiały dla biznesu, Opis w przestrzeni problemu, Wykorzystanie znanych i popularnych notacji, Język formalny Wyrażenia stanowić będą kod źródłowy Przetwarzanie mechaniczne

Platforma techniczna Każdy system posiada własny język, Przypadek użycia jako 'zdanie' Tworzenie języka poprzez opis składników Frameworki, biblioteki oraz ich konfiguracja posiadają własne języki formalne

UML jako język biznesu (MDA)

UML jako język biznesu (MDA) Zalety: Standard OMG, Gotowe narzędzia, Kilka typów diagramów, Teoretyczna możliwość modyfikacji za pomocą profili No dobra ale to się nie udało... Dlaczego?

Środowisko zintegrowane Środowisko dostosowane do problemu, Wsparcie użytkownika Walidacja poprawności Ułatwienie edycji / uzupełnianie treści Praca grupowa Integracja i współpraca wielu (różnych) elementów

UML środowiska zintegrowane Środowisko dostosowane do problemu, Wsparcie użytkownika Walidacja poprawności Ułatwienie edycji / uzupełnianie treści Praca grupowa Integracja i współpraca wielu (różnych) elementów

DSL IDE jako rozwiązanie Eclipse JDT kontra MS Word Które środowisko jest bardziej wszechstronne Które środowisko jest wygodniejsze (do jakich zadań) Tylko narzędzia optymalnie dopasowane do problemu mogą pomóc wydajnie go rozwiązać

Agenda Wstęp do tematu (10 min) Eclipse przegląd technologii (20 min), Modelowanie (EMF, GEF/GMF, Antlr...) Użytkowanie (EMF VF MT, Compare...) Transformacje (M2T, M2M) Rozbudowa (modularyzacja, integracja...) Demo... (5 min)

Modelowanie języka Utworzenie modelu bazowego (meta-modelu) Wybór notacji języka, Graficzna (GEF / GMF) Tekstowa (Antlr, xtext) Strukturalna (tabele, drzewa etc. JFace)

EMF Model bazowy twojego języka (meta-model), Baza dla większości edytorów w Eclipse, Śledzenie i modyfikacje (Edit) Trwałość (XMI, XML...) Model Ecore (uniwersalny meta-meta-model), Model XSD

EMF Bezpośrednia edycja Odwzorowanie XSD Model Edit Import: UML2, MDL, Java... Edytor (czy warto?)

EMFT Ecore Tools

EMFT Ecore Tools Doskonałe narzędzie od dokumentacji modelu Wiele diagramów dla jednego modelu

Notacje języka Cechy poszczególnych notacji Notacja graficzna Grafy, kompozycja etc. Notacja tekstowa Wyrażenia, proste struktury etc. Notacja strukturalna Tabele (np. tabele decyzyjne), drzewa etc.

Notacje graficzne

Notacje graficzne Biblioteki GEF / GMF GEF jako nakładka na Draw2D GMF jako nakładka łącząca GEF GMF Uniwersalny diagram + Model specyficzny Biblioteka usług podstawowych Rozbudowa poprzez rozszerzenia

Notacje tekstowe

Notacje tekstowe Proces zdecydowanie bardziej złożony Edycja (Eclipse Text Framework) Parsowanie tekstu Budowa drzewa AST Wizytacja i budowa modelu

Notacje tekstowe ANTLR Wydajny parser LL(*) Dobre narzędzia z debugerem etc. Idealny przy zaawansowanych problemach xtext (nakładka na ANTLR) Automatyczna generacja kodu Eclipse Raczej proste gramatyki (model generowany) TEF, IMP...

Notacje strukturalne

Notacje strukturalne Idealny łącznik / uzupełnienie pozostałych notacji Proste API dostarczane z platformą (JFace) Wsparcie ze strony EMF'a w prostych przypadkach

Agenda Wstęp do tematu (10 min) Eclipse przegląd technologii (20 min), Modelowanie (EMF, GEF/GMF, Antlr...) Użytkowanie (EMF VF MT, Compare...) Transformacje (M2T, M2M) Rozbudowa (modularyzacja, integracja...) Demo... (5 min)

Wsparcie dla użytkownika Odwzorowanie problemu Ułatwienia edycji / podpowiedzi etc. Mechanizmy modelu, kreatory, podpowiadacze Walidacja poprawności EValidator, EMF Validation Framework Praca grupowa Notacje, EMF Compare

EMF Model Transaction Ułatwienie tworzenia poleceń (gestów) atomowych pomiędzy API platformy, a GMF/EMF (3 rodzaje komend) Umożliwienie synchronizacji równoległego dostępu do modelu

EMF Validation Framework Rozproszona walidacja Walidatory dodawane za pomocą rozszerzeń Tryby: Batch, Live (blokada komendy)

Praca grupowa Notacja tekstowa Uniknięcie problemów kosztem łatwości obsługi (drogi kompromis) Porównywanie modeli Porównanie graficzne i strukturalne EMF Compare

EMF Compare Uniwersalny mechanizm porównywania modeli z możliwością dostosowywania

Agenda Wstęp do tematu (10 min) Eclipse przegląd technologii (20 min), Modelowanie (EMF, GEF/GMF, Antlr...) Użytkowanie (EMF VF MT, Compare...) Transformacje (M2T, M2M) Rozbudowa (modularyzacja, integracja...) Demo... (5 min)

Model Text Standardowa transformacja za pomocą szablonów Zmiana modeli w pliki wymagane przez platformę docelową Kilkanaście generatorów: Jet, xpand, Acceleo...

Model Model Zdecydowanie mniej popularne, raczej przyszłość niż teraźniejszość Ganymede dostarcza dwa silniki: Implementację QVT Operational ATL 2.0

Agenda Wstęp do tematu (10 min) Eclipse przegląd technologii (20 min), Modelowanie (EMF, GEF/GMF, Antlr...) Użytkowanie (EMF VF MT, Compare...) Transformacje (M2T, M2M) Rozbudowa (modularyzacja, integracja...) Demo... (5 min)

Modularyzacja / Integracja Integracja z istniejącymi edytorami / notacjami etc. Modularność Microsoft Software Factories

Przykład integracji Przykład zintegrowanego edytora BIRT Silna integracja (synchronizacja modeli wewn.) Zastąpienie kodu językiem modelowania

Demo...

Pytania? Grzegorz Białek gbialek@sygnity.pl Zainteresowanych tematyką zapraszam na: http://deepdiveinto.blogspot.com Prowadzisz bloga lub stronę o Eclipse? http://wiki.eclipse.org/regional_communities/poland