Plan ! Myself ! Model Driven Architecture ! MDA$based*Teaching*and* ! MDA based Reaserch ! Sample 1: Empirical Research Research*in*Software*Engineering* ! ! MDA based Teaching ! Sample 2: Software Development Course Ludwik!Kuźniar z! Blekinge*Institute*of*Technology* School*of*Computing* Sweden* Ludwik.Kuzniarz@bth.se* L u d w i k Federal University of Rio de Janeiro, October 2014 2 K u z n i a r z Researh Overview Researh Overview • Formal Methods • Formal Methods – Formal verification of programs – Formal verification of programs – Hiding deadlocks in Lotos – Investigation of a specification language – Formalizations in MultiMedia – Formalizations in MultiMedia • Consistency in UML • Consistency in UML – Series of workshops on MoDELS – Series of workshops on MoDELS – Classification framework – Classification framework – Consistency*Issues*in*Modelling* – Consistency*Issues*in*Modelling* • Didactics • Didactics – Educators Symposium on MoDELS – Educators Symposium on MoDELS – Best*Practices*for*Teaching*UML*Based*Software:*MoDELS*2004* – Best*Practices*for*Teaching*UML*Based*Software:*MoDELS*2004* • Software Development and Empirical Methods • Software Development and Empirical Methods – Validation of stereotypes with experiments – Validation of stereotypes with experiments • Empirical*assessment*of*using*stereotypes*to*improve*comprehension*of*UML* • Empirical*assessment*of*using*stereotypes*to*improve*comprehension*of*UML*models:** models:*A*set*of*experiments* A*set*of*experiments* – Validation with survey – Validation using survey • Empirical*extension*of*a*classiJication*framework*for*addressing*consistency* • Empirical*extension*of*a*classiJication*framework*for*addressing*consistency** in*model*based*development in*model*based*development L u d w i k L u d w i k Federal University of Rio de Janeiro, October 2014 3 3 Federal University of Rio de Janeiro, October 2014 4 4 K u z n i a r z K u z n i a r z
Teaching Overview Teaching Overview • WUT • WUT – OO Software Development, – OO Software Development, – Formal methods in SE – Formal methods in SE • BIT • BIT – OO Software Development – 1 st y BSc level – OO Software Development – 1 st y BSc level – Product Line Architecture – 2 nd y MSc level – Product Line Architecture – 2 nd y MSc level – Master Thesis course – 2 nd y MSc level – Master Thesis course – 2 nd y MSc level • Double Diploma BIT - WUT • Double Diploma BIT - WUT – Research Methodology – Research Methodology • NUR – National University of Rwanda • NUR – National University of Rwanda – OO Software Development – OO Software Development – Product Line Architecture – Product Line Architecture – Master Thesis – Master Thesis • NU – Newcastle University • NU – Newcastle University – Introduction to UML – Introduction to UML L u d w i k L u d w i k Federal University of Rio de Janeiro, October 2014 5 5 Federal University of Rio de Janeiro, October 2014 6 6 K u z n i a r z K u z n i a r z OMG´s MDA Object'Management'Group'(OMG)'' an'open'membership,'not8for8profit'consor;um'' that'produces'and'maintains'computer'industry'specifica;ons'' for'interoperable'enterprise'applica;ons.' • Bad'news' M D A '''' There%will%never%be%a%single%OS,%PL,%Netwwork%Architecture%that% replaces%all%that%have%passed% • Good'news' '' %You%can%s>ll%manage%to%build%systems%economically%in%this% environment% • Remedy' A%specific%approach%to%soBware%development%–%% Model%Driven%Architecture%(MDA)% L u d w i k L u d w i k Federal University of Rio de Janeiro, October 2014 7 7 Federal University of Rio de Janeiro, October 2014 8 8 K u z n i a r z K u z n i a r z
MDA Aspects / Perspectives OMG � s MDA Provides open, vendor neutral ! approach to the challenge of technology change. Is a broad conceptual framework that ! describes an overall approach to software development. ! Is the OMG implementation of MDD approach to software development by standards and a set of tools that can be used within MDD. • 'CIM'8'Computa;on'Independent' Based on OMG standards separates ! ''''business'func;onality'and'behaviour'' application logic from • 'PIM'8'PlaHorm'Independent' underlying platform technology '''''soIware'func;onality'and'behaviour'' • 'PSM'8'PlaHorm'Specific' ! Does not define a particular software architecture or an architectural style '''''realisa;on'of'the'PIM'' '''''on'a'given'plaHorm/technology' Raises the level of abstraction in software ! development. L u d w i k L u d w i k Federal University of Rio de Janeiro, October 2014 9 9 Federal University of Rio de Janeiro, October 2014 10 10 K u z n i a r z K u z n i a r z MDA: Development Process Perspective MDA Core Standards - Technology Space • MOF - Meta-Object Facility UML • MDA (Model-Driven Architecture) – an abstract language and a framework for Model Driven specifying , constructing , and managing Architecture technology neutral metamodels => languages is a type of – MDD (Model-Driven Development) • UML - Unified Modeling Language – a graphical language for specifying, constructing, visualizing & documenting • Not a Software Architecture design the artifacts of distributed object oriented systems . • XMI - XML Metadata Interchange – ”Architecture” refers to a framework of concepts, tools etc. – technology mappings from MOF metamodels conforming Represents a collection to XML DTDs and XML documents. of best engineering practices • But a Development Paradigm that have proven successful • Others still coming …. in modeling of large and Approach to developing software complex systems. L u d w i k L u d w i k Federal University of Rio de Janeiro, October 2014 11 11 Federal University of Rio de Janeiro, October 2014 12 12 K u z n i a r z K u z n i a r z
MDA: Development Process Perspective Models Hierarchy: Four Layers Architecture • MDA'=' approach'+'tools' 'for:' conformsTo Language for – Specifying '' Meta- defining languages MetaModel ' '8'plaHorm8independent'system'–'applica;on'plaHorms' d - MOF l – Choosing'' r conformsTo o Modelling ' '8'a'plaHorm'for'the'system' W Modeling Language Meta Model – Transforming '' MetaModel Directions Model - UML l e ' '8'the'plaHorm8independent'specifica;on'' d conformsTo ''''into'a'plaHorm8specific'one' o Models M in UML Model • Concepts' Model Model – Applica;on':'the'func;onality'being'developed' – PlaHorm''''':'technology'that'provides'func;onality'' ' '''''''''through'interfaces'and'usage'paQerns'' Usage � Real World Thing � of the models ' ''''''''''(generic,'standard,'manufacturer')' – System' ''''':'applica;on(s)'supported'by'plaHorm(s)' L u d w i k L u d w i k Federal University of Rio de Janeiro, October 2014 13 13 Federal University of Rio de Janeiro, October 2014 14 14 K u z n i a r z K u z n i a r z Categories of Models in MDA MDA Model Transformation : Initial Idea Platform Transformation • Computa;on'Independent'Model'8' CIM' MDA Tool Independent Rules Model – Does'not'show'details'of'system'structure' ! Modelling components – Independent'of'how'the'system'will'be'implemented' ! To build and maintain PIMs ! Code generation component – ”domain'model”'or'”business'model” ' – Bridges'the'gap'between' 'domain' ' '''''''experts'' ! To perform a series of transformations that map PIM ' ' ''and' 'design/development'''experts' Platform elements to lements in PSMs Description MDA Benefits Model • PlaHorm'Independent'Model'8' PIM' ! Instead of writing PS-code, focus on – Structure,'func;onality'and'behavior'of'the'soIware'system'' developing models that are Transformation built'using'OMG'standards' specific to application domain but Engine independent of the platform PSM ! A tool that implements MDA concept allows to • PlaHorm'Specific'Model'8' PSM' 1. produce models of – Realiza;on'of'the'PIM'on'a'given'plaHorm/technology' Platform the application and business logic, and Specific 2. generate code for a target platform Model by means of transformations L u d w i k L u d w i k Federal University of Rio de Janeiro, October 2014 15 15 Federal University of Rio de Janeiro, October 2014 16 16 K u z n i a r z K u z n i a r z
Recommend
More recommend