# Papyrus for Education

This part of the Wiki is dedicated to the use of Papyrus for Education.

NOTE: Currently under construction.

If you want to stay tuned with this initiative, subscribe to the mailing list (more info here: https://dev.eclipse.org/mailman/listinfo/papyrus4edu)

For more details contact Jean-Michel Bruel.

Papyrus4Education is now available as a Papyrus Mars extra. To install it  :

• To start Papyrus4Education select Preferences > Papyrus > ViewPoints Connfiguration

NOTE: The feature has been published with 0.7.0 version since the work is still in progress, the current implementation should follow the following feature description.

The repo of the project is here: https://git.eclipse.org/c/papyrus/org.eclipse.papyrus.git/. Contributions welcome!

# List of concepts

Here is an initial list of concepts.

````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.
```

## Class Diagram

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

### Initial

```- Class
- Association
- Property
- Operation
- Multiplicity
```

### Basics

```- Generalization/Specialization
- 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
```