1. Why "Papyrus 4 Education" ?
|
1.1. "User" point of view
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
Current version is 1.1.O/Mars .
|
-
Listen to clients
-
Polarsys initiative
-
Listen to labs & academics 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)
The class diagram… in practical class (after finding a pen and a sheet of paper)
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)
2.2. Students (beginners) problems
-
Palette complexity
-
UML subtilities
2.2.1. Palette complexity
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
)
-
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!
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
)
3.2.4. Viewpoints
-
Papyrus without viewpoints (v.
1.0
)
-
Papyrus with viewpoints (v.
1.0
)
3.2.5. CSS styles
Papyrus style definition (v.1.0
)
3.2.6. Model explorer customization
Papyrus model explorer customization (v.1.0
)
3.2.7. Façades & Palettes
Papyrus palettes customization (v.1.0
)
3.2.8. Customization overview
Papyrus customization possibilities (v.1.0
)
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.2. Available resources
4.3. Tool
-
To install Papyrus4Education you need the Mars version of Papyrus (see eclipse mars)
-
Download using the update site
-
Then select
and select the feature (see below)
-
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
4.6. How it works?
Using Papyrus tuning possibilities:
-
Defining styles through
CSS
-
Assembling CSS into
themes
-
Customization of the
Palettes
andFaçades
-
Customization of the
Model Explorer
-
Notion of
Viewpoints
4.7. Initial set of basic diagrams and artefacts
-
Diagrams
-
See List of features for details or go to Papyrus4Education wiki.
4.8. How to contribute?
-
Stay tuned ⇒ https://www.eclipse.org/papyrus/
-
Check the Papyrus forum
-
Contact project leader ⇒ Sebastien.Gerard@cea.fr
-
Contribute to the wiki ⇒ https://wiki.eclipse.org/MDT/Papyrus
https://git.eclipse.org/c/papyrus/org.eclipse.papyrus.git/
About…
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
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?