tmpa-2015: software engineering education: the messir approach

178
1 / 157 Prove it ! This is not an Antonov ! Nicolas Guelfi- Wednesday 11 th November, 2015 (23:06) - University of Luxembourg, LU

Upload: iosif-itkin

Post on 17-Feb-2017

2.916 views

Category:

Science


0 download

TRANSCRIPT

  • TMPA-2015-Keynote - Part:

    1 / 157

    Prove it !This is not anAntonov !

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part:

    2 / 157

    My Name isGuelfi !Nicolas Guelfi

    Software Engineering Education

    TheMessirApproach

    TMPA-2015(Invited Talk)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part:

    Presentation Parts

    3 / 157

    1: Warning ! (slide 4)2: Software Engineering Education (slide 10)3: An Experimental Remedy (slide 52)4: Illustration: The iCrashMessep Variant (slide 64)5: Conclusion (slide 139)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Warning !

    Part I

    Warning !

    4 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Warning !

    5 / 157

    !! Warning !! on the Presentations Content

    I Pragmatism & Objectivism

    Useful, scalable but not universal Rigorous but mostly empirical Shared by some but not all

    I Based on Experience . . . including: 25 years in education and knowledge

    transfer (bachelor, master, doctorate,post-doctorate)

    8 years as Software Engineering expertat Court of Justice for conformancequestions

    400 trainees in the SE industrymanaged at bachelor and master levels

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Warning !

    5 / 157

    !! Warning !! on the Presentations Content

    I Pragmatism & Objectivism

    Useful, scalable but not universal Rigorous but mostly empirical Shared by some but not all

    I Based on Experience . . . including: 25 years in theoretical and applied

    research IEE

    Efficient Verification of OccupantsClassification System

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Warning !

    5 / 157

    !! Warning !! on the Presentations Content

    I Pragmatism & Objectivism

    Useful, scalable but not universal Rigorous but mostly empirical Shared by some but not all

    I Based on Experience . . . including: 25 years in theoretical and applied

    research Dassault Aviation - (Rafale)

    Fault Tolerant Embedded System forOutside Temperature Monitoring

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Warning !

    5 / 157

    !! Warning !! on the Presentations Content

    I Pragmatism & Objectivism

    Useful, scalable but not universal Rigorous but mostly empirical Shared by some but not all

    I Based on Experience . . . including: 25 years in theoretical and applied

    research Theoretical Computer Science

    Algebraic theories applied to themathematical modeling of concurrentprocesses with advanced data structures

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Warning !

    5 / 157

    !! Warning !! on the Presentations Content

    I Pragmatism & Objectivism

    Useful, scalable but not universal Rigorous but mostly empirical Shared by some but not all

    I Based on Experience . . . including: 25 years in theoretical and applied

    research Software Engineering & Dependable

    SystemsEuropean & National Research Projects,Excellence networksSERENE(http://www.ercim.eu/activity/workgroup)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering Education

    Part II

    Software Engineering Education

    6 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationIntroductory Quotes

    7 / 157

    Software Engineering Definition

    I The application of a systematic, disciplined,quantifiable approach to the development,operation, and maintenance of software.(IEEE in [IEEE(1990)])

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationIntroductory Quotes

    8 / 157

    Software Engineering Definition

    I Software engineering is the part of computerscience which is too difficult for the computerscientist.(Friedrich Bauer [Bauer(1971), 71])

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationIntroductory Quotes

    9 / 157

    Software Engineering EducationI Today, the majority of Engineers understand very little of the science of programming. On

    the other side, the scientists who study programming understand very little about what itmeans to be an Engineer . . . the two fields have much to learn from each other and that themarriage of software and Engineering should be consummated.(David Lorge Parnas in [Parnas(1997)])

    Prove it !This is not anAntonov !

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationIntroductory Quotes

    10 / 157

    Software Engineering EducationI Is it possible to have software engineers in the numbers in

    which we need them, without formal software engineeringeducation ?(A.J. Perlis in [Naur and Randell(1969), 68])

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationDo We Need SE Education ?

    11 / 157

    Do We (Really) NeedSoftware Engineering

    Education ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationDo We Need SE Education ?

    12 / 157

    Computing Jobs: Proportions and Distributions ?(Science, Technology, Engineering and Mathematics)

    (Science, Technology, Engineering and Mathematics)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationDo We Need SE Education ?

    13 / 157

    Computing Jobs in 2022: Offers vs Grads ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationWhat About SE in Industry ?

    14 / 157

    What aboutSE in Industry ?

    (conjectures only !!)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationWhat About SE in Industry ?

    15 / 157

    I Capability Maturity Model

    CMM [Paulk(1993)] and CMMI-DEV [SEI(2010)]

    can be used as an observation tool

    provides a subjective and relative evaluation of theSoftware Engineering practice in industry.

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationWhat About SE in Industry ?

    16 / 157

    CCMI-DEV - Capability Maturity Model Integration forDevelopmentState of practice in industry [Bollinger and McGowan(2009)]

    I Level 1 - InitialI Level 2 - RepeatableI Level 3 - DefinedI Level 4 - ManagedI Level 5 - Optimizing

    0 10 20 30 40 50 60 70 80 90 100

    Level 1Level 2Level 3Level 4Level 5

    51.224.8

    17.45.4

    1.2

    Percentage (%)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationWhat About SE in Industry ?

    17 / 157

    Agile Software Development - [Beck and al.(2001)]

    I Represents a Software Engineering success storyfor the mass realistic w.r.t. SE maturity (theories, methods and tools) realistic w.r.t. ICT projects budgets

    I Mainly focused on project management anddevelopment life cycle iterative and incremental design and development

    I Promotes directly some SE areas1. Software Construction2. Software Testing3. Software Engineering Management4. Software Engineering Process5. Software Quality6. Software Engineering Professional Practice

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationWhat About SE in Industry ?

    18 / 157

    Agile in Industry - [Stavru(2014)]

    [Rodrguez and al.(2012)][VersionOne(2012)]

    0 20 40 60 80 100

    VersionOne

    Rodriguez and al.

    20

    44.8

    80

    55.2

    Rate of Agile inMethod Prone Projects (%)

    No AgileAgile

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationWhat About SE in Industry ?

    19 / 157

    Agile Methodologies Used - [VersionOne(2015)]

    0 20 40 60 80 100

    ScrumScrum & XP hybrid

    Custom HybridScrumban

    KanbanIterative Dev.

    Agile ModelingFeature Driven Dev.

    AgileUPXP

    56108664

    110.50.5

    Percentage (%)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationWhat About SE in Industry ?

    20 / 157

    Agile Project Management Tools Used[VersionOne(2015)]

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationWhat About SE in Industry ?

    21 / 157

    Model Driven Engineering Practice in industry[Hutchinson et al.(2011)Hutchinson, Whittle, Rouncefield, and Kristoffersen]

    I 250 questionnaire answers from MDE practitioners

    I 22 in-depth interviews of MDE professionals from 17different companies

    I on-site observational studies with companiespracticing MDE

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationWhat About SE in Industry ?

    0 10 20 30 40 50 60 70 80 90 100

    make use of UMLuse a DSL of their own designuse a DSL provided by a tool

    use BPMNuse SysML and MATLAB/Simulink

    8540

    2525

    10

    Percentage (%)

    22 / 157

    Model Driven Engineering Practice in industry[Hutchinson et al.(2011)Hutchinson, Whittle, Rouncefield, and Kristoffersen]

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationWhat About SE in Industry ?

    23 / 157

    Model Driven Engineering Practice in industry[Hutchinson et al.(2011)Hutchinson, Whittle, Rouncefield, and Kristoffersen]

    0 20 40 60 80 100

    Class DiagramActivity Diagram

    Use Case DiagramSequence Diagram

    State Machine DiagramDSL Diagram

    Component DiagramFlow Diagram

    Entity Relationship DiagramDeployment Diagram

    Object DiagramComposite Structure Diagram

    8756

    3833

    2388

    53322

    Percentage (%)

    I 35 diagram types citedI inclusion min threshold of 2I diagrams below the threshold:

    Abstract Syntax Graphs, ArrowDiagrams, UsiXML Stylistics andICONIX Robustness Diagrams,. . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationWhat About SE in Industry ?

    0 20 40 60 80 100

    Use of models for team communication

    Use of models for understanding a problem at an abstract level

    Code generation

    Use of models to capture and document designs

    Use of model-to-model transformations

    Use of domain-specific languages (DSLs)

    Model simulation - Executable models

    Use of models in testing

    Percentage (%)

    Productivity ImpactMaintainability Impact

    24 / 157

    Model Driven Engineering Practice in industry[Hutchinson et al.(2011)Hutchinson, Whittle, Rouncefield, and Kristoffersen]

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationStatus of SE Education ?

    25 / 157

    What is the status ofSoftware Engineering

    Education ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationStatus of SE Education ?

    26 / 157

    Software Engineering Education Main Dates

    1968 NATO conference [Naur and Randell(1969)]1976 Workshop on Software Engineering Education1978 Subcommittee on Model Curricula in SE (SMCSE)1989 SEI Graduate Curriculum report1990 N. Guelfi first SE lecture , !1993 IEEE CS/ACM Joint Steering Committee1998 SE Coordinating Committee (SWECC)1999 SE Code of Ethics & Professional Practice2004 SE2004 Undergraduate Curriculum Report2005 SWEBOK Certified [ISO/IEC(2005)]2009 Graduate Software Engineering 2009 (GSwE2009 published)2013 CS2013 Undergraduate Curriculum - submitted [Sahami and Roach(2014)]2014 SE2014 Undergraduate Curriculum - submitted [ACM/IEEE(2015)]2014 SWEBOK submitted for recognition [ISO/IEC(2014)]

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSE Body of Knowledge ?

    27 / 157

    What is theSoftware EngineeringBody of Knowledge ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSE Body of Knowledge ?

    28 / 157

    I SWEBOK IEEE/ISO Standard[ISO/IEC(2005)],[ISO/IEC(2014)]

    I SE knowledge decomposed in: 15 Knowledge Areas 99 Topics 394 Sub-topics

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSE Body of Knowledge ?

    29 / 157

    Number Knowledge Area Names1 Software Requirements2 Software Design3 Software Construction4 Software Testing5 Software Maintenance6 Software Configuration Management7 Software Engineering Management8 Software Engineering Process9 Software Engineering Models and Methods10 Software Quality11 Software Engineering Professional Practice12 Software Engineering Economics13 Computing Foundations14 Mathematical Foundations15 Engineering Foundations

    Figure: SWEBOK Knowledge Areas

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSE Body of Knowledge ?

    30 / 157

    Number Topic Names1 Modeling2 Types of Models3 Analysis of Models4 Software Engineering Methods

    Figure: SWEBOK topics for (9) SoftwareEngineering Models and Methods

    Number SubTopic Names1 Modeling Principles2 Properties and Expression of Models3 Syntax, Semantics, and Pragmatics4 Preconditions, Postconditions, and Invariants

    Figure: SWEBOK topics for (9.1) Modeling

    Number SubTopic Names1 Heuristic Methods2 Formal Methods3 Prototyping Methods4 Agile Methods

    Figure: SWEBOK topics for (9.4) SoftwareEngineering Methods

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSWEBOK Coverage ?

    31 / 157

    What is the SWEBOKIntentional CoverageNG

    Over the World ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSWEBOK Coverage ?

    32 / 157

    Group Countries According to:

    I Culture

    I Economy

    I Location

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSWEBOK Coverage ?

    33 / 157

    MessirEducation Regions

    10 Regions - 48 Institutions

    N Region Name Qty1 North America 72 Western Europe 113 Japan 34 Oceania and South Africa 45 Eastern Europe 46 Latin America 37 North Africa and the Middle East 58 Main Africa 29 South and Southeast Asia 7

    10 Centrally Planned Asia 2Figure: Messir Education Regions

    I 3 samples Schangai Ranking - 48 ABET/SE - 27 Network - 14

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSWEBOK Coverage ?

    34 / 157

    International Standard Classificationof Education [UNE(2012)]

    I Level 6: Bachelor 7: Master 8: Doctorate

    I Category 4: Academic 5: Professional 6: Orientation unspecified

    I SubCategory 5: First degree 6: Long first degree 7: Second or further degree

    Exit

    from

    edu

    catio

    n sy

    stem

    /labo

    ur m

    arke

    t ent

    ry

    Terti

    ary

    educ

    atio

    n

    Pos

    t-se

    cond

    ary

    non-

    terti

    ary

    educ

    atio

    nSe

    cond

    ary

    educ

    atio

    nPr

    imar

    y ed

    ucat

    ion

    Early

    chi

    ldho

    od

    educ

    atio

    n

    Firs

    t-tim

    e sc

    hool

    ent

    ry

    01

    02

    1

    2

    3

    4

    8

    667

    766

    767

    5

    666665

    768

    Figure: International Standard Classificationof Education Pathways DiagramNicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSWEBOK Coverage ?

    35 / 157

    Global CoverageNG ALL Institutions

    Global:43,4%

    KA Name Mean Min Max StdDev1 Software Requirements 64 33 80 212 Software Design 46 17 66 213 Software Construction 51 36 67 164 Software Testing 28 5 42 165 Software Maintenance 11 0 28 146 Software Configuration Management 6 0 17 87 Software Engineering Management 68 58 75 78 Software Engineering Process 35 33 40 39 Software Engineering Models and Methods 66 31 100 29

    10 Software Quality 29 8 50 2011 Software Engineering Professional Practice 71 58 84 1312 Software Engineering Economics 24 8 60 2513 Computing Foundations 58 11 79 3214 Mathematical Foundations 56 19 75 2615 Engineering Foundations 38 18 65 20

    Figure: Global KA Coverage (%)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSWEBOK Coverage ?

    36 / 157

    Intentional CoverageNG by Institutions

    Global:55%

    Michigan State University - United States (US)Bachelor in Computer science

    Number Knowledge Area Coverage (%)9 Software Engineering Models and Methods 10011 Software Engineering Professional Practice 7913 Computing Foundations 797 Software Engineering Management 711 Software Requirements 7014 Mathematical Foundations 693 Software Construction 6715 Engineering Foundations 6512 Software Engineering Economics 602 Software Design 544 Software Testing 4210 Software Quality 428 Software Engineering Process 335 Software Maintenance 06 Software Configuration Management 0

    Figure: SWEBOK Coverage for Institution: 2 (55%)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSWEBOK Coverage ?

    37 / 157

    Intentional CoverageNG by Institutions

    Global:35%

    Universit Libre de Bruxelles - Belgium (BE)Bachelor in Computer science

    Number Knowledge Area Coverage (%)13 Computing Foundations 7714 Mathematical Foundations 637 Software Engineering Management 5811 Software Engineering Professional Practice 5810 Software Quality 5015 Engineering Foundations 413 Software Construction 361 Software Requirements 338 Software Engineering Process 339 Software Engineering Models and Methods 3112 Software Engineering Economics 212 Software Design 176 Software Configuration Management 64 Software Testing 55 Software Maintenance 0

    Figure: SWEBOK Coverage for Institution: 5 (35%)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationLessons Learned ?

    38 / 157

    What are theLessons Learned ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationLessons Learned ?

    39 / 157

    Software Engineering - Lessons Learned

    1 Extremism Syndrome Professional Oriented Curriculums (largely) exclude

    science and theory Academic Oriented Curriculums (largely) exclude

    technology and industry

    Prove it !

    This is not anAntonov !

    This is not anAntonov !

    Prove it !

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationLessons Learned ?

    40 / 157

    Software Engineering - Lessons Learned

    2 Shared 68 Crisis Syndrome

    theories/methods/tools taught (mainly) inadequatew.r.t. industry needs

    change rates too fast for SE education (& research) (very) poor availability/awareness/use of standards

    in SE Education SWEBOK weakly covered GSwE2009/SE2014 weakly implemented

    SE Education Maturity Level 1 - Initial Process is ad hoc, even chaotic Success depends on individual effort and heroics

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationLessons Learned ?

    41 / 157

    Software Engineering - Lessons Learned

    Unfortunately, its just me.It is my passion.(Dr. Kristen Walcott-JusticeUniversity of Colorado)

    3 Ugly Duckling Syndrome

    SE is explicitly taught mostly:

    as a block in Software Engineeringcourses and rarely in a full curriculum

    by Software Engineering Heroes

    by Nominated Volunteers

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationLessons Learned ?

    42 / 157

    Software Engineering - Lessons Learned

    4 Ivory Towers City Syndrome

    The majority of curriculums is made ofcourses which: are disciplinary (verticality) focused on teacher(s) expertise topics poorly consistent with each others (very) poorly cooperating

    Cooperation with industry is (very) rare

    Cooperation with SE tools industry is(very) poor

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationLessons Learned ?

    43 / 157

    Software Engineering - Lessons Learned

    5 HyperTheoryTrophy Syndrome Most academic teachers have:

    a scientific education oriented towards(fundamental) research

    (very) poor industrial experience as engineer Hyper presence of theoretical computer

    science and formal methods

    This is not anAntonov !

    Prove it !

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationLessons Learned ?

    44 / 157

    Software Engineering - Lessons Learned

    6 Conservatism Syndrome courses contain old fashioned content even for

    technology oriented courses

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationLessons Learned ?

    45 / 157

    Software Engineering - Lessons Learned

    7 Forgotten Pragmatics Syndrome

    SE Problems encountered by the industry

    SE Problems addressed in education

    SE Problems addressed in research

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationLessons Learned ?

    46 / 157

    Software Engineering - Lessons Learned

    8 Infinity Fantasm Syndrom

    Viewpoints on the costs of the solutions: Industry Education Research Customer

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Software Engineering EducationSo What ?

    47 / 157

    So . . .What Can We Do ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental Remedy

    Part III

    An Experimental Remedy

    48 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental RemedyProposal Main Idea ?

    49 / 157

    A Product Line of Software Engineering Project Courses

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental RemedyProposal Main Idea ?

    50 / 157

    Messep learning toolSoftware Engineering Project Courses Product Line

    I Variation points include: SWEBOK

    Knowledge areas (KA) Topics (TP) Sub-topics (STP)

    Application Domains ([Heiman(2010)]) Market (MK) Categories (CT) Sub-Categories (SCT)

    Technologies

    I not a one for all approach

    I Flexibility: an as complete as consistent as wishedapproach for the targeted SE learning objectives

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental RemedyProposal Main Idea ?

    50 / 157

    Messep learning toolSoftware Engineering Project Courses Product Line

    I Variation points include: SWEBOK

    Knowledge areas (KA) Topics (TP) Sub-topics (STP)

    Application Domains ([Heiman(2010)]) Market (MK) Categories (CT) Sub-Categories (SCT)

    Technologies

    I not a one for all approach

    I Flexibility: an as complete as consistent as wishedapproach for the targeted SE learning objectives

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental RemedyProposal Main Idea ?

    50 / 157

    Messep learning toolSoftware Engineering Project Courses Product Line

    I Variation points include: SWEBOK

    Knowledge areas (KA) Topics (TP) Sub-topics (STP)

    Application Domains ([Heiman(2010)]) Market (MK) Categories (CT) Sub-Categories (SCT)

    Technologies

    I not a one for all approach

    I Flexibility: an as complete as consistent as wishedapproach for the targeted SE learning objectives

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental RemedyProposal Main Idea ?

    50 / 157

    Messep learning toolSoftware Engineering Project Courses Product Line

    I Variation points include: SWEBOK

    Knowledge areas (KA) Topics (TP) Sub-topics (STP)

    Application Domains ([Heiman(2010)]) Market (MK) Categories (CT) Sub-Categories (SCT)

    Technologies

    I not a one for all approach

    I Flexibility: an as complete as consistent as wishedapproach for the targeted SE learning objectives

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental RemedyProposal Main Idea ?

    51 / 157

    Messep : Domain ArtefactsI SE Project Course Definition

    Commonalities none !

    Variabilities process, schedule activities, workload evaluation

    I SWEBOK Commonalities

    Messir(KA1-REQ, KA4-TEST,. . . ) Excalibur (KA3.5-CONS.TOOLS)

    Variabilities KA1-REQ topics & subtopics KA9-MOD potentially all KAs

    I Application Domain Commonalities

    Applications/Collaborative Applications/Team Collaborative Applications(iCrash Crisis Management Systems)

    Variabilities none yet !

    I Technologies Commonalities

    Eclipse , Java , SQL , JavaFx ,. . .

    Variabilities Eclipse plug-ins, Application Components HTML5, iOS, Android, . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental RemedyProposal Main Idea ?

    51 / 157

    Messep : Domain ArtefactsI SE Project Course Definition

    Commonalities none !

    Variabilities process, schedule activities, workload evaluation

    I SWEBOK Commonalities

    Messir(KA1-REQ, KA4-TEST,. . . ) Excalibur (KA3.5-CONS.TOOLS)

    Variabilities KA1-REQ topics & subtopics KA9-MOD potentially all KAs

    I Application Domain Commonalities

    Applications/Collaborative Applications/Team Collaborative Applications(iCrash Crisis Management Systems)

    Variabilities none yet !

    I Technologies Commonalities

    Eclipse , Java , SQL , JavaFx ,. . .

    Variabilities Eclipse plug-ins, Application Components HTML5, iOS, Android, . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental RemedyProposal Main Idea ?

    51 / 157

    Messep : Domain ArtefactsI SE Project Course Definition

    Commonalities none !

    Variabilities process, schedule activities, workload evaluation

    I SWEBOK Commonalities

    Messir(KA1-REQ, KA4-TEST,. . . ) Excalibur (KA3.5-CONS.TOOLS)

    Variabilities KA1-REQ topics & subtopics KA9-MOD potentially all KAs

    I Application Domain Commonalities

    Applications/Collaborative Applications/Team Collaborative Applications(iCrash Crisis Management Systems)

    Variabilities none yet !

    I Technologies Commonalities

    Eclipse , Java , SQL , JavaFx ,. . .

    Variabilities Eclipse plug-ins, Application Components HTML5, iOS, Android, . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental RemedyProposal Main Idea ?

    51 / 157

    Messep : Domain ArtefactsI SE Project Course Definition

    Commonalities none !

    Variabilities process, schedule activities, workload evaluation

    I SWEBOK Commonalities

    Messir(KA1-REQ, KA4-TEST,. . . ) Excalibur (KA3.5-CONS.TOOLS)

    Variabilities KA1-REQ topics & subtopics KA9-MOD potentially all KAs

    I Application Domain Commonalities

    Applications/Collaborative Applications/Team Collaborative Applications(iCrash Crisis Management Systems)

    Variabilities none yet !

    I Technologies Commonalities

    Eclipse , Java , SQL , JavaFx ,. . .

    Variabilities Eclipse plug-ins, Application Components HTML5, iOS, Android, . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental RemedyProposal Main Idea ?

    52 / 157

    Messep : Derivation ProcessesI Forward

    Bind the variabilities Define Deltas

    add/modify variation point, variant,constraint

    Derive SE Project Variant SE Project Definition documents Realization artefacts (i.e. models, code, SE

    tools,. . . )

    I Back & Forth (if necessary)

    Select a SE Project Variant from theProduct Line

    Define Deltas (Optional) add/modify variation points, variants,

    constraints

    Derive Refined SE Project Variant(Optional) SE Project Definition documents Realization artefacts

    (i.e. models, code, SE tools,. . . )

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: An Experimental RemedyProposal Main Idea ?

    52 / 157

    Messep : Derivation ProcessesI Forward

    Bind the variabilities Define Deltas

    add/modify variation point, variant,constraint

    Derive SE Project Variant SE Project Definition documents Realization artefacts (i.e. models, code, SE

    tools,. . . )

    I Back & Forth (if necessary)

    Select a SE Project Variant from theProduct Line

    Define Deltas (Optional) add/modify variation points, variants,

    constraints

    Derive Refined SE Project Variant(Optional) SE Project Definition documents Realization artefacts

    (i.e. models, code, SE tools,. . . )

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep Variant

    Part IV

    Illustration: TheiCrashMessep Variant

    53 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Process

    54 / 157

    iCrash 4ME Variant - Process

    I Back & Forth Select a SE Project Variant from the Product Line

    iCrash v1.0 Define Deltas

    add/modify variation points, variants, constraints

    Derive Refined SE Project Variant SE Project Definition documents Realization artefacts (i.e. models, code, SE tools,. . . )

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash Variant Overview

    55 / 157

    Messep SE Project iCrash v1.0 CardFeatures

    DetailsProject Name iCrash v 1.0ICSED Level BA 655 (Bachelor/Professional/First degree)Schedule 10 hours * 14 weeks * 2 periodsGroup Size 4 [2-4]Phases Per.1 [Pha.1/6w + Pha.2/8w]

    Per.2 [Pha.1/8w + Pha.2/7w]Main SWEBOK KAs KA1/REQ + KA9/MOD + KA3/CONSMain Market Applications/Collaborative Applications/Team Collaborative ApplicationsMain Technologies

    VirtualBox

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash Variant Overview

    56 / 157

    iCrash v1.0 Domain Artefacts

    Main Inputs Details

    Requirements IMessir Standardized Requirements Artefacts Excalibur Requirements Specification Project Excalibur Requirements Documentation Project Excalibur Requirements Simulation Project

    Construction I iCrash v1.0 Code Functionalities - Java GUI - JavaFx Data persistency - MySQL Distributed processing - Java RMI Versioning - SubVersioN

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash Variant Overview

    57 / 157

    Effective CoverageNG by Variant

    36%

    Number Knowledge Area Coverage (%)1 Software Requirements 809 Software Engineering Models and Methods 757 Software Engineering Management 6711 Software Engineering Professional Practice 632 Software Design 463 Software Construction 398 Software Engineering Process 334 Software Testing 325 Software Maintenance 2814 Mathematical Foundations 1915 Engineering Foundations 1810 Software Quality 1713 Computing Foundations 1112 Software Engineering Economics 86 Software Configuration Management 0

    Figure: SWEBOK Coverage iCrash v1.0 (36%)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    58 / 157

    What is theMessirInternal Standard ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    TheMessirRequirementsEngineering process (MevoP )is iterative and incremental.

    59 / 157

    Requirements Analyst

    [Correct&Complete]

    [Incorrect or Incomplete]

    Use Cases

    Concepts

    Environment

    Operations

    Tests

    IterationClosure

    Figure: MessirMevoP DiagramNicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    60 / 157

    Definition Specification Simulation

    Use Case

    Environment

    Concept

    Operation

    TestFigure: MevoP Process - Model focus by Analysis Level

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    61 / 157

    Categories ofMessirlanguages by Analysis levels.

    Level msrd msr plDefinition +++ + -

    Specification ++ +++ -Simulation + + +++

    I Agile ( msrd)Messirdocumentation language template based natural language

    I Rigorous ( msr)Messirspecification language structured object-oriented and constraint

    oriented specification language

    I Scientific ( pl)Messirsimulation language Prologmsr programming language

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Stakeholders

    I The iCrash system is intended to support the ABC company for themanagement of crisis situations.

    I the iCrash stakeholders are:1. Communication Company2. Humans3. Coordinators4. Administrator5. Creator6. Activator

    62 / 157

    iCrash v1.0 Stakeholders

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Use Case Model

    63 / 157

    iCrashUse Case Diagram View

    Illustration

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Use Case Model

    64 / 157

    iCrashUse Case Specification

    Illustration

    1 use case system summary suDeployAndRun() {2 actor actAdministrator[primary,active]3 actor actMsrCreator[secondary,active]4 actor actCoordinator[secondary,active,multiple]5 actor actActivator[secondary,proactive]6 actor actComCompany[secondary,active]7

    8 reuse oeCreateSystemAndEnvironment[1..1]9 reuse ugAdministrateTheSystem[1..*]10 reuse suGlobalCrisisHandling[1..*]11 reuse oeSetClock[1..*]12 reuse oeSollicitateCrisisHandling[0..*]13 reuse oeAlert[1..*]14

    15 step a: actMsrCreator executesoeCreateSystemAndEnvironment

    16 step b: actAdministrator executesugAdministrateTheSystem

    17 step c: actComCompany executes oeAlert18 step d: actActivator executes oeSetClock19 step ^e: actActivator executes

    oeSollicitateCrisisHandling20 step f: actCoordinator executes

    suGlobalCrisisHandling21

    22 ordering constraint23 "step (a) must be always the first step."24 ordering constraint25 "step (f) can be executed by different

    actCoordinator actors."26 ordering constraint27 "if (e) then previously (d)."Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Use Case Model

    65 / 157

    iCrashUse Case Documentation

    Illustration

    2.3 Use Cases Model 17

    2.3 Use Cases Model

    This section contains the use cases elicited during the requirements elicitation phase. The use cases are textuallydescribed as suggested by the Messir method and inspired by the standard Cokburn template [?].

    2.3.1 Use Cases

    2.3.1.1 summary-suDeployAndRun

    The goal is to install the iCrash system on its infrastructure and to exploit its capacities related to the secureadministration and efficient handling of car crash situations depending on alerts received.

    Use-Case DescriptionName suDeployAndRunScope systemLevel summaryPrimary Actor1 actAdministrator[active]Secondary actor(s)1 actMsrCreator[active]2 actCoordinator[active, multiple]3 actActivator[proactive]4 actComCompany[active]Goal(s) descriptionThe goal is to install the iCrash system on its infrastructure and to exploit its capacities related to the secureadministration and efficient handling of car crash situations depending on alerts received.Reuse1 oeCreateSystemAndEnvironment2 ugAdministrateTheSystem [1..*]3 suGlobalCrisisHandling [1..*]4 oeSetClock [1..*]5 oeSollicitateCrisisHandling [*]6 oeAlert [1..*]Protocol condition(s)1 the iCrash system has never been deployed and usedPre-condition(s)1 noneMain post-condition(s)1 the iCrash system has been created and has handled the crisis situations for which it received alerts

    through the communication company.Main Stepsa the actor actMsrCreator executes the oeCreateSystemAndEnvironment use caseb the actor actAdministrator executes the ugAdministrateTheSystem use casec the actor actComCompany executes the oeAlert use cased the actor actActivator executes the oeSetClock use casee the actor actActivator executes the oeSollicitateCrisisHandling use casef the actor actCoordinator executes the suGlobalCrisisHandling use caseSteps Ordering Constraints1 step (a) must be always the first step.2 step (f) can be executed by different actCoordinator actors.3 if (e) than previously (d).

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Use Case Model

    66 / 157

    iCrashUse Case Instance

    Diagram ViewIllustration

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Use Case Model

    67 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Use Case Model

    68 / 157

    1//----------------------------------------------------2 steve3 executed instanceof subfunction4 oeLogin("steve","pwdMessirExcalibur2017"){5 ieMessage('You are logged ! Welcome ...') returned to steve6 }7//----------------------------------------------------8 steve9 executed instanceof subfunction10 oeGetCrisisSet("pending"){11 ieSendACrisis("crisis with ID 1 details") returned to steve12 }13//----------------------------------------------------14 steve15 executed instanceof subfunction16 oeSetCrisisHandler("1"){17 ieSmsSend("+3524666445252","The handling of your alert by our services is in

    progress !")18 returned to tango19 ieMessage("You are now considered as handling the crisis !")20 returned to steve21 }22//----------------------------------------------------

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Environment Model

    69 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Environment Model

    70 / 157

    1 actor actCoordinator2 role rnactCoordinator3 cardinality [0..*]4 extends actAuthenticated{5

    6 operation init():ptBoolean7

    8 output interface outactCoordinator{9 operation oeInvalidateAlert(AdtAlertID:dtAlertID ):ptBoolean10 operation oeCloseCrisis(AdtCrisisID:dtCrisisID ):ptBoolean11 operation oeGetAlertsSet(AetAlertStatus:etAlertStatus ):ptBoolean12 operation oeGetCrisisSet(AetCrisisStatus:etCrisisStatus ):ptBoolean13 operation oeSetCrisisHandler(AdtCrisisID:dtCrisisID ):ptBoolean. . .1 input interface inactCoordinator{2 operation ieSendAnAlert(ActAlert:ctAlert ):ptBoolean3 operation ieSendACrisis(ActCrisis:ctCrisis ):ptBoolean4 }5 }

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Concept Model

    71 / 157

    Concept Model - ctAlert

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Concept Model

    72 / 157

    Class types and associations

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Concept Model

    73 / 157

    Primary Types/ Data Types

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Concept Model

    74 / 157

    1 Concept Model {2

    3 Primary Types{. . .1 class ctAlert role rnctAlert cardinality [0..*]{2 attribute id:dtAlertID3 attribute status: etAlertStatus4 attribute location:dtGPSLocation5 attribute instant:dtDateAndTime6 attribute comment:dtComment7

    8 operation init( Aid:dtAlertID ,9 Astatus:etAlertStatus ,10 Alocation:dtGPSLocation ,11 Ainstant:dtDateAndTime ,12 Acomment:dtComment ):ptBoolean13 operation isSentToCoordinator(AactCoordinator:actCoordinator ):ptBoolean14

    15 }

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Operation Model

    MessirOperation Model

    I The objective is to provide theproperties that "characterize" all valid"executions" for each system operation.

    I Categories of semantic properties Pre-protocol Pre-functional Post-functional Post-Protocol

    75 / 157

    System

    Environment

    ?

    outputevent

    inputevent

    global_statei

    Output event+Input event 1Input event 2.....

    env@pre

    system@pre

    env@post

    system@postglobal_statei+1

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Operation Model

    76 / 157

    Operation Model atDefinition level (msrd file)

    1@@Operation2icrash.environment.actAdministrator.outactAdministrator.oeAddCoordinator

    1@description2"sent to add a new coordinator in the system's post state and environment

    's post state."3

    4//preProtocol descriptions5@preP6"the system is started"7@preP8"the actor logged previously and did not log out ! (i.e. the associated

    ctAdministrator instance is considered logged)"9@endPreP10

    11//preFunctional descriptions

    1@postF2"the system's state has a new instance of ctCoordinator initialized with

    the given values."3@postF4"the new actor instance and ctCoordinator instance are related."

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Operation Model

    77 / 157

    Operation Model atSpecification level (mcl)

    1operation: icrash.environment.actAdministrator.outactAdministrator.oeAddCoordinator(AdtCoordinatorID:dtCoordinatorID, AdtLogin:dtLogin,AdtPassword:dtPassword):ptBoolean

    1postF:2 let TheSystem: ctState in3 self.rnActor.rnSystem = TheSystem4 self.rnActor.rnSystem = TheSystem5 and self.rnActor = TheActor6/* PostF01 */7 TheactCoordinator.init()8

    9/* PostF02 */10 and ThectCoordinator.init(AdtCoordinatorID,AdtLogin,AdtPassword)11

    12/* PostF03 */13 and [email protected] = ThectCoordinator14

    15/* PostF04 */16 and [email protected] = TheactCoordinator17

    18/* PostF05 */19 and TheActor.rnInterfaceIN^ieCoordinatorAdded()

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Commonalities - Requirement Analysis

    iCrash - Operation Model

    78 / 157

    Operation Model at Simulation level(Prologmsr code)

    1msrop(outactAdministrator,2 oeAddCoordinator,3 [preProtocol,Self,4 AdtCoordinatorID,5 AdtLogin,6 AdtPassword7 ],8 []):-. . .1/* PostF03 */2 msrNav([TheactCoordinator],3 [msmAtPost,rnctCoordinator],4 [ThectCoordinator]),5/* PostF05 */6 msrNav([TheActor],7 [rnInterfaceIN,8 ieCoordinatorAdded,[]],9 [[ptBoolean,true]]),

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Test Model

    MessirTest Model

    I Defines test cases to:1. verify or validate the specification by inspection or

    simulation2. verify or validate the delivered program

    I A test case is a sequence of test steps Test message - system operation triggered Constraints - domain for the parameter values Oracle - defines acceptance conditions

    79 / 157

    System

    Environment

    ?

    outputevent

    inputevent

    global_statei

    Output event+Input event 1Input event 2.....

    env@pre

    system@pre

    env@post

    system@postglobal_statei+1

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Test Model

    80 / 157

    1 test step ts12oeSetCrisisHandler order 12{2 variables{3 TheActor : actCoordinator4 AdtCrisisID : dtCrisisID5 }6 constraints{7 TheActor=TheSystem.rnactCoordinator8 ->select(a | a.rnctCoordinator.login.

    value.eq('steve'))9 ->any2(true)10 AdtCrisisID.value= '1'11 }12 test message{13 out:TheActor sends to system

    actCoordinator.outactCoordinator.oeSetCrisisHandler(AdtCrisisID)

    14 }15 oracle{16 variables{17 AMessage:ptString

    18 AdtPhoneNumber:dtPhoneNumber19 AdtSMS:dtSMS20 ActAlert:ctAlert21

    22 TheComCompany: actComCompany23 TheCoordinator:actCoordinator24 }25 constraints{26 AMessage = 'You are now considered as

    handling the crisis !'27 AdtSMS.value = 'The handling of your

    alert by our services is in progress !'28 TheComCompany.inactComCompany.ieSmsSend

    (AdtPhoneNumber,AdtSMS)29 TheCoordinator.inactCoordinator.

    ieSendAnAlert(ActAlert)30 TheActor.inactAuthenticated.ieMessage(

    AMessage)31 }

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    81 / 157

    What is the iCrash v1.0Implementation Artefact ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    82 / 157

    iCrash .FX v1.0 Program - GUI

    AdministratorCoordinators

    Panel

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    83 / 157

    iCrash .FX v1.0 Program - GUI

    AdministratorAuthentication

    Panel

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    84 / 157

    iCrash .FX v1.0 Program - GUI

    ComCompanyAlertPanel

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    85 / 157

    iCrash .FX v1.0 Program - GUI

    CoordinatorAlertsPanel

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    86 / 157

    iCrash .FX v1.0 Program - GUI

    CommunicationCompany

    CrisisPanel

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    87 / 157

    iCrash .FX v1.0 Program - GUI

    CoordinatorReportPanel

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    88 / 157

    iCrash .FX v1.0 Program - GUI

    CoordinatorStatusPanel

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    89 / 157

    iCrash .FX v1.0 Program - GUI

    CoordinatorAuthentication

    Panel

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    90 / 157

    iCrash .FX v1.0 Program - GUI

    ActivatorClockPanel

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    91 / 157

    iCrash v1.0 Program - DB

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash - Construction

    92 / 157

    iCrash v1.0 Program - DB

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    93 / 157

    What is theMessirSoftware Engineering Environment ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    94 / 157

    Software Engineering Tools.

    1 Requirements2 Design3 Construction4 Management5 Quality6 MaintenanceFigure: Tools Focus

    I Type/Scope Tool: supports an individual Task

    Unit belonging to the developmentlife cycle.

    Workbench: combines in anintegrated way two or more tools tocover a sub-part of the software lifecycle.

    Environment: combines tools andworkbenches in order to target themaximum coverage of the lifecycle.

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    Activities Tools/Technologies

    RequirementsIExcalibur Eclipse SE

    workbench

    95 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    Activities Tools/Technologies

    DesignI Eclipse UML Designer

    96 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    Activities Tools/TechnologiesConstruction

    I Functionalities - JavaI GUI - JavaFxI Data persistency - MySQLI Distributed processing -

    Java RMI. . . Tomcat

    97 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    Activities Tools/TechnologiesManagement

    I Atlassian Confluence knowledge basecollaboration tool.

    I SubVersioN versioning and revisioncontrol tool.

    I Atlassian Bamboo andApache Maven continuous integrationserver for project builds.

    mavenVirtualBox

    98 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    Activities Tools/Technologies

    QualityI Test based Verification &

    ValidationMessir Excalibur

    simulator SWTbot testing tool for

    graphical user interface. JUnit unit testing framework EclEmma Java code coverage.

    I Syntax validation tools

    99 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    Activities Tools/TechnologiesMaintenance

    I Atlassian JIRA issue tracking tool.I SubVersioN versioning and revision

    control tool.I Atlassian Bamboo and

    Apache Maven continuous integrationserver for project builds.

    maven

    100 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    101 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    102 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    103 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    104 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    105 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    106 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    107 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    108 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    109 / 157

    iCrash v1.0 Requirements Documentation

    iCrash :A Crisis Management Case StudyMessirAnalysis Document

    - v 1.4 -(Report type: Simulation)

    Laboratory for Advanced Software SystemsUniversity of Luxembourg

    Thursday 5th November, 2015 - 08:12

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    110 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - Tools

    111 / 157

    MessirSoftware engineering Environment

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - iCrash v1.ME

    112 / 157

    How to define my ownProject Variant ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - iCrash v1.ME

    113 / 157

    Messep - Variant Derivation Process1 Define Deltas for iCrash 4ME

    Remove Unwanted features Requirements simulation level (Prolog)

    Add new features Activity/Requirements

    (a) Define an access rights policy depending on coordinators domain of expertise.(b) Update adequately the requirements artefacts (specification and report)

    Activity/Construction(a) Update the iCrash v1.0 system to include your access rights policy

    Modify selected features Project schedule . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - iCrash v1.ME

    113 / 157

    Messep - Variant Derivation Process1 Define Deltas for iCrash 4ME

    Remove Unwanted features Requirements simulation level (Prolog)

    Add new features Activity/Requirements

    (a) Define an access rights policy depending on coordinators domain of expertise.(b) Update adequately the requirements artefacts (specification and report)

    Activity/Construction(a) Update the iCrash v1.0 system to include your access rights policy

    Modify selected features Project schedule . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - iCrash v1.ME

    113 / 157

    Messep - Variant Derivation Process1 Define Deltas for iCrash 4ME

    Remove Unwanted features Requirements simulation level (Prolog)

    Add new features Activity/Requirements

    (a) Define an access rights policy depending on coordinators domain of expertise.(b) Update adequately the requirements artefacts (specification and report)

    Activity/Construction(a) Update the iCrash v1.0 system to include your access rights policy

    Modify selected features Project schedule . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - iCrash v1.ME

    114 / 157

    Messep - Variant Derivation Process2 Define Deltas for iCrash v1. TCS

    Remove Unwanted features Requirements simulation level (Prolog)

    Add new features Activity/Requirements

    (a) Use Algebraic Petri Nets to model theiCrash system

    (b) Verify using model checking with the AlPiNA[a]tools if an alert can stay unhandled infinitely

    Modify selected features Project schedule . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - iCrash v1.ME

    114 / 157

    Messep - Variant Derivation Process

    sendcrisis

    [$cd]

    Recording Crisis Data

    []

    [system($cd)]

    System

    sendcrisisforvalidation

    [system(getcrisistype($vcs), true)]

    assigncrisisisvalidcrisis($sy=true)&

    invalidsobs($sob, getcrisistype($sy)=true)

    [$sy]

    [assigncrisis($sob,$sy)]

    Superobserver Ready

    [$sob]

    ExecutingCrisis[$sy]

    sendreportblkrep($ec=true)

    [$ec]

    []ExecutedCrisisReport

    [rp($ec)]

    [sobs(YK,Fire)sobs(NG,Blockage)]

    [][system(getcrisistype($sy), false)]

    ValdidatingCrisis

    validatecrisis

    [$vcs]

    [Fire, Fire, Blockage,Blockage]3 Define Deltas for iCrash v1. TCS

    Remove Unwanted features Requirements simulation level (Prolog)

    Add new features Activity/Requirements

    (a) Use Algebraic Petri Nets to model theiCrash system

    (b) Verify using model checking with the AlPiNA[a]tools if an alert can stay unhandled infinitely

    Modify selected features Project schedule . . . [a] [Hostettler et al.(2011)Hostettler, Marechal, Linard, Risoldi, and Buchs]

    [b] [Buchs and Guelfi(1991)][c] [Buchs and Guelfi(2000)]

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - iCrash v1.ME

    114 / 157

    Messep - Variant Derivation Process

    sendcrisis

    [$cd]

    Recording Crisis Data

    []

    [system($cd)]

    System

    sendcrisisforvalidation

    [system(getcrisistype($vcs), true)]

    assigncrisisisvalidcrisis($sy=true)&

    invalidsobs($sob, getcrisistype($sy)=true)

    [$sy]

    [assigncrisis($sob,$sy)]

    Superobserver Ready

    [$sob]

    ExecutingCrisis[$sy]

    sendreportblkrep($ec=true)

    [$ec]

    []ExecutedCrisisReport

    [rp($ec)]

    [sobs(YK,Fire)sobs(NG,Blockage)]

    [][system(getcrisistype($sy), false)]

    ValdidatingCrisis

    validatecrisis

    [$vcs]

    [Fire, Fire, Blockage,Blockage]4 Define Deltas for iCrash v1. TCS

    Remove Unwanted features Requirements simulation level (Prolog)

    Add new features Activity/Requirements

    (a) Use Algebraic Petri Nets to model theiCrash system

    (b) Verify using model checking with the AlPiNA[a]tools if an alert can stay unhandled infinitely

    Modify selected features Project schedule . . . [a] [Hostettler et al.(2011)Hostettler, Marechal, Linard, Risoldi, and Buchs]

    [b] [Buchs and Guelfi(1991)][c] [Buchs and Guelfi(2000)]

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - iCrash v1.ME

    115 / 157

    Messep - Variant Derivation Process1 Define Deltas for iCrash Eiffel [Meyer(2009)]

    Remove Unwanted features iCrash Java Implementation

    Add new features Activity/Construction

    (a) Write an Eiffel implementation thatconforms to the iCrash program.

    Activity/Code Generation(b) Use the Xtend and Xtext MDE tools togenerate Eiffel implementation fromMessir specification

    Modify selected features Project schedule . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - iCrash v1.ME

    115 / 157

    Messep - Variant Derivation Process1 Define Deltas for iCrash Eiffel [Meyer(2009)]

    Remove Unwanted features iCrash Java Implementation

    Add new features Activity/Construction

    (a) Write an Eiffel implementation thatconforms to the iCrash program.

    Activity/Code Generation(b) Use the Xtend and Xtext MDE tools togenerate Eiffel implementation fromMessir specification

    Modify selected features Project schedule . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantiCrash SEP Variant - iCrash v1.ME

    115 / 157

    Messep - Variant Derivation Process1 Define Deltas for iCrash Eiffel [Meyer(2009)]

    Remove Unwanted features iCrash Java Implementation

    Add new features Activity/Construction

    (a) Write an Eiffel implementation thatconforms to the iCrash program.

    Activity/Code Generation(b) Use the Xtend and Xtext MDE tools togenerate Eiffel implementation fromMessir specification

    Modify selected features Project schedule . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantMessepWhat do I concretely get ?

    116 / 157

    What do IConcretely Get ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantMessepWhat do I concretely get ?

    Actor DeliverablesInstructor

    I Main Work Products Project Course Syllabus (source,pdf) Project Course Evaluation forms (source, pdf,

    xls)I Main Benefits

    Efficiency - rapid engineering of SE projectcourse

    Quality - reuse of quality components Maintenability - standardized, generic,

    modular & tool supported Stability in time in front of changing

    instructors Flexibility - SE Coverage adapted to degree

    or course objectives

    117 / 157

    Main Concrete UsableMessep Deliverables

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantMessepWhat do I concretely get ?

    Actor Deliverables

    StudentsI Main Work Products

    Specialized Project Definition Reusable projects inputs (documentation,

    models, source, executables, . . . ) Software Engineering Environment

    I Main Benefits Learnability - teaching material Accessibility - tools Maturity - soundness of reused components Adequacy - work vs resource Motivation - more results / more experience

    / less failures / less deadlocks

    118 / 157

    Main Concrete UsableMessep Deliverables

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantMessep Flexibility

    119 / 157

    Messep Usage & Flexibility

    I Bachelor Level

    UML modeling with class diagrams, use case diagrams andsequence diagrams

    Requirements engineering with use cases

    Practical development projects of with Java , JavaFx , MySQL .

    Introduction to software engineering concepts

    Introduction to development methods concepts

    Introduction to product quality

    Verification and Validation

    . . .Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantMessep Flexibility

    120 / 157

    Messep Usage & Flexibility

    I Master Level

    Advanced Requirements Engineering

    Model Driven Engineering

    Domain Specific Languages: concepts and tools

    Software Engineering Environments: use and development

    Formal Methods

    Operational and Axiomatic Semantics

    Testing and Model checking

    Constraint logic programming

    . . .Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Illustration: The iCrashMessep VariantMessep Flexibility

    121 / 157

    Messep Usage & Flexibility

    I Doctorate Level

    Theories, Methods and tools in the software engineering domain

    Domain Specific Languages

    Model Driven Engineering

    Specification based testing

    Dependability requirements

    Simulation and verification of modeling languages

    . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Conclusion

    Part V

    Conclusion

    122 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionMessirWho ?

    123 / 157

    I There is a (HUGE) need to improve SE Education !

    IMessep SE Project Courses Product Line Allows for Rapid SE Course Definition & Evolution

    Reconciliates Science & Engineering

    Ensure Quality by Reuse

    Eases Educators Collaboration

    Improves SWEBOK Coverage

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionMessirWho ?

    124 / 157

    Messir& Excalibur ProducersIUniversity of Luxembourg

    Nicolas Guelfi

    Alfredo Capozucca

    Benoit Ries

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionMessirWho ?

    125 / 157

    MessirProspective NetworkCat. Reg. RC CC Institution Contact(s)edu 01 NA CA McGill University Joerg Kienzleedu 01 NA US Carnegie Mellon University - Silicon Valley Ccile Praireedu 01 NA US Michigan State University Betty Chengedu 01 NA US University of Southern California George Edwards

    Nenad Medvidovicedu 02 WE CH University of Geneva Didier Buchsedu 02 WE DE University of Hamburg Daniel Moldtedu 02 WE IT University of Turin Susanna Donatelliedu 02 WE IT University of Milan Lucia Pomelloedu 02 WE LU University of Luxembourg Nicolas Guelfiedu 02 WE UK University of Newcastle Maciej Koutnyedu 05 EE RU Saint Petersburg State Technical University Vladimir Itsykson

    Evgeny Pyshkinind 02 WE LU iTrust Consulting Carlo Harpes

    Figure: Messir Prospective Network

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionMessirWho ?

    126 / 157

    Know aSoftware Engineering

    Hero ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionMessirWho ?

    126 / 157

    Being him . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionMessirWho ?

    126 / 157

    Or him . . .

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionMessirWho ?

    126 / 157

    Know a Victim ?

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionMessirWho ?

    126 / 157

    Tell himto join ourdaily scrum !

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionMessirWho ?

    127 / 157

    Contact us !

    [email protected]

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionDiscussion

    Questions, Ideas, Remarks

    128 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionDiscussion

    References[UNE(2012)] International Standard Classification of Education (ISCED) 2011.

    UNESCO Institute for Statistics, 2012.doi: 10.15220/978-92-9189-123-8-en.URL http://dx.doi.org/10.15220/978-92-9189-123-8-en.

    [ACM/IEEE(2015)] ACM/IEEE.Software engineering 2014 - curriculum guidelines for undergraduate degree programs in software engineering.2015.URL https://www.acm.org/education/SE2014-20150223_draft.pdf,https://www.acm.org/education/curricula-recommendations.

    [Anderson et al.(2001)Anderson, Krathwohl, and Bloom] Lorin W Anderson, David R Krathwohl, and Benjamin Samuel Bloom.A taxonomy for learning, teaching, and assessing: A revision of Blooms taxonomy of educational objectives.Allyn & Bacon, 2001.

    [Bauer(1971)] Friedrich L. Bauer.Software engineering.In 1. Foundations and systems., International Federation for Information Processing: IFIP congress series, pages 530538, August 1971.

    [Beck and al.(2001)] Kent Beck and al.The agile manifesto, 2001.

    [Bloom and Krathwohl(1956)] Benjamin Samuel Bloom and David R Krathwohl.Taxonomy of educational objectives: The classification of educational goals. handbook i: Cognitive domain.1956.

    [Bollinger and McGowan(2009)] Terry Bollinger and Clement McGowan.A critical look at software capability evaluations: An update.Software, IEEE, 26(5):8083, 2009.

    129 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

    http://dx.doi.org/10.15220/978-92-9189-123-8-enhttps://www.acm.org/education/SE2014-20150223_draft.pdf, https://www.acm.org/education/curricula-recommendationshttps://www.acm.org/education/SE2014-20150223_draft.pdf, https://www.acm.org/education/curricula-recommendations

  • TMPA-2015-Keynote - Part: ConclusionDiscussion

    Title[Buchs and Guelfi(1991)] Didier Buchs and Nicolas Guelfi.

    Co-opn: A concurrent object oriented petri net approach. in application and theory of petri nets.In 12th International Conference, Gjern, Denmark, pages 432454, 1991.

    [Buchs and Guelfi(2000)] Didier Buchs and Nicolas Guelfi.A formal specification framework for object-oriented distributed systems.Software Engineering, IEEE Transactions on, 26(7):635652, 2000.

    [Heer(2012)] Rex Heer.A model of learning objectivesbased on a taxonomy for learning, teaching, and assessing: a revision of blooms taxonomy of educationalobjectives.Center for Excellence in Learning and Teaching, Iowa State University. http://www. celt. iastate. edu/teaching/RevisedBlooms1. html, 2012.

    [Heiman(2010)] R Heiman.Idcs software taxonomy 2010.International Data Corporation, Framingham, 2010.

    [Hostettler et al.(2011)Hostettler, Marechal, Linard, Risoldi, and Buchs] Steve Hostettler, Alexis Marechal, Alban Linard, Matteo Risoldi, and DidierBuchs.High-level petri net model checking with alpina.Fundamenta Informaticae, 113(3-4):229264, August 2011.ISSN 0169-2968.

    [Hutchinson et al.(2011)Hutchinson, Whittle, Rouncefield, and Kristoffersen] John Hutchinson, Jon Whittle, Mark Rouncefield, and SteinarKristoffersen.Empirical assessment of mde in industry.In Proceedings of the 33rd International Conference on Software Engineering, pages 471480. ACM, 2011.

    130 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionDiscussion

    Title

    [IEEE(1990)] IEEE.Ieee standard glossary of software engineering terminology.Technical report, 1990.URL http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=159342.

    [ISO/IEC(2005)] ISO/IEC.Software Engineering Guide to the Software Engineering Body of Knowledge (SWEBOK).International Organization for Standardization, 2005.ISO-IEC TR 19759-2005.

    [ISO/IEC(2014)] ISO/IEC.Software Engineering Guide to the Software Engineering Body of Knowledge (SWEBOK).International Organization for Standardization, 2014.ISO-IEC TR 19759-2014.

    [Meyer(2009)] Bertrand Meyer.Touch of Class: Learning to Program Well with Objects and Contracts.Springer Publishing Company, Incorporated, 1 edition, 2009.ISBN 3540921443, 9783540921448.

    [Naur and Randell(1969)] P. Naur and B. Randell.Software engineering report of a conference sponsored by the nato science committee garmisch germany 7th-11th october 1968.1969.URL http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF.

    131 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

    http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=159342http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF

  • TMPA-2015-Keynote - Part: ConclusionDiscussion

    Title[Parnas(1997)] David Lorge Parnas.

    Software engineering: An unconsummated marriage (extended abstract).In Mehdi Jazayeri and Helmut Schauer, editors, Software Engineering - ESEC/FSE 97, 6th European Software Engineering Conference Held Jointlywith the 5th ACM SIGSOFT Symposium on Foundations of Software Engineering, Zurich, Switzerland, September 22-25, 1997, Proceedings, volume 1301of Lecture Notes in Computer Science, pages 13. Springer, 1997.ISBN 3-540-63531-9.doi: 10.1145/267895.267897.URL http://doi.acm.org/10.1145/267895.267897.

    [Paulk(1993)] Mark Paulk.Capability maturity model for software.Wiley Online Library, 1993.

    [Rodrguez and al.(2012)] Pilar Rodrguez and al.Survey on agile and lean usage in finnish software industry.In Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement, pages 139148. ACM, 2012.

    [Sahami and Roach(2014)] Mehran Sahami and Steve Roach.Computer science curricula 2013 released.Commun. ACM, 57(6):55, June 2014.ISSN 0001-0782.doi: 10.1145/2610445.URL http://doi.acm.org.proxy.bnl.lu/10.1145/2610445.

    [SEI(2010)] CMMI Product SEI.Cmmi for development (cmmi-dev).Technical report, CMU/SEI-2010-TR-033, Software Engineering Institute, Carnegie Mellon University, 2010.

    132 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

    http://doi.acm.org/10.1145/267895.267897http://doi.acm.org.proxy.bnl.lu/10.1145/2610445

  • TMPA-2015-Keynote - Part: ConclusionDiscussion

    Title

    [Stavru(2014)] Stavros Stavru.A critical examination of recent industrial surveys on agile method usage.Journal of Systems and Software, 94:8797, 2014.

    [VersionOne(2012)] Inc VersionOne.6th annual state of agile survey.Technical report, 2012.

    [VersionOne(2015)] Inc VersionOne.9th annual state of agile survey.Technical report, 2015.

    133 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: Conclusion

    Glossary

    engineering the practical application of scientific ideas and principles.. 13science a systematically organized body of knowledge on any subject.. 13

    134 / 157Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionAppendix

    135 / 157

    Effective CoverageNG by Variant

    36%

    Number Knowledge Area Coverage (%)1 Software Requirements 809 Software Engineering Models and Methods 757 Software Engineering Management 6711 Software Engineering Professional Practice 632 Software Design 463 Software Construction 398 Software Engineering Process 334 Software Testing 325 Software Maintenance 2814 Mathematical Foundations 1915 Engineering Foundations 1810 Software Quality 1713 Computing Foundations 1112 Software Engineering Economics 86 Software Configuration Management 0

    Figure: SWEBOK Coverage iCrash v1.0 (36%)

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionAppendix

    136 / 157

    I Problem: How to determine more precisely theSWEBOK topic cognitive acquisition provided by alecture ?

    I Solution:1. associate a Focus Level (1,2 or 3) representing the

    importance of the subject w.r.t. to the lectures mainconcern.

    2. associate a Bloom Cognitive Level (1 to 6): representingthe output cognitive level supposed to be reached aftersuccessful completion of the lecture([Bloom and Krathwohl(1956)]).

    3. compute an weighted average using quantified BloomCognitive Level and focus level

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionAppendix

    137 / 157

    Bloom Education Levels[Bloom and Krathwohl(1956)],

    [Anderson et al.(2001)Anderson, Krathwohl, and Bloom],

    (3D model from [Heer(2012)])

    Figure: Bloom 2001 Pyramid Model

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionAppendix

    1 Remembering2 Understanding3 Applying4 Analyzing5 Evaluating6 Creating

    Figure: Bloom 2001 Levels

    138 / 157

    Bloom 2001 Education Levels[Anderson et al.(2001)Anderson, Krathwohl, and Bloom]

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionAppendix

    Focus LevelsBloom Levels 1 2 3

    Creating 6 80 90 100Evaluating 5 60 70 80Analyzing 4 50 55 60Applying 3 35 40 45Understanding 2 20 25 30Remembering 1 5 10 15

    Table: Acquisition Levels Scale (%)by Cognitive and Focus levels

    139 / 157

    MessirSWEBOK Acquisition Scale

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionAppendix

    1 Remembering1 Retrieving, recognizing, and recalling

    relevant knowledge from long-term memory.2 Understanding

    1 Constructing meaning from oral, written,and graphic messages through interpreting,exemplifying, classifying, summarizing,inferring, comparing, and explaining.

    3 Applying1 Carrying out or using a procedure through

    executing, or implementing.

    Figure: Bloom 2001 Levels 1,2,3

    4 Analyzing1 Breaking material into constituent parts,

    determining how the parts relate to oneanother and to an overall structure orpurpose through differentiating, organizing,and attributing.

    5 Evaluating1 Making judgments based on criteria and

    standards through checking and critiquing.6 Creating

    1 Putting elements together to form a coherentor functional whole; reorganizing elementsinto a new pattern or structure throughgenerating, planning, or producing.

    Figure: Bloom 2001 Levels 4,5,6

    140 / 157

    Bloom Education Levels[Anderson et al.(2001)Anderson, Krathwohl, and Bloom]

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionAppendix

    141 / 157

    Agile Techniques Used - [VersionOne(2015)]

    0 20 40 60 80 100

    Daily StandupPrioritized backlogs

    Short IterationsIteration Planning

    RetrospectivesRelease Planning

    Unit TestingTeam-based estimation

    TaskboardIteration reviews

    807979

    7169

    6565

    565353

    Percentage (%)0 20 40 60 80 100

    Dedicated Product OwnerSingle integrated team

    Coding StandardsOpen Work area

    RefactoringTest-driven development

    KanbanStory Mapping

    Collective Code OwnershipAutomated Acceptance Testing

    Continuous DeploymentPair Programming

    Agile GamesBehaviour Driven Development

    484643

    383634312927242421

    139

    Percentage (%)Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionAppendix

    142 / 157

    Semiotics and the forgotten Pragmatics

    semiotics

    steve:Adminitrator

    (pa,[1])

    steve: Administrator

    steve : Administrator

    1

    pa

    syntactics semantics pragmatics

    Nicolas Guelfi- Wednesday 11th November, 2015 (23:06) - University of Luxembourg, LU

  • TMPA-2015-Keynote - Part: ConclusionAppendix

    143 / 157

    MessirBookNicolas Guelfi

    Laboratory for Advanced Software SystemsUniversity of Luxembourg

    Messir

    A Scientific Method forthe Software Engineering Master

    - v 0.63 -Thursday 14th May, 2015 - 16:26

    Contents

    Part I - Specification, Simulation and Documentation 1

    I.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .