), << creates an unfilled arrow pointing to the left (This is an asynchronous message. It is a box around certain participants and messages. That’s where PlantUML comes in, or puml for short. In the UML specification, else is the default sequence in a list of alternative sequences. put this info under the section about graphic paths. Each participant can be declared with a different shape, to represent UML patterns like a Robustness diagram with actor, boundary, entity and control. It is fast, very fast. If the displayed label for a participant has spaces or special characters, put quotes around it. Register; PlantUML Q&A. On top of those diagram, PlantUML also provides more interesting diagrams like the Timing diagram, Object diagrams and Use case diagram which I encourage you to look at as well! Sequence diagram describes a set of interactions sequences. ACTIVITY DIAGRAM. SEQUENCE. Find a custom version using PlantUML in the appendix. A component diagram shows how components are related between each other. UML Sequence diagram generator; Tools and libraries used. That does not change the drawing, but may improve readability. Real World PlantUML - Samples of PlantUML. Figure 7 – Installing PlantUML extension for Visual Studio Code. However, PlantUML supports a variety of diagram formats, using differing start/end tags. PlantUML is a component that allows to quickly write. Then we moved on to see specific diagrams that are widely used in Software engineering, sequence diagram, component diagram, state and activity diagram. Drill-Down Sequence Diagrams with Picto¶. add a note element and paste the desired plantUML script into it; right click the Note element and select “Create Sequence Diagram via PlantUML” the following diagram is created ; EA’s does have some restrictions on the way the flows can be laid out using the API.. and this is especially evident when using nested InteractionFragments. Teams. The request from 1 to 4 are in order from top to bottom. ref is the frame name in the pentagon in the upper left hand corner. USE CASE. set the color of the image displayed. GroupFont formats the text at the top of the frame. In the UML specification, else is the default sequence in a list of alternative sequences. Starting from the sequence diagram that we saw earlier. STATE. Else after 1 hour S ->> Job: trigger2() Alt waiting over 2 hours Else after 3 hours S ->> Job: trigger3() Job -> widget: do something widget –>> Job: return Job -> Job: process it S ->> Job: trigger4() Else after 4 hours S ->> Job: trigger5() activate Job End End S ->> Job: after trigger() deactivate Job. There is a name in the upper-left corner of the frame and, in the case of a group box, optionally a label across the top of the frame. Starting in UML 2, the “Interaction Occurrence” element was introduced. To test the command and generate diagram, we can use the online editor and refer to the online documentation. But in PlantUML_ this is how you label different alternatives. This is more related to UML where even the arrow direction has a different meaning. is at the end, then the arrow is connected to the end (target), and the arrow line is only as long as the arrow label. PlantUML supports the following: alt/else, to showcase alternative with else clauses, opt, to showcase options where the sequence is executed depending on the condition, loop, to showcase a iteration, You should now be familiar with how to setup GitLab to point to an instance of PlantUML, allowing you to add diagrams to wiki pages. loop is the frame name in the pentagon in the upper left hand corner. You can use the group Cari . ReferenceBorderThickness I try to use plantuml for flow diagrams but when I get close to state machines I move to graphviz. The else part is optional and can be repeated more than once for each condition. Here are the specific skinparam options: GroupBodyBackgroundColor formats that background color of the frame. You need a sense of aesthetics to use different shapes, place elements in a way that makes sense and use different ways of linking shapes so that the diagram doesn’t get convoluted, failing any of those steps will discourage your audience from even trying to understand what your diagram represents. From this post I hope you could see how amazing is PlantUML… CLASS. text is displayed in square brackets ([]) at the top of the frame; it describes or labels frame as a whole. The else InteractionOperator is used to show the sequence that will be used if the none of conditions for the alt alternatives can be met. (Ex: "Request Handler"). ACTIVITY. Use a color name or hex code. Sequence Diagram Conditional Fragment. It also allows us define groups providing different visualization: Lastly just like sequence diagram, we can connect components together or with interfaces with arrows. You’ve had an introduction to the syntax for sequence diagrams. – khalito Nov 1 '19 at 12:14 1 As a side note with an elseif the diagram does even look better (in my opinion) – albert Nov 1 '19 at 13:06 Unanswered; Tags; Users; Ask a Question; Ask a Question "Alt, else" boxes background colors +1 vote. All of the same options as participant can be used. Parsed java class can be easily processed to generate the UML diagram. This diagram type visualizes coupling between objects. PlantUML sequence diagram syntax: You can have several kinds of participants (actors and others), arrows, notes, groups... Changing fonts and colors is also possible. A reference to some other interaction or diagram. Just email me at tom@tomgregory.com, Using PlantUML For Diagrams In A GitLab Wiki. ZenUML is a tool generating sequence diagrams from markup text. Use the 'Files' button to quickly export and import PlantUML as text files to and from your local file system. case "ELSE" add_partition(PlantUML(i)) 'add partition to fragment case else create_sequence(PlantUML(i)) 'replace with a regex expression to make sure sctipt line si indeed a sequence end select (See the UML 2.5 Specification, section 17.4.4.1 Message Notation), >> creates an unfilled arrow pointing to the right (This is an asynchronous message. You can make dashed arrow lines as long as you want, but they will be drawn only as long as needed and (Note: It is possible to reuse a sequence diagram of any type (e.g., programming or business). Otherwise PlantUML just orders the participants as it encounters them. and will change how it draws (renders) it. Break statement. If you omit the start/end tags from your diagram source, Orchid will assume it is a "UML" diagram and add @startuml...@enduml for you. An activity is specified like :[my activity];. config-changed BOLD actions are methods calls STOP configure Celeryd exit 1-4 (RE)MOUNT storage if configured REGISTER orchestra if configured START ok No. From this post I hope you could see how amazing is PlantUML, see you on the next one! USE CASE. The else InteractionOperator is used to show the sequence that will be used if the none of conditions for the alt alternatives can be met.else is the frame name in the pentagon in the upper left hand corner.. The question I am often asked is: There is already PlantUML (and other tools) so why do you bother to build another one?. This site has different variety of PlantUML examples with rendered images. If a note contains more than one line, it will not be word-wrapped. Diagrams are defined using a simple and intuitive language. The following example showcase how to use activation: Another important feature of sequence diagram is Interaction which groups a piece of the diagram with a particular meaning. We will see in more details later how a sequence diagram can be represented, and what options PlantUML provides. Conclusion. they're used to gather information about the pages you visit and how many clicks you need to accomplish a task. par is the frame name in the pentagon in the upper left hand corner. Aug 30th, 2019 - written by Kimserey with . All of the same options as participant can be used. The GroupHeaderFont formats the text that appears in the pentagon in the upper-left-hand corner of the frame. Utilisateur Utilisateur Système Système Demande de l'historique Liste des fichiers Sélectionner un ou plusieurs fichier(s) et vérifier les URLs Liste des URLs invalides du/des fichier(s) sélectionné(s) SEQUENCE DIAGRAM. Search for: Search. Enterprise-Architect / Create Sequence Diagram via PlantUML.vbs Go to file Go to file T; Go to line L; Copy path Cannot retrieve contributors at this time. Global keywords and options, words about what participants are in general. ReferenceBorderColor PlantUML Q&A. Participants do not have to be explicitly declared. Diagrams are defined using a simple and intuitive language. In today’s post, we will learn how to build diagrams with PlantUML and look into different sort of diagrams that are often used. DividerFontColor Init Phase long running activity, process requires signal to proceed Transfer Phase Termination Phase ... SEQUENCE DIAGRAM. frame name is the frame name in the pentagon in the upper left hand corner. Most frequently used rules are in this sample, so you should be able to make your own diagrams by modifying this sample if you forget the rules. ' It’s hard to figure out exactly what commands can and cannot be used in what contexts. This article demonstrates using Picto and its PlantUML integration to generate drill-down sequence diagrams from models conforming to a minimal EMF-based sequence diagram language.. Metamodel¶. 4566305613021184. This is useful if the displayed name is long; you can just use the shorter alias in the rest of the source. Diagrams are defined using a simple and intuitive language. sequence diagram 6215863770284032 User User App App Server Server Database Database get all comments for review makeGetRequest() getCommentsForReview() ResultSet alt [review is found] HTTP Response(success:true, data) [else] HTTP Response(success:false) Foo1 … Ex: participant "Request Handler" order 3, You can show a message coming from or going to a participant not in the scope of the current diagram by using ] or [. To have a dotted arrow, you use --> It is also possible to use <- and <--. A dashed line Sequence Diagram - Create within an existing box. This article demonstrates using Picto and its PlantUML integration to generate drill-down sequence diagrams from models conforming to a minimal EMF-based sequence diagram language.. Metamodel¶. The condition that describes may range from some deterministic calculation (2+2==4) to user choice (red pill selected) to random event (atom decays). Real World PlantUML - Samples of PlantUML. Remember. critical, to showcase a critical region where parallel execution is forbidden. PlantUML supports the following: Apart from text describing interactions, we can also place notes throughout the diagram with note left or note right. Their clear graphical layout helps give a quick intuitive understanding of the system’s behavior. Notes in the diagram You can add notes to the diagram. Alternate Flow Sequence Diagram The alt grou p is used when a choice needs to be made between two or more message sequences. A UML Sequence diagram shows how messages go back and forth between objects over time. 925 lines (816 sloc) 29.2 KB Raw Blame. For example in the sequence diagram, an arrow indicates an interaction from A to B while in a component diagram, an arrow will indicate a dependency on a service, in the case of A pointing to B, a dependency from A on service B. calculated by Graphviz. SEQUENCE. On top of those diagram, PlantUML also provides more interesting diagrams like the Timing diagram, Object diagrams and Use case diagram which I encourage you to look at as well! ), < creates a filled (solid) arrow head pointing to the left (This is a synchronous message. ACTIVITY. Writes comments after singl quotaion mark. entity is a stereotype (synonym) for participant that displays an entity image instead of the standard box. Lower equals Later). What we are seeing here is a sequence diagram, a 2D diagram with participants in horizontal axis and time in vertical axis. SEQUENCE. The sequence -> is used to draw a message between two participants. It’s not obvious how to find all of the options for skinparams (which set the style / look & feel for your diagrams) PlantUML is really helpful. ACTIVITY. Info: a note on syntax. This site has different variety of PlantUML examples with rendered images. This is cheat sheet of PlantUML to use frequently. Drawing UML with PlantUML Language Reference Guide (Version 8023) PlantUML is an Open Source project that allows to quickly write: • Sequence diagram, • Usecase diagram, • Class diagram, • Activity diagram, • Component diagram, • State diagram, • Object diagram. Sequence diagram showing interaction between Alice and Bob: Be sure to also read about the keywords and options that can be applied to all diagrams: Diagrams are useful as they are cheap, quick scribble on paper and we are done but everyone know that drawing is not an easy task and therefore even drawing diagrams is hard. critical is the frame name in the pentagon in the upper left hand corner. o puts a final “o” at arrow head, denoting a lost message. PlantUML: UML diagrams can be generated using simple and intuitive language used by PlantUML. sequence diagram 4661232711761920 audio_rxtx Interaction Diagram Broadcast proc proc sender_broadcast sender_broadcast receiver_incompat receiver_incompat 1 configure & start 2 start listening for audio 3 configure & start 4 start sending audio (skip /offer) loop 5 /audio 6 check compatibility 7 start/continue playout 8 terminate 9 stop playout 10 /pause 11 ignore pause 12 shutdown You can create a bidirectional arrow by putting arrow heads at both ends of a line. Delay is expressed with ... [message] ..., spacing is added with ||| and a divider can be added with == [message] ==. Drill-Down Sequence Diagrams with Picto¶. Hi, Please how to implement a … @startuml hide footbox actor User User -> LCL_PRICE : Process( ) LCL_PRICE -> LCL_INFREC : Transfer( ) LCL_INFREC -> LCL_BDC : PRICE_UPDATE( ) box … PlantUML支持的图形有: sequence diagram, use case diagram, class diagram, activity diagram (here is the new syntax), component diagram, state diagram, object diagram, wireframe graphical interface; PlantUML通过简单和直观的语言来定义图形,它可以生成PNG、SVG和二进制 图片。下面是一个简单的示例: You don’t have to use the participant keyword because PlantUML will automatically display a sender whenever it encounters one in the source. A fragment of a sequence that cannot be “interleaved” by other fragments (e.g. The alt grou p is used when a choice needs to be made between two or more message sequences. UML Sequence diagram generator; Tools and libraries used. text is displayed in square brackets ([]) at the top of the frame; it describes or labels this alternative. The Sequence Diagram models the collaboration of objects based on a time sequence. ReferenceFontName or only on sequence diagrams? DelayFontName Revision 5598551b. par, to showcase parallel execution of multiple fragment of the diagram. 4644489855500288. ), Ex: skinparam Sequence { ArrowThickness 4 }, Solid arrow heads represent synchronous messages. Q&A for Work. '!include ../../plantuml-styles/ae-copyright-footer.txt, Formatting Diagrams with Skinparams, HTML, and Creole, Using Skinparams to Format and Style Diagrams, ReferenceAlignment This will produce a sequence diagram composed of two participants, Alice and Bob. Here are the specific skinparam options: InteractionOperator alt is used to show one or more alternative sequences that can happen. Their focus is in modelling the dynamics of a system. PlantUML Pleasantness: Lay Out Elements With Hidden Lines In this post, we take a look at how to lay things out nicely using hidden lines in PlantUML. Thanks in advance! the alt alternatives can be met. (== an include and reference to ..? Similarly a while loop can be achieved with while: Parallel processing can be achieve with fork just like state diagram: Activity diagrams can become very complex with a lot of activities and involving a lot of control flows. This site has different variety of PlantUML examples with rendered images. Similarly, a different syntax is used for use case diagram, state diagram and activity diagram which we will see next. Participants are the message senders. Alice Alice Bob … All features samples I have provided have a corresponding one in the PlantUml tool sequence diagram creation page. PlantUML Sequence Diagram. Open (not filled in) arrow heads represent asynchronous messages. Apart from sequence diagrams, PlantUML also allows us to generate component diagrams. PlantUML: UML diagrams can be generated using simple and intuitive language used by PlantUML. 0 votes. This is one way you can control the order of the participant boxes across the top. Javaparser: Easy to understand and use, it gives Abstract Syntax Tree (AST) from java code. shows that a sequence breaks. opt fragment in diagram means that the diagram describes two possible interactions sequences - one with the interaction in the opt fragment and another without this interaction. Another important feature of sequence diagram is Interaction which groups a piece of the diagram with a particular meaning. I made a sample sequence diagramAtom with PlantUML. CLASS. Drawing UML with PlantUML Language Reference Guide (Version 5737) PlantUML is an Open Source project that allows to quickly write: • Sequence diagram, • Usecase diagram, • Class diagram, • Activity diagram, • Component diagram, • State diagram, • Object diagram. In the example above, create "Auth System" is used to show exactly when the wrappedRequest is created. Solid lines show messages sent. If the ? This is a sequence diagram that shows the representation of selection and loop. 4847780589731840. alt is the frame name in the pentagon in the upper left hand corner. When used from the PlantUML server directly, we need to use @startuml and @enduml.. 3.2. Be careful though because importing will copy the PlantUML in those files over any PlantUML you already have in the PlantText editor. I added the while statement in the plantUML diagramme. Javaparser: Easy to understand and use, it gives Abstract Syntax Tree (AST) from java code. boundary is a stereotype (synonym) for participant that displays a boundary image instead of the standard box. option explicit!INC Local Scripts.EAConstants-VBScript!INC Common.Print-Array!INC Common.color-picker!INC EAScriptLib.VBScript-Logging 'LOGLEVEL=0 'ERROR: LOGLEVEL= 1 'INFO 'LOGLEVEL=2 … Father -> MYN : ん? 今なんでもするって、言ったよね? Real World PlantUML - Samples of PlantUML. Sequence diagrams have always struck me as one of the more useful, and practical design documents to use to describe how a system works. x puts an *X* at the end, denoting a destruction message. ), > creates a filled (solid) arrow head pointing to the right (This is a synchronous message. In the UML specification, else is the default sequence in a list of alternative sequences. Analytics cookies. sequence diagram Father <- MYN : すいません許してください!何でもしますから! There are 3 types of Interaction diagrams; Sequence diagrams, communication diagrams, and timing diagrams. PlantUML; Wanted features; Bugs; Questions; Hot! DelayFontStyle, DividerBackgroundColor DividerFontName Alice->Bob: Authentication Request alt successful case Bob->Alice: Authentication Accepted else some kind of failure Bob->Alice: Authentication Failure opt loop 1000 times Alice->Bob: DNS Attack end end else Another type of failure Bob->Alice: Please repeat end The activate and deactivate keywords are used to denote participant activation and deactivation on its lifeline. The UML 2.5 specification refers to this as an ExecutionSpecification: exactly what messages are called, and in what order, are specified in this particular section of the diagram. I just find that developers like to functionally break down their diagrams more.) Ex: <->. 1.4 Use non-letters in participants 1 SEQUENCE DIAGRAM You can rename a participant using the askeyword. An activity diagram might describe the process of data where repeated activities are often in play. The basic syntax for a line in a sequence diagram shows that one participant is sending a message to another participant: More formally: : . Any ->{label}; will annotate the arrow linking the activity before it and the next activity. This article presents a Windows .NET control for dynamic visualization of objects and their interactions as sequence diagrams. Sequence diagram syntax. These PlantUML diagrams are grouped by diagram type and follow a natural progression. An important characteristic of a sequence diagram is that time passes from top to bottom : the interaction starts near the top of the diagram and ends at the bottom (i.e. It shows how the objects interact with others in a particular scenario of a use case. STATE. opt is the frame name in the pentagon in the upper left hand corner. ArchiMate + PlantUML = Sequence Diagram Joy I’ve always had a love of sequence diagrams , for those that don’t know what a sequence diagram is, this may not be the blog for you! SEQUENCE. break is the frame name in the pentagon in the upper left hand corner. The control incorporates … ReferenceBackgroundColor DividerFontStyle, automatically number each arrow in the sequence, can format the numbering: “(##)”, accepts simple printf type formatting (## 0 etc), See section 17.6 in the UML 2.5 Specification. ReferenceFontStyle Helps to show that an object is actually created at that point in time. The following tags are supported by Orchid and PlantUML: @startuml/@enduml; @startsalt/@endsalt To do so, we can use the bracket notation, indicating the participants aren’t actors but components. is at the end, the arrow line is connected to the start (origin) and stops when the label for it stops. You can change the color of an arrow by putting the color within square brackets just before the ending arrow-head characters: Ex: -[#magenta]>> will create a magenta colored unfilled arrow with a solid line, Ex: --[#939393]> will create a gray colored filled arrow with a dashed line, autonumber [start | resume ] [increment] [format]. All of the same options as participant can be used. It models the “if-then-else” logic. To do that we can represent a repeat loop with repeat: ->no; annotates the arrow after the repeat loop. Diagrams are defined using a simple and intuitive language. This sequence diagram tutorial is to help you understand sequence diagrams better; to explain everything you need to know, from how to draw a sequence diagram to the common mistakes you should avoid when drawing one.. Lastly in order to format our sequence diagram, we can make use of spacing, dividers and expression of delay. ? keyword to specifically display the word “else” and use it per the UML Specification. It models the “if-then-else” logic. No comments yet. Sequence Diagrams. When doing sequence diagrams, developers love to reuse existing sequence diagrams in their diagram’s sequences. PlantUML Language Reference Guide (Version 8023) 1 of 120. A single dash indicates an horizontal arrow, double a vertical, and triple will try to make a longer connection when drawing. (PlantUML copyright 2019 Arnaud Roques). ReferenceFontColor Parsed java class can be easily processed to generate the UML diagram. To represent more interactions with more parties, we can add more arrows in the order we want to get them drawn, top to bottom. Plantuml language reference guide abap trace to plantuml sequence diagram code gallery scn wiki abap trace to plantuml sequence diagram code gallery scn wiki how to show if condition on a sequence diagram stack overflow. But using the keyword gives you the ability to set the following options: You can use a participant line anywhere in your source (at any time). Leave a Reply Cancel reply. else is the frame name in the pentagon in the upper left hand corner. COMPONENT. frame: box around part of diagram to indicate if or loop. PlantUML; Wanted features; Bugs; Questions; Hot! Instead, it will be formatted exacty as written. It's hard to read and I would like to add different colours to these boxes. is it possible to put "else block" behind endif witouth "else" in activity-diagram? CLASS. ReferenceHeaderBackgroundColor, DelayFontColor no else-case in activity diagram; No switch layout button with war v1.2017.13; Arrow originating from nowhere in nested ifs in new activity diagram; How can i use GOTO relations in new Activity Diagram? [*] is the initial/final state. PlantUML knows that the diagram is a state diagram if it finds an initial state. Recent Posts. It stops (does not perform) any of the remaining sequence does this instead. CLASS. There are 3 types of Interaction diagrams; Sequence diagrams, communication diagrams, and timing diagrams. break, to showcase a breaking clause within a loop. COMPONENT. So a graphviz solution to your problem would look like the following. Even though the notation of relationship is similar, there are difference in the syntax and it is important to realise that diagrams notations aren’t compatible, can’t be mixed, and should not be mixed. Whether it is to convey an idea to someone or to pindown an idea that I have in my head or simply to think about a solution for a problem. When used within GitLab, we use the Markdown syntax ```plantuml to begin our diagrams and ``` to end them. Changing fonts and colors is also possible. Hi, Please how to implement a break statement into a loop or if-condition using PlantUML for activity diagrams. parallel fragments, etc.). In my work I draw diagrams almost every day. ReferenceFontSize The else InteractionOperator is used to show the sequence that will be used if the none of conditions for asked Jul 12, 2016 in Closed question / help by anonymous. ACTIVITY. When used within GitLab, we use the Markdown syntax ```plantuml to begin our diagrams and ``` to end them. Sequence diagrams are a great way to describe the messages between different services. Note that you cannot add text after the frame name. UML sequence diagrams are used to show how objects interact in a given situation. For each key collaboration, diagrams are created that show how objects interact in various representative scenarios for that collaboration. COMPONENT. It is an interaction diagram. Other Diagram Types. Activation in sequence diagram denotes the length of a process within the lifeline of a participant. You can also change the background color of actor or participant. The addition of … A UML Sequence diagram shows how messages go back and forth between objects over time. DividerBorderColor Hi! An optional sequence. Although iteration markers and guards can help, they do have weaknesses. Post navigation. ), \\ creates the top half (only) of an unfilled arrow pointing to the right, // creates the bottom half (only) of an unfilled arrow pointing to the right, \\ creates the top half (only) of a filled arrow pointing to the right, / creates the bottom half (only) of a filled arrow pointing to the right. Code is easier to change when objects working have minimal knowledge about each other. Besides documenting an organization’s current affairs, a business-level sequence diagram ca… Activation in sequence diagram denotes the length of a process within the lifeline of a participant. We use analytics cookies to understand how you use our websites so we can make them better, e.g. With the advanced visual modeling capability, you can create complex sequence diagram in few clicks. DelayFontSize USE CASE. STATE . Login. Current syntax for activity diagram has several limitations and drawbacks (for example, it's difficult to maintain).. My diagram has got a lot of loop alt end else boxes. Designed, built and maintained by Kimserey Lam. For fun though, I’ve included an example of what else you can do with just sequence diagrams alone: 4. alt/else, to showcase alternative with else clauses. This video demonstrates how to generate sequence diagrams in a sample java application using AspectJ and PlantUML. Original drawing: database is asynonym for participant that displays a database image instead of the standard box. This is a sequence diagram that shows the representation of selection and loop. PlantUML allows us to create diagrams from text script. Sequence diagram; used to surround an entire sequence diagram, if you wish. asked Jan 26, 2017 in To be sorted by anonymous. You can write Java-like code and it generate diagram from it. Unanswered; Tags; Users; Ask a Question; Ask a Question. types…, [ << [(, )] [stereotype name] >>]. Once you are done with creating the file you can go … Sequence Diagrams. Drawing UML with PlantUML Language Reference Guide (Version 1.2018.2) PlantUML is an Open Source project that allows to quickly write: • Sequence diagram, • Usecase diagram, • Class diagram, • Activity diagram, • Component diagram, • State diagram, • Object diagram. Notes and Comments. You can optionally add text to describe the delay. Usage: else "" <... whatever goes within the box... > end. opt, to showcase options where the sequence is executed depending on the condition. All of the same options as participant can be used. Code works fine for both folder path or ZIP file with java files. And arrow departing from [*] would identify the initial state while and arrow pointing to [*] would identify the final state. Indicates a delay in the diagram. All of the same options as participant can be used. PlantUML knows that the diagram is a state diagram if it finds an initial state. Notes can be placed to the left or right of a participant, or placed over one or more participants. How can I do this? Drawing UML with PlantUML Language Reference Guide (Version 1.2018.2) PlantUML is an Open Source project that allows to quickly write: • Sequence diagram, • Usecase diagram, • Class diagram, • Activity diagram, • Component diagram, • State diagram, • Object diagram.