1. Why "Papyrus 4 Education" ?

  • "User" point of view

  • "Teacher" point of view

  • CEA Tech List point of view

Papyrus4Education-logo

1.1. "User" point of view

  • Introduction of MDE techniques UML™/SysML™ is OK

  • Now it’s time for adoption and massivation

I’m addressing the industrial users here, not students.

1.2. "Teacher" point of view

Personal experience:

Do I need to mention in this workshop that I advocate open source tools?

1.3. CEA point of view

Major milestone: Papyrus 1.0

pap1

pap2

pap3

Current version is 1.1.O/Mars.
  • Listen to clients clients-logo

  • Polarsys initiative polarsys-logo

  • Listen to labs & academics ecosystem

ecosystem

2. Why do we need a dedicated "flavour" ?

  • Illustration from a class experience

  • Students (beginners) problems

  • User-friendliness

2.1. Illustration from a class experience

The class diagram…​ they have in mind (the one on teacher’s materials)

dc1

The class diagram…​ in practical class (after finding a pen and a sheet of paper)

dc2

The class diagram…​ they would like to write

class Produit {
        designation
        poids
}
class Fournisseur {
        raisonSociale
        adresse
}
Produit -- Fournisseur

The class diagram…​ with tool (after "playing" with menus and buttons)

dc3

2.2. Students (beginners) problems

  • Palette complexity

  • UML subtilities

2.2.1. Palette complexity

nodes

2.2.2. UML subtilities

  • E.g., participants should be a ConnectableElement

    • ⇒ You cannot simply attach a class to a participant (v.0.10.1)

participants

2.3. User-friendliness

  • We need to build on experiences

  • We need to build on other eclipse communities experiences

  • We need to build on other communities experiences

3. Is papyrus ready ?

3.1. Eclipse improvements

3.2. Papyrus improvements

  • Maturity

  • Tuning/Customization possibilities

  • Additional components

  • Viewpoints

  • CSS styles

  • Model explorer customization

  • Façades & Palettes

3.2.1. Maturity

  • Major release 1.0

  • Unconference 2014: Getting started!

eclipsecon

3.2.2. Tuning/Customization possibilities

  • DSML within Papyrus

  • Papyrus DTK (Domain Tool Kit)

  • Following illustrations

3.2.3. Additional components

  • Papyrus additional components (v.1.0)

additional

3.2.4. Viewpoints

  • Papyrus without viewpoints (v.1.0)

menu normal
  • Papyrus with viewpoints (v.1.0)

menu filtered

3.2.5. CSS styles

Papyrus style definition (v.1.0)

Papyrus CSS Export style

3.2.6. Model explorer customization

Papyrus model explorer customization (v.1.0)

model explorer

3.2.7. Façades & Palettes

Papyrus palettes customization (v.1.0)

palettes custom

3.2.8. Customization overview

Papyrus customization possibilities (v.1.0)

custom possibilities

3.2.9. ⇒ Papyrus is ready (IMHO)

  • Stability and maturity of Papyrus 1.0

  • Lots of customization mechanisms

  • Now time to disseminate

    • Explain and illustrate

    • Build customization strategies (e.g., for teaching)

    • Aggregate efforts and ideas

4. How to contribute ?

  • Contributors so far

  • Available resources

  • How to join?

  • Community building

4.1. Contributors

  • Benoît Maggi, and all the CEA LIST team

  • Interested people

    • From Universities (USA, Portugal, France, Germany, Canada, Netherlands, Sweden)

    • From Industry (Polarsys, Zeligsoft, Ericson, SFR, C-S, RTA, Altran)

    • Consultants

  • Special collaboration with Altran

4.3. Tool

  • To install Papyrus4Education you need the Mars version of Papyrus (see eclipse mars)

  • Download using the update site

    • Then select Papyrus Extra ▸ Other and select the feature (see below)

      extra
The feature has been published with 0.7.0 version
The work is still in progress, the current implementation uses someiniitial features.

4.4. Getting started

To start Papyrus4Education select Preferences ▸ Papyrus ▸ ViewPoints Configuration

viewpoint

4.5. Voilà!

eclipse4.5

palette uc
palette cd
newDiagrams

4.6. How it works?

Using Papyrus tuning possibilities:

  • Defining styles through CSS

  • Assembling CSS into themes

  • Customization of the Palettes and Façades

  • Customization of the Model Explorer

  • Notion of Viewpoints

4.7. Initial set of basic diagrams and artefacts

4.8. How to contribute?

https://git.eclipse.org/c/papyrus/org.eclipse.papyrus.git/

About…​

Document généré par Jean-Michel Bruel (bruel@irit.fr) via Asciidoctor (version 1.5.2) de 'Stuart Rackham'. Pour l’instant ce document est libre d’utilisation et géré par la 'Licence Creative Commons'. Licence Creative Commons

List of features

Here is an initial list of concepts implemented.

  • Initial means that the concept should be available from scratch,

  • Basics means that those concepts are taught to beginners, but most of the time in a second step.

  • Advanced will be those almost never taught but useful.

Need a broader survey to define them

survey

Class Diagram

The Class Diagram is often the first one (easy to make exercises).

Initial

  • Class

  • Association

  • Property

  • Operation

  • Comments

  • Multiplicity

Basics

  • Generalization/Specialization

  • Order of reading

  • AggregationKind

  • AssociationClass

  • DataType

  • Dependency

  • Navigability

  • Ownership

  • Enumeration

  • Interface

  • MultiplicityElement

  • Operation

  • Package

  • VisibilityKind

Use Case Diagram

The Use Case Diagram is the next one (if not first sometimes), because easy and classical.

Initials

  • Actor

  • UseCase

Basics

  • Extend

  • Include

Sequence Diagram

The Sequence Diagram is most of the time used as the first dynamic model. Each use case is supposed to be described by at least one DS. At first, we do "System Seq. Diag." where there are only actors plus a fake "system" participant, to represent interactions at high level.

Initials

  • Participant

  • Message

  • Response

Basics

  • CombinedFragments (opt,alt,par,ref)

  • Synchronous/Asynchronous messages

StateMachines

The State Machine Diagram is very often taught because you can use it for other teaching classes (networks, system, etc.).

Initials

  • State

  • InitialState

  • FinalState

  • Transition (event,gard,action)

Basics

  • StateMachine

  • Region

Activities

I don’t teach Activity Diagrams, as some don’t teach sequence diagram instead. But when I do, I only teach very basic notions.

Initial

  • Activity

  • InitialNode

  • ActivityFinal

  • ControlFlow

Papyrus usability concerns

Lets' try to work on usability issues and user-friendliness.

2 mains concerns:

  • Content

    • what are the core concepts ?

    • how, in which order, do we teach/address them ?

  • Tool

    • user-friendliness

    • user level/progresses integration

    • company method integration

User-friendliness

  • We need to build on experiences

  • We need to build on other eclipse communities experiences

  • We need to build on other communities experiences

Open questions

  • Any user-interface tuning experience?

  • What is a good user interface?

  • Is the "level of expertise" approach a good one?

    magicdraw1