Gilles Perrouin - PowerPoint PPT Presentation

Loading...

PPT – Gilles Perrouin PowerPoint presentation | free to download - id: 4dc35-NWY5Y



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Gilles Perrouin

Description:

Architecting Software Systems Using Model Transformation and Architectural Frameworks ... Builds on Fondue ideas: Syntactic reduction (we do not use the whole UML) ... – PowerPoint PPT presentation

Number of Views:68
Avg rating:3.0/5.0
Slides: 56
Provided by: Cedric1
Learn more at: http://wwwen.uni.lu
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Gilles Perrouin


1
Architecting Software Systems Using Model
Transformation and Architectural Frameworks
  • Gilles Perrouin
  • PhD student
  • Laboratory for Advanced Software Systems (Pr.
    Nicolas Guelfi)
  • University of Luxembourg
  • Computer Science department (Institut
    dInformatique) (Pr. Patrick Heymans)
  • University of Namur, Belgium
  • gilles.perrouin_at_uni.lu

2
Agenda
  • Challenges
  • Key Innovations
  • Initial Experience the FIDJI Project
  • Architectural Framework
  • Model Transformation
  • Methodology
  • Current Approach (FIDJI v2)
  • Conclusions

3
Challenges
  • Reduce Software Lifecycle Time
  • High Market Pressure Software is everywhere and
    run Companies
  • gt Great expectations from Customers
  • Supporting Application Evolution
  • Technology evolves swiftly
  • So as business needs !
  • Harnessing Software Complexity
  • Heterogeneous devices, platforms, networks etc.
    gt Software becomes more complex to Design and
    Develop

4
Key Innovations
  • Software Architecture 1
  • Studied since the 60s in Academia, but only taken
    into account a few years ago in industry
  • Allow for software understanding by exposing the
    structure of a software without implementation
    details
  • Model Driven Engineering (MDE) 2
  • Models specify systems,
  • Model Transformations generate them

5
Key Innovations (2)
  • Software Product Lines
  • a set of software-intensive systems sharing a
    common, managed set of features that satisfy the
    specific needs of a particular market segment or
    mission and that are developed from a common set
    of core assets in a prescribed way (Clements,
    3)
  • Implementation Frameworks
  • a set of classes that embodies an abstract
    design for solutions to a family of related
    problems, and supports reuse at a larger
    granularity than classes (Johnson, 1988 4)
  • Emerged of OO paradigm although other may be be
    used (functional, imperative)
  • Capture common features of a particular
    application domain (e.g. web)
  • Mainstream languages favored their popularity
    (Struts, JSF, J2EE)

6
Key Innovations (3)
  • Methodologies 5,6,7
  • Organize Design and Development Activities in an
    efficient way
  • Architectural Design have to be taken into account

7
Putting Parts Together The FIDJI Approach
  • Define a development methodology that integrate
    key innovations
  • A product line captures the business of a
    software supplier and enables software reuse
  • A Framework represent a nice way to implement a
    product line
  • An OO framework can fully benefit of MDE assets
  • Models to assist designers and developers on
    their understanding of the framework
  • Model Transformations to automate its
    specialization
  • MDE aware CASE Tools to increase productivity

8
Initial Approach FIDJI V1
9
FIDJI Project
  • ScientiFic EngineerIng of Distributed Java
    applIcations
  • Promoted by Prof. Nicolas Guelfi
  • 2001-2004
  • 2.5 Engineers
  • 4 Master Trainees
  • 6 Research Papers

10
Architectural Framework (AF)
  • Implementation Framework
  • UML Models Describing it
  • Analysis
  • Architecture Design
  • Implementation
  • Model Transformations governing its reuse

11
Architectural Framework Benefits
  • Models provides a better understanding of AF
    qualities (architectural patterns, modularity,
    coupling)
  • Transformations guide the user through all the
    steps of application development based on AF
  • Transformations ensure that the application based
    on AF do not violate its qualities

12
Architectural Framework-based development
13
JAFAR
  • J2EE Architectural FrAmewoRk
  • Dedicated to the development of web applications
    on top of J2EE
  • Main Features
  • User Management
  • Advanced Session Management
  • Messaging
  • Batch Jobs
  • Ease support of multiple GUIs for client
    interfaces (HTML, Swing, WML)

14
JAFAR Architecture
15
Modeling JAFAR applications
  • UML 1.5
  • Considered Diagrams
  • Use Cases (Analysis)
  • Class and Packages (Analysis Design)
  • Deployment Diagrams (Deployment)

16
MEDAL
  • UML gEneric moDel trAnsformation tooL
  • Handles transformations for JAFAR
  • Has a visual language specified by an UML profile
    whose syntax is checked via OCL constraints
  • Reuses IBM/Rational XDE transformation mechanism

17
Create Service in MEDAL
18
JAFAR Transformations
  • Horizontal Transformations
  • Create Project (PIM-gtPIM)
  • Create Unit (PIM-gtPIM)
  • Create Entity (PIM-gtPIM)
  • Create Service (PIM-gtPIM)
  • Transform into Entity EJB (PSM-gtPSM)
  • Implement Entity Methods (PSM-gtPSM)
  • Vertical Transformations
  • Generate Entity (PIM-gtPSM)
  • Generate JAFAR Service (PIM-gtPSM)
  • Transform into Session EJB (PIM-gtPSM)

19
FIDJI V1 Issues
  • FIDJI Models deserve better
  • Coverage (analysis, design)
  • Precision (use of UML 2.0 OCL 2.0 8,9)
  • Methodological Rationale and Rules
  • Transformation language needs to be improved
  • FIDJI Approach
  • Explicit more clearly traceability between
    analysis, architecture and design
  • Introduce AF variation rules and modification
    impact in a product line development perspective
  • Existing JAFAR Transformations allows for
    extending only AF artifacts gt hamper
    flexibility and reuse

20
FIDJI V1 Issues (2)
  • Tools
  • JAFAR needs to suit better the targeted
    e-commerce product line (e.g. support Auction or
    Item business concepts)
  • MEDAL should evolve accordingly to the
    transformation language chosen
  • UML 2.0 Compliant CASE tool should be chosen

21
FIDJI V1 Documentation
  • FIDJI Methodology
  • N. Guelfi, G. D. M. Serugendo, G.Perrouin, P.
    Sterges, FIDJI - A Pragmatic Approach to
    Model-Driven Engineering of Evolving Software,
    2006 (Draft)
  • N. Guelfi, G. Perrouin, Using Model
    Transformation and Architectural Frameworks to
    Support the Software Development Process the
    FIDJI Approach, 2004 Midwest Software Engineering
    Conference, Chicago, IL, USA, DePaul University,
    2004
  • N. Guelfi, G. Perrouin, Rigourous Engineering of
    Software Architectures Integrating ADLs, UML and
    Development Methodologies, The 6th Annual IASTED
    International Conference on Software Engineering
    and Applications, Cambridge, MA, USA, ACTA Press,
    pp. 523-529, 2002
  • JAFAR
  • N. Guelfi, B. Ries, P. Sterges, JAFAR2 an
    Extensible J2EE Architectural Framework for Web
    Applications, Technical Report nr. TR-DIA-03-05,
    Luxembourg University of Applied Sciences,
    Luxembourg-Kirchberg, Luxembourg, 2003
  • N. Guelfi, B. Ries, Using and Specializing a
    Pattern-Based E-business Framework An Auction
    Case Study, The 6th Annual IASTED International
    Conference on Software Engineering and
    Applications, Cambridge, MA, USA, ACTA Press, pp.
    512-522, 2002
  • N. Guelfi, P. Sterges, JAFAR Detailed Design of
    a Pattern-based J2EE Framework, The 6th Annual
    IASTED International Conference on Software
    Engineering and Applications, Cambridge, MA, USA,
    ACTA Press, pp. 331-337, 2002

22
FIDJI V1 Documentation (2)
  • MEDAL
  • N. Guelfi, B. Ries, P. Sterges, MEDAL A CASE
    Tool Extension for Model-driven Software
    Engineering, SwSTE'03 IEEE International
    Conference on Software - Science, Technology
    Engineering, Hertzeliyah, Israel, 2003
  • N. Guelfi, G. Perrouin, P. Sterges, B. Ries, S.
    Sendall, MEDAL 1.0 Reference, Technical Report
    nr. TR-CST-03-01, Luxembourg University of
    Applied Sciences, Luxembourg-Kirchberg,
    Luxembourg, 2003
  • S. Sendall, G. Perrouin, N. Guelfi, O.
    Biberstein, Supporting Model-to-Model
    Transformations the VMT approach, MDAFA'03,
    Entschede, Netherlands, 2003

23
FIDJI V2Ongoing Work
24
FIDJI V2 Overview
  • Define more precisely Models and ground them on
    methodology
  • Tailor our AF with respect to our product-line
  • AF-based Application Development
  • Application analysis is performed with respect of
    AF analysis models
  • Framework Concepts can be adapted to better fit
    application needs
  • Transformation
  • Design a language that allows flexible framework
    adaptation

25
Product Line Variation
26
Product Line Variation (2)
  • Variation
  • Characterize the distance between applications
  • Conceptual Distance is A and B defines the
    notion of Item ?
  • Technical Distance A uses Integer to store item
    price whereas B String
  • Impact
  • Characterize the effect of a variation on other
    artifacts of the application
  • Small variations may yield to big impact and big
    variations small impact

27
Designing PL Variation within the AF
  • An operational transformation language builds PL
    variants by adapting framework artifacts
  • PL specifies its possible variations (via Feature
    Diagrams, informal rules)
  • Identified PL Variations are mapped at the AF
    level by
  • Invariants (what must/cant be true whatever the
    transformation program is)
  • (And/or) allowed or forbidden operations

28
PL Transformation Language
  • Imperative
  • Operates at the Model Level
  • Defined over the UML 2.0 Metamodel using OCL 2.0
    expressions
  • Constructs for copying, adding removing model
    elements
  • Might be translated popular transformation
    languages (Borland QVT, ATL,MTL)

29
Impact Change Analysis
  • How to assess the impact a given variation (hence
    the transformation mapping it ) will have?
  • Some may be given informally by AF designers
  • Some may be calculated by checking structural
    relationships between source (AF) and target
    (Application) model 13
  • Some may be traced from analysis to design
  • Some may be given while defining transformations
  • Unfortunately, it is not possible to explicit
    them all

30
Methodology (Revised)
  • Analysis and Design
  • Application models are built by deriving ones of
    the framework using the transformation language,
  • They are validated against PL variation rules,
  • Impact is assessed after each transformation
  • Last horizontal transformation (Implementation)
    and vertical transformations not explicitly
    covered in FIDJI 2.0

31
Methodology Rationale
  • Tradeoff between
  • Formal methods that use one notation for
    everything (B 14, Petri-nets 15),
  • Multiple viewpoints approach with lacks in
    precision (RUP 16)
  • FIDJI V2
  • Builds on Fondue ideas
  • Syntactic reduction (we do not use the whole UML)
  • But semantic precision (we tell why and when we
    use a given modeling element and the meaning
    associated to it)
  • Product Line
  • Influence strongly models elements choice
  • No need to support given property if the
    technology or practice of PL does not allows to
    do so

32
FIDJI V2 Analysis Model
  • Set of Use Cases, supplemented with OCL 2.0
    expressions
  • Use Case Components describe the concepts managed
    by each use case and services offered
  • Domain Model describes overall concepts
  • Operation model details the behavior of each
    service by means of OCL 2.0

33
Domain Model
34
FIDJI V2 Analysis Use Cases
  • Based on Cockburns template 10
  • Associate OCL expressions to almost each step of
    the scenario
  • Special Variables
  • State Stores information about a particular
    state that is useful in the next steps (e.g.
    whether an user is logged)
  • Ord Explicitly monitors UC control (e.g. number
    of attempts to log in)
  • These variables alleviate weaknesses in OCL
    expressivity with respect to temporal properties
    11,12

35
FIDJI V2 Analysis Use Case Template
  • Use Case ltUCNN (NN two digits) Name
    (the name should be the goal as a short active
    verb phrase)gt
  • CHARACTERISTIC INFORMATION
  • Goal in Context lta longer statement of the goal,
    if neededgt
  • Scope ltSystem/Part of the system concerned with
    this UCgt
  • Level ltone of Summary, Primary task (User),
    Subfunctiongt
  • Preconditions ltwhat we expect is already the
    state of the worldgt
  • Success End Condition ltthe state of the world
    upon successful completion OCL postconditiongt
  • Failed End Condition ltthe state of the world if
    goal abandoned OCL postconditionsgt
  • Primary Actor lta role name for the primary
    actor, or descriptiongt
  • Trigger ltthe action upon the system that starts
    the use case, may be time event its OCL
    expressiongt
  • MAIN SUCCESS SCENARIO
  • ltput here the steps of the scenario from trigger
    to goal delivery, and any cleanup aftergt
  • ltstep gt ltaction descriptiongt OCL
    postconditions
  • EXTENSIONS
  • ltput here there extensions (alternatives), one at
    a time, each referring to the step of the main
    scenariogt OCL postconditions

36
FIDJI V2 Analysis Sign In Use Case
37
FIDJI V2 Analysis Use Case Component
38
FIDJI V2 Analysis Operation Schema
39
FIDJI V2 Analysis Operation Example
40
FIDJI V2 Analysis Operation Schema (2)
  • Mixes Fusion 6 and Fondue 7 operation schemas
  • Behavior is given via OCL 2.0 pre/post conditions
  • Optional lifecycle specification clauses
  • enabled-if set of operations that must have
    terminated before the execution of the operation
  • enables set of operations that this operation
    allows to execute. Guards can specify additional
    conditions

41
FIDJI V2 Analysis Operation Model Semantics
  • Instantaneous
  • Operation execution is assumed to take zero
    time and send events immediately
  • No concurrency control (since operations take
    null time it is always serialized in some way)
  • Support for asynchronous or synchronous
    operations
  • Idealist but adapted to our target J2EE
    implementation
  • Threads and concurrency are provided by
    containers and may not be controlled by
    programmers

42
FIDJI V2 Arch Design Design Model
  • Based on UML 2.0 Architectural Constructs
  • Components
  • Connectors
  • Ports
  • Interfaces
  • Some of transformation primitives apply to the
    design model
  • Will be focused on a particular abstraction level
    to be determined

43
Case Study
  • LuxDeal E-barter application
  • Users exchanges belongings against wishes
  • Items exchanged can be either goods or
    services
  • Core functionality
  • Register, Login/Logout
  • Create advert (items) and offers (list of items)
  • Negotiate offers
  • Send Messages to other users

44
Initial Situation
45
Modified Model
46
Transformation Program
  • \ DMLuxDeal \
  • addModel(DMJAFAR, DMLuxDeal)
  • if (!isClassifier(DMJAFAR,ItemType,Enumeration))
    then
  • addClassifier(DMLuxDeal,ItemType,Enumeration)
  • addProp(DMLuxDeal,ItemType,Enumeration,wish)
  • addProp(DMLuxDeal,ItemType,Enumeration,belongin
    g)
  • else
  • copyClassifier(DMJAFAR, DMLuxDeal, ItemType,
    Enumeration)
  • endif
  • addClassifier(DMLuxDeal,Service,Class)
  • addClassifier(DMLuxDeal,Good,Class)
  • inherit(DMLuxDeal, Item, Class, Good, Class)
  • inherit(DMLuxDeal, Item, Class, Service, Class)
  • removeClassifier(DMLuxDeal, Group, Class)

47
Transformation Constructs Definition
  • copyModel(srcModel,tgtModel)
  • post src.ownedElement-gtforAll(e
    tgt.ownedElement-gtincludes(e))
  • addClassifier(mModel, classNameString,typeType)
  • postm.ownedType-gtexists(coclIsTypeOf(type)and
    c.nameclassName)

48
Transformation Constructs Definition (2)
  • removeClassifier(mModel,classNameString,typeTyp
    e)
  • post Let cClassifier m.ownedType-gtselect(cc.o
    clIsTypeOf(type)and c.nameclassName)-gtfirst()_at_pre
    in not m.ownedElement-gtexists(asas.oclIsKindOf(R
    elationship) and as.relatedElement-gtincludes(c))
    and m.ownedElement-gtexists(clscls.oclIsTypeOf(Cla
    ssifier) and cls.attribute-gtincludes(attatt.oclIs
    KindOf(c)))

49
Transformation Constructs Definition (3)
  • post not m.ownedType-gtexists(coclIsTypeOf(type)a
    nd c.nameclassName)
  • inherit(mModel,parentNameString,parentTypeType,
    childNameString,childTypeType)
  • post Let parentClassifier m.ownedType-gtselect(
    cc.oclIsTypeOf(parentType)and c.name
    parentName) in Let childClassifier
    m.ownedType-gtselect(cc.oclIsTypeOf(childType)and
    c.name childName)in child.parent-gtincludes(parent
    )

50
Evaluating Impact
  • No structural problem for adding wish,
    belongings, goods and services (use case needs to
    take these new features into account)
  • Group suppression involves serious rework on
    the user account management part of JAFAR
    analysis

51
Conclusions
  • FIDJI V1
  • First attempt at integrating models,
    transformations and frameworks in a
    tool-supported methodology
  • Tools and models are outdated
  • Not flexible enough
  • FIDJI V2
  • Enables flexible framework based development by
    allowing framework artifacts to be changed
  • Transformations implements PL variants
  • Forbidden rules and invariants allows for PL
    border specification
  • Complete redefinition of the analysis phase (now
    methodologically grounded)

52
Future Work
  • Design
  • gt Find the good abstraction level between
    architecture and detailed design
  • Impact
  • Needs to be precised conceptually and integrated
    within the methodology
  • Formalization
  • A partial formalization may be given to show the
    proof of concept

53
Questions
54
Bibliography
  • 1 L. Bass, P. Clements, R. Kazman, Software
    Architecture in Practice (2nd Edition), SEI
    series in software engineering, Addison Wesley,
    2003
  • 2 S. Kent, Model Driven Engineering, Third
    International Conference on Integrated Formal
    Methods, Turku, Finland, pp. 286-298, 2002
  • 3 P. Clements, L. Northrop, Software Product
    Lines Practices and Patterns, Addison Wesley,
    Reading, MA, USA, 2001
  • 4 R. Johnson, B. Foote, Designing Reusable
    Classes, Journal of Object-Oriented Programming,
    1 (2), pp. 22-35, 1988
  • 5 D. Coleman, P. Arnold, S. Bodoff, C. Dollin,
    H. Gilchrist, F. Hayes, P. J, Object-Oriented
    Development, The Fusion Method, Prentice Hall
    PTR, 1994
  • 6 Shane Sendall, Specifying reactive system
    behavior, Ph.D. Thesis, no. 2588, Swiss Federal
    Institute of Technology, 1015 Lausanne,
    Switzerland, 2002.
  • 7 D. F. D'Souza, A. C. Wills, Objects,
    Components, and Frameworks With Uml The
    Catalysis Approach, Addison Wesley, 1998
  • 8 OMG UML 2.0 Superstructure, nr.
    Formal/05-07-04
  • 9 OMG, OCL 2.0 Specification, nr.
    ptc/2005-06-06, Object Management Group, 2005

55
Bibliography (2)
  • 10 http//www.usecases.org/
  • 11 Stephan Flake and Wolfgang Mueller. Past-
    and future-oriented time-bounded temporal
    properties with ocl. In SEFM '04 Proceedings of
    the Software Engineering and Formal Methods,
    Second International Conference on (SEFM'04),
    pages 154-163, Washington, DC, USA, 2004. IEEE
    Computer Society.
  • 12 Maria Victoria Cengarle and Alexander Knapp.
    Towards OCL/RT. In FME '02 Proceedings of the
    International Symposium of Formal Methods Europe
    on Formal Methods - Getting IT Right, pages
    390-409, London, UK, 2002. Springer-Verlag.
  • 13 Briand, L. C., Labiche, Y., and O'Sullivan,
    L. 2003. Impact Analysis and Change Management of
    UML Models. In Proceedings of the international
    Conference on Software Maintenance (September 22
    - 26, 2003). ICSM. IEEE Computer Society,
    Washington, DC, 256.
  • 14 J. Abrial, The B Book Assigning Programs to
    Meanings, 1986
  • 15 G. D. M. Serugendo, N. Guelfi, Formal
    Development of Java-based Web Parallel
    Applications, 31st Annual Hawaii International
    Conference on System Sciences, Software
    Technology Track, 7, Kohala Coast, HI, USA, pp.
    604-613, 1998
About PowerShow.com