Câc kiïíu dûơ liïơu trong UML metamodel (Data Types)

Một phần của tài liệu Tài liệu Luận văn tốt nghiệp " NGHIÊN CỨU NGÔN NGỮ UML VÀ ỨNG DỤNG " docx (Trang 59)

Khâi quât

DataTypes ắnh nghơa câc kiïíu dûơ kiïơu duđng riïng trong UML metamodel nghơa lađ thuươc tđnh cuêa câc thađnh tưị trong UML metamodel cô câc kiïíu dûơ liïơu

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 45

2.45. Câc kiïíu dûơ liïơu trong Data Types

- ActionExpression : biïíu thûâc cho kïịt quă lađ sûơ thi hađnh mươt Action.

- AggregationKind : kiïíu liïơt kï bao gưìm câc giâ trõ none, aggregate,

composite. Câc giâ trõ nađy xâc ắnh loaơi Association.

- ArgListsExpression :biïíu thûâc tră vïì mươt danh sâch câc ăưịi tûúơng (object). - Boolean : kiïíu liïơt kï bao gưìm hai giâ trõ false vađ true.

- BooleanExpression : biïíu thûâc logic tră vïì kiïíu Boolean.

- CallConcurrencyKind : kiïíu liïơt kï bao gưìm câc giâ trõ sequential, guarded,

concurrent.

- ChangeableKind : kiïíu liïơt kï quy ắnh giâ trõ mươt AttributeLink hay mươt

LinkEnd cô thïí thay ăưíi bao gưìm câc none, frozen vađ addOnly.

- Enumeration : ắnh nghơa kiïíu liïơt kï.

- EnumerationLiteral : ắnh nghơa mươt giâ trõ thuươc mươt kiïíu liïơt kï. - Expression : biïíu thûâc tră vïì mươt kiïíu thuươc package DataType.

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 46

- Integer : kiïíu nguýn.

- Muliplicity : tíơp câc sưị nguýn khưng ím.

- MultiplicityRange : miïìn giâ trõ sưị nguýn khưng ím. - Name : ắnh danh cho mươt ModelElement.

- ObjectSetExpression : biïíu thûâc tră vïì danh sâch câc ăưịi tûúơng.

- OperationDirectionKind : kiïíu liïơt kï quy ắnh mươt Operation lađ ặúơc ýu cíìu

hay ặúơc cung cíịp búêi mươt Classifier bao gưìm câc giâ trõ provide vađ require. - ParameterDirectionKind : kiïíu liïơt kï bao gưìm câc giâ trõ in, inout, out vađ

return.

- Primitive : ắnh nghơa kiïíu dûơ liïơu ăún.

- ProcedureExpression : biïíu thûâc tră vïì mươt Procedure.

- ProgrammingLanguageType : kiïíu dûơ liïơu trong mươt ngưn ngûơ líơp trịnh.

- PseudostateKind : kiïíu liïơt kï bao gưìm câc giâ trõ initial, deepHistory,

shallowHistory, join, fork, branch, junction vađ final.

- ScopeKind : kiïíu liïơt kï bao gưìm câc giâ trõ classifier vađ instance. (adsbygoogle = window.adsbygoogle || []).push({});

- String : chuưỵi vùn băn.

- Structure : kiïíu dûơ liïơu cô cíịu truâc. - Time : kiïíu giúđ.

- TimeExpression : biïíu thûâc kiïíu Time.

- UnlimitedInteger : kiïíu nguýn khưng giúâi haơn. - Uninterpreted : kiïíu khưng xâc ắnh.

- VisibilityKind : kiïíu liïơt kï bao gưìm câc giâ trõ public, protected vađ private.

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 47

Graphs (mư hịnh hoaơt ăương). Hịnh 2-21 Câc thađnh tưịâ hađnh vi

CommonBehavior ắnh nghơa câc thađnh tưị hađnh vi cú băn. Collaboration ắnh nghơa câc thađnh tưị vađ cuâ phâp cho lûúơc ăưì

Collaboration vađ Sequence úê UML model. Collaboration mư tă tûúng tâc giûơa câc thađnh tưị ăïí thûơc hiïơn mươt tâc vuơ cuơ thïí.

Use Cases bao gưìm câc thađnh tưị mư hịnh hôa chûâc nùng hïơ thưịng cho tûđng loaơi ngûúđi sûê duơng. Use Cases giûơ vai trođ ắnh nghơa cho lûúơc ăưì Use Case úê UML model.

StateMachine bao gưìm câc khâi niïơm cho mư hịnh hôa quâ trịnh thay ăưíi traơng thâi cuêa mươt thađnh tưị. StateMachine ắnh nghơa lûúơc ăưì StateChart trong UML model.

Activity Graphs lađ daơng ăùơc biïơt cuêa StateMachine, ặúơc ắnh nghơa dûơa trïn StateMachine, mư tă quâ trịnh hoaơt ăương cuêa mươt hay nhiïìu thađnh tưị. Activity Graphs ắnh nghơa lûúơc ăưì Activity Graph trong UML model.

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 48

2.48. Package Common Behavior (gôi hađnh vi tưíng quât)

Common Behavior ắnh nghơa câc thađnh tưị cú băn cho mư hịnh hôa tûúng tâc. Common Behiavior ặúơc mư tă bùìng câc mư hịnh Signals(tđn hiïơu), Actions (tâc ăương), Instances and Links (thïí hiïơn vađ liïn kïịt).

2.48.1. Mư hịnh Signals (tđn hiïơu)

Mư hịnh nađy chuê ýịu ắnh nghơa thađnh tưị Signal (tđn hiïơu). Tđn hiïơu ặúơc taơo ra tûđ mươt hađnh vi (BehavioralFeature) cuêa classifier nađy vađ guêi ăïịn mươt thađnh tưị nhíơn tđn hiïơu (Reception) cuêa mươt classifier khâc. Tđn hiïơu ặúc taơo ra tíơp câc hađnh vi cuêa mươt Do thûđa kïị tûđ (BehavioralElement lađ thađnh hađnh vi cuêa mươt classifier) Reception cuơng lađ mươt thađnh hađnh vi cuêa classifier. ắnh nghơa hađnh vi xûê lyâ tđn cuêa mươt tđn hiïơu ặúơc gûêi ăïịn thađnh tưị xûê lyâ tđn hiïơu cuêa mươt

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 49

2.49. Reception (thađnh tưị nhíơn tđn hiïơu)

Reception lađ thađnh tưị nhíơn tđn hiïơu tûđ mươt classifier vađ giûơ chûâc nùng mư tă câc tâc ăương (bùìng chuưỵi vùn băn) cuêa tđn hiïơu ăïịn classifier nhíơn.

2.49.1. Signal (tđn hiïơu)

Signal lađ câc tâc tûúng tâc khưng ăưìng bươ giûơa câc classifier vađ lađ thađnh tưị ăươc líơp vúâi câc classifier. Signal ặúơc taơo ra do câc hađnh vi (BehvioralFeature) cuêa câc classifier nađy vađ gûêi ăïịn câc classifier khâc. Do BehavioralFeature lađ thađnh tưị hađnh vi trûđu tûúơng nïn tíịt că câc thađnh tưị hađnh vi thûđa kïị BehavioralFeature nhû câc phûúng thûâc (operation) ăïìu cô thïí taơo vađ gûêi câc signal.

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 50

ăùơc biïơt hôa cuêa mươt tâc ăương (Action) ActionSequence lađ mươt tâc ăương thûâc bao gưìm câc tâc ăương con theo trịnh tûơ xâc ắnh. Acti on bao gưìm mươt tíơp ăưịi sưị.

Hịnh 2-23 Mư hịnh ắnh nghơa hađnh ăương (Actiions)

Chûúng 2 (adsbygoogle = window.adsbygoogle || []).push({});

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 51

2.51. Argument (ăưịi sưị)

Argument lađ ăưịi sưị cho mươt Action, cung cíịp giâ trõ tham sưị cho mươt Action.

2.51.1. Action (tâc ăương)

Action lađ câc chĩ thõ thi hađnh trong mươt quy trịnh tđnh toân cô ănh hûúêng ăïịn traơng thâi cuêa hïơ thưịng. Action bao gưìm câc ăùơc biïơt hôa sau

- AssignmentAction : gân cho thuươc tđnh mươt giâ trõ múâi. - CallAction : kđch hoaơt mươt hađnh ăương.

- CreateAction : taơo thïí hiïơn cuêa mươt Classifier. - DestroyAction : huêy mươt ăưịi tûúơng

- ReturnAction : tră vïì giâ trõ cho ăưịi tûúơng goơi. - SendAction : gúêi tđn hiïơu (Signal ).

- TerminateAction : hađnh ăương tûơ huêy cuêa mươt ăưịi tûúơng. - UninterpretedAction : hađnh ăương khưng xâc ắnh.

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 52

2.52. ActionSequence (tâc ăương phûâc)

ActionSequence lađ mươt tâc ăương chûâa mươt tíơp câc Action con theo thûâ tûơ xâc ắnh.

2.52.1. Mư hịnh Instances and Links (thïí hiïơn vađ liïn kïịt)

Instance vađ Link ặúơc ắnh nghơa trong mư hịnh Instances and Links cuêa UML metamodel. Instance ắnh nghơa thïí hiïơn cuêa mươt classifier, câc thïí hiïơn nađy liïn kïịt vúâi nhau qua câc Link.

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 53

Liïn kïịt (Link) bao gưìm nhiïìu mưịi liïn kïịt (LinkEnd) Mưìi liïn kïịt (LinkEnd) lađ thïí hiïơn cuêa mưịi kïịt húơp (Association), ặúơc xâc ắnh búêi mưịi kïịt húơp. Instance lađ thïí hiïơn cuêa Classifier, ặúơc xâc ắnh búêi Classifier. Câc Instance tûúng tâc vúâi nhau qua câc tâc nhín (Stimulus). gùưn vúâi câc Link. Liïn kïịt (Link) lađ thïí hiïơn cuêa quan hïơ kïịt húơp (Association), ặúơc xâc ắnh búêi quan hïơ kïịt húơp. Câc Instance liïn hïơ vúâi nhau qua câc Link.

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 54

2.54. Stimulus (tâc nhín)

Stimulus lađ mươt giao tiïịp cuơ thïí giûơa hai instance qua mươt liïn kïịt (link) ặúơc gûêi ăi búêi sûơ thi hađnh mươt Action, cô thïí lađ mươt tđn hiïơu gûêi ăïịn instance hay viïơc kđch hoaơt mươt phûúng thûâc. Hay nôi câch khâc, câc thïí hiïơn tûúng tâc vúâi nhau qua stimulus.

2.54.2. AttributeLink (theê thuươc tđnh)

AttributeLink chûâa tíơp câc giâ trõ cuêa Attribute trong mươt instance do ăô thïí hiïơn traơng thâi cuêa instance.

2.54.2. LinkEnd (mưịi liïn kïịt)

LinkEnd lađ câc mưịi liïn kïịt cuêa mươt Link. Mưỵi LinkEnd tûúng ûâng vúâi mươt mưịi kïịt húơp (AssociationEnd) ăïí xâc ắnh LinkEnd. LinkEnd trong UML metamodel lađ thïí hiïơn cuêa AssociationEnd trong UML metamodel. Câc instance liïn kïịt vúâi nhau qua câc LinkEnd.

2.54.3. Link (liïn kïịt)

Link lađ liïn kïịt giûơa câc instance. Link tûúng ûâng vúâi mươt Association cô vai trođ xâc ắnh Link. Link trong UML metamodel lađ thïí hiïơn Association trong UML metamodel. Link chĩ cô vai trođ liïn kïịt câc instance vúâi nhau, câc tâc ăương giûơa câc instance thûơc hiïơn qua câc stimulus. Mươt Link cô thïí tûúng ûâng vúâi nhiïìu stimulus.

2.54.4. Instance (thïí hiïơn)

Instance lađ thïí hiïơn cuêa mươt Classifier. Instance lađ mươt thûơc thïí cô câc thưng tin vïì traơng thâi vađ chõu tâc ăương cuêa câc phûúng thûâc (Operation) ăïí thay ăưíi traơng thâi. Instance ặúơc xâc ắnh cíịu truâc vađ hađnh ăương qua Classifier cô quan hïơ kïịt húơp vúâi nô. Instance cô câc ăùơc biïơt hôa sau (adsbygoogle = window.adsbygoogle || []).push({});

- DataValue (giâ trõ dûơ liïơu): giâ trõ cuêa mươt thuươc tđnh lađ thïí hiïơn cuêa kiïíu dûơ liïơu cuêa thuươc tđnh ăô.

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 55

2.55. Package Collaborations (gôi cương tâc)

Collaborations ắnh nghơa thađnh tưị Collaboration vađ cuâ phâp cho mư hịnh hôa tûúng tâc giûơa câc thađnh tưị ăïí thi hađnh mươt tâc vuơ cuơ thïí. Mư hịnh cương tâc mư tă quan hïơ giûơa instance vađ link thưng qua câc thưng ăiïơp (message).

Thađnh tưị Collaboration ặúơc ắnh nghơa la øquâ trịnh trao ăưíi câc thưng ăiïơp (message) giûơa câc vai (role) cuêa câc thađnh tưị trong Collaboration. Mươt thađnh tưị classifier cô thïí tham gia vađo Collaboration thưng qua nhiïìu vai cuêa thađnh tưị ăô.

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 56

Classifier tham gia vađo Collaboration qua nhiïìu vai (ClassifierRole). Câc ClassifierRole trong Collaboration cô liïn hïơ vúâi nhau qua vai trođ câc mưịi liïn kïịt (AssociationRole) tûúng ûâng vúâi câc mưịi kïịt húơp cuêa Classifier. Câc ClassifierRo le trong Collaboration tûúng tâc vúâi nhau qua cú chïị trao ăưíi thưng ăiïơp (message). Mươt message xâc ắnh classifier gûêi vađ calssifier nhíơn. Mươt

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 57

2.57. AssociationEndRole (vai cuêa mưịi kïịt húơp)

AssociationEndRole lađ mưịi liïn kïịt cuêa mươt vai Association (AssociationRole) trong Collaboration. Mươt Association cô thïí tham gia nhiïìu vai vađo Collaboration nïn cuơng cô nhiïìu vai cuêa mưịi liïn kïịt tûúng ûâng.

2.57.1. AssociationRole (vai cuêa quan hïơ kïịt húơp)

Mươt Association cô thïí tham gia vađo Collaboration qua nhiïìu AssociationRole. AssociationRole lađ mươt vai cuêa Association trong Collaboration.

2.57.2. ClassifierRole (vai cuêa Classifier)

Mươt Collaboration bao gưìm câc ClassifierRole vađ câc liïn kïịt giûơa câc ClassifierRole nađy. Mươt Classifier cô thïí tham gia vađo Collaboration qua nhiïìu ClassifierRole.

2.57.3. Collaboration (cương tâc)

Collaboration mư tă quâ trịnh tûúng tâc giûơa câc thađnh tưị classifier (qua câc ClassifierRole cuêa nô) ăïí thûơc hiïơn mươt phûúng thûâc (operation). Câc classifier nađy trao ăưíi câc thưng ăiïơp vúâi nhau theo mươt thûâ tûơ xâc ắnh. Mưỵi thưng ăiïơp gíy ra mươt tâc ăương lïn thađnh tưị classifier nhíơn. Collaboration chđnh lađ mư tă cho cú chïị víơn hađnh cuêa mươt hïơ thưịng

Giao diïơn sûêa ăưíi thưng tin sinh viïn : Sinh viïn UI Xûê lyâ sûêa ăưíi thưng tin sinh viïn : Sinh viïn Control Dûơ liïơu sinh viïn : Sinh viïn Data

Xûê lyâ sûêa ăưíi thưng tin sinh viïn : Sinh viïn Control 1: sûêa ăưíi thưng tin sinh viïn

4: choơn sinh viïn vađ sûêa ăưíi 5: cíơp nhíơt thưng tin ăaơ sûêa ăưíi 2: hiïín thi câc sinh viïn

AssociationRole thưng ăiïơp vúâi classifier gûêi vađ nhíơn. Hịnh 2-26 Vđ duơ vïì mư hịnh cương tâc

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 58

2.58. Message (thưng ăiïơp)

Message lađ thưng ăiïơp giûơa câc ClassifierRole. Message ắnh nghơa vai trođ cuêa ClassifierRole gûêi vađ ClassifierRole nhíơn cuđng vúâi mươt tâc ăương (Action) lïn Classifier nhíơn thưng ăiïơp.

2.58.1. Package Use Cases (gôi Use Cases)

Use Cases ắnh nghơa câc thađnh tưị vađ cuâ phâp cho mư hịnh hôa chûâc nùng cuêa hïơ thưịng cung cíịp cho tûđng loaơi ngûúđi sûê duơng. Câc thađnh tưị trong Use Cases chuê ýịu ăïí mư tă câc hađnh vi trong hïơ thưịng trong khi víỵn chûa xâc ắnh cíịu truâc hïơ thưịng.

Use Cases ắnh nghơa hai thađnh tưị cú băn lađ Actor vađ UseCase. Actor lađ câc tâc nhín bïn ngoađi hïơ thưịng cô tûúng tâc vúâi hïơ thưịng (cô thïí lađ ngûúđi sûê duơng hay mươt hïơ thưịng khâc). Trong khi ăô, mưỵi UseCase mư tă mươt chûâc nùng cuêa hïơ thưịng vađ chûâc nùng nađy ặúơc kđch hoaơt khi cô tâc ăương cuêa Actor lïn UseCase. Association nưịi Actor vúâi câc UseCase cho biïịt câc chûâc nùng mađ hïơ thưịng cung cíịp cho Actor UseCase lađ mươt classifier chûâa mươt daơy câc hađnh vi ặúơc th ûơc hiïơn theo thûâ tûơ khi cô tâc ăương kđch hoaơt tûđ tâc nhín (actor). Hai loaơi quan hïơ giûơa hai UseCase. (adsbygoogle = window.adsbygoogle || []).push({});

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 59

2.59. Actor (tâc nhín)

Actor lađ tâc nhín tâc ăương lïn hïơ thưịng thưng qua câc Use Case cuêa hïơ thưịng. Mươt Actor cô thïí tûúng tâc vúâi nhiïìu Use Case khâc nhau. ExtensionPoint lađ võ trđ trong mươt UseCase cô thïí múê rương hađnh vi bùìng câch cheđn thïm câc hađnh vi cho Use Case ăô.

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 60

2.60. Extend (múê rương)

Extend ắnh nghơa quan hïơ giûơa câc Use Case vúâi yâ nghơa mươt Use Case nađy cô thïí ặúơc múê rương thïm câc hađnh vi trong Use Case khâc bùìng câch thïm vađo mư tă cuêa Use Case gưịc câc biïíu thûâc vađ ăiïìu kiïơn múê rương taơi nhûơng võ trđ xâc ắnh trong mươt daơy câc hađnh vi cuêa Use Case.

2.60.1. Include (bao gưìm)

Include ắnh nghơa quan hïơ giûơa câc Use Case vúâi yâ nghơa UseCase nađy sûê duơng câc hađnh vi ặúơc ắnh nghơa trong UseCase khâc.

2.60.2. UseCase

UseCase lađ câc chûâc nùng cuêa hïơ thưịng dûúâi gôc ăươ cuêa ngûúđi sûê duơng. UseCase khưng quan tím ăïịn cíịu truâc bïn trong cuêa hïơ thưịng. Mưỵi UseCase bao gưìm mươt daơy câc hađnh ăương nguýn tưị cô thûâ tûơ (khưng bõ ngùưt búêi câc hađnh ăương nađo khâc) mađ hïơ thưịng seơ thûơc hiïơn khi cô tûúng tâc cuêa Actor lïn

Phođng ăađo taơo

Ăùng nhíơp hïơ thưịng <<include> tâc nhín (actor) UseCase UseCase Quăn lyâ sinh viïn bao gưìm mươt daơy câc hađnh ăương mađ hïơ thưịng seơ thûơc hiïơn ăïí quăn lyâ sinh viïn.

Hịnh 2-28 Vđ duơ Use Case

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 61

2.61. Package State Machines (gôi mư hịnh traơng thâi)

State Machines cung cíịp câc thađnh tưị vađ cuâ phâp cho mư hịnh hôa hoaơt ăương vađ biïịn ăưíi traơng thâi cuêa mươt thađnh tưị trong chu kyđ sưịng dûúâi câc sûơ kiïơn tâc ăương lïn nô. Mươt mươt thađnh tưị (nhû câc Classifiers, Operation, Attribute...) cô thïí cô mươt quâ trịnh biïịn ăưíi traơng thâi. Quâ trịnh nađy ặúơc ắnh nghơa búêi thađnh tưị StateMachine.

Thađnh tưị StateMachine ặúơc ắnh nghơa trong gôi nađy bao gưìm thađnh tưị cú băn lađ State vađ Transition. State mư tă traơng thâi mươt thađnh tưị. Transition bao gưìm nhiïìu loaơi khâc nhau mư tă sûơ chuýín traơng thâi sang mươt traơng thâi múâi qua tâc ăương cuêa mươt sûơ kiïơn (event). State Machines bao gưìm hai mư hịnh lađ Main (chuê ýịu) vađ Events (sûơ kiïơn). Main mư tă traơng thâi (State) vađ chuýín traơng thâi (Transition). Events mư tă câc sûơ kiïơn tâc ăương lïn mươt thađnh tưị.

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 62

Thađnh tưị StateMachine bao gưìm traơng thâi (State) vađ chuýín traơng thâi (Transition). Traơng thâi phûâc (CompositeState) bao gưìm nhiïìu traơng thâi ăún (State). Transition lađ sûơ chuýín traơng thâi nađy sang traơng thâi khâc. Traơng thâi cô thïí chûâa câc tâc ăương (action) ặúơc thûơc hiïơn khi vađo traơng thâi, giûơ traơng thâi hay kïịt thuâc traơng thâi.

Hịịnh 2-29 Mư hịnh chđnh ắnh nghơa traơng thâi vađ sûơ chuýín traơng thâi

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 63

2.63. StateVertex (ăiïím traơng thâi)

StateVertex lađ ăiïím biïíu diïỵn trûơc quan mươt traơng thâi.

2.63. State (traơng thâi)

State mư tă traơng thâi cuêa thađnh tưị (classifier, operation, use case...) ngoađi ra cođn mư tă mươt sưị câc Action seơ ặúơc thi hađnh khi thađnh tưị bùưt ăíìu traơng thâi, nùưm giûơ traơng thâi vađ kïịt thuâc traơng thâi cuđng mươt sưị câc sûơ kiïơn (Event) ặúơc treo khưng cho tâc ăương lïn thađnh tưị. Veơ hịnh entry/ thiïịt líơp Device do/ Veơ trïn Device exit/ huêy boê Device. Mươt State cuđng vúâi câc hađnh ăương ặúơc thûơc hiïơn khi bùưt ăíìu, nùưm giûơ vađ kïịt thuâc traơng thâi. (adsbygoogle = window.adsbygoogle || []).push({});

Hịịnh 2-30 Vđ duơ traơng thâi (State)

State cô ăùơc biïơt hôa lađ FinalState. FinalState lađ traơng thâi kïịt thuâc.

- deepHistory : líịy laơi State ăaơ ặúơc giûơ trûúâc ăô úê bíịt cûâ State con nađo cuêa CompositeState chûâa deepHistory.

- shallowHistory : líịy laơi State ăaơ ặúơc giûơ trûúâc ăô úê cuđng mûâc vúâi shalowHistory trong CompositeState.

- join : nhôm câc Transition tûđ nhiïìu State khâc nhau.

- fork : tâch Transition thađnh nhiïìu Transition ăïịn câc State khâc nhau.

- junction : tâch mươt Transition thađnh câc Transition cô Guard ăïí phín nhânh theo ăiïìu kiïơn.

Traơng thâi mùơc ắnh CompositeState1 CompositeState2 C1 C2 H B1 CompositeState2 C1 C2 B1 Taơm dûđng

Mươt PseudoState loaơi shalowHistory trong CompositeState1 Nïịu sûơ kiïơn "Taơm dûđng" xăy ra líìn ăíìu vađ vađo luâc traơng thâi lađ B1, că C1 vađ C2 ăïìu chûa ặúơc kđch hoaơt thị H ăaơi diïơn cho traơng thâi mùơc ắnh lađ C2. Nïịu khưng H ăaơi diïơn cho C1 hóơc C2 tuyđ theo traơng thâi nađo ăaơ ặúơc kđch hoaơt gíìn nhíịt.

Taơm dûđng Tiïịp tuơc

Chûúng 2

NGÛƠ NGHƠA VAĐ CUÂ PHÂP CÂC THAĐNH TƯỊ TRONG UML (UML Semantic) 64

2.64. Transition (chuýín traơng thâi)

Transition ắnh nghơa quan hïơ chuýín ăưíi traơng thâi giûơa mươt StateVertex nguưìn vađ mươt StateVertex ăđch. Mươt Transition cô thïí gùưn vúâi câc chùưn (Guard). Guard lađ biïíu thûâc logic gùưn vúâi mưỵi Transition. Khi mươt sûơ kiïơn tâc ăương lïn

Một phần của tài liệu Tài liệu Luận văn tốt nghiệp " NGHIÊN CỨU NGÔN NGỮ UML VÀ ỨNG DỤNG " docx (Trang 59)