1 / 26

Verslo taisyklių formalizavimas Object-Z

Verslo taisyklių formalizavimas Object-Z. autoriai dokt. Darius Diglys dokt. Mindaugas Zaleckis. Object-Z. “Object-Z yra Z išplėtimas , skirtas palengvinti specifikavimą objektiškai orientuotu stiliumi”. Graeme Smith. 2008 metų gegužės mėnesio 14 diena.

thyra
Télécharger la présentation

Verslo taisyklių formalizavimas Object-Z

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Verslo taisyklių formalizavimas Object-Z autoriai dokt. Darius Diglys dokt. Mindaugas Zaleckis

  2. Object-Z • “Object-Z yra Z išplėtimas, skirtas palengvinti specifikavimą objektiškai orientuotu stiliumi”. • Graeme Smith 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 2

  3. Object-Z klasių schema 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 3

  4. Eilės formalizavimas Z ir Object-Z 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 4

  5. Object-Z paveldėjimas (specializavimas, išplėtimas)‏ 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 5

  6. Object-Z pavyzdys Mygtukų perjunginėjimo žaidimas 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 6

  7. Formalizavimas Object-Z 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 7

  8. Formalizavimas Object-Z 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 8

  9. Verslo taisyklių samprata • Verslo taisyklės – tai apribojimai atliekant verslo veiksmus. • Verslo taisykles sutelktos į (verslo) protokolus, kuriuos įgyvendina agentai priklausomai nuo konteksto. • Agentas, verslo taisyklių formalizavime – programinis komponentas kuris: • Reaguoja į stimulus • Turi pakankamai žinių kaip pritaikyti verslo taisykles • Bendrauja su kitais agentais ir verslo objektais 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 9

  10. Verslo modelis • Verslo sistemą galima formaliai apibrėžti kaip trijų aibių rinkinį: • BM = (B,R,A)‏ • , kur B yra aibė verslo objektų, R – verslo taisyklių aibė, A – agentų aibė. • Kiekviena verslo taisyklė r – predikatas. • Tada verslo veiksmą galima apibrėžti kaip signalą: • S = (A,o,r)‏ • , kur A - agentas kuris gauna taisyklę r ir operacijos objektą o. 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 10

  11. Objektinių koncepcijų formalizavimas • Trys koncepcijos: • Verslo objektai • Verslo taisyklės • Agentai • Verslo modelį ( aibes ir taisyklių predikatus) galima formalizuoti naudojant klasikinę Z formalizavimo kalbą, tačiau tai patogiau padaryti formalizavimo kalba kuri palaiko objektines koncepcijas. 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 11

  12. BTOZ • Business Transaction Object-Z • Kalbos specifikacija išskaidyta į tris sluoksnius: • Veiksmų • Taisyklių • Agentų • Veiksmai, taisyklės ir agentai pateikiami kaip Object-Z klasės. • Taisyklės pateikiamos kaip specifikacijos schemos predikatai, kurios pritaikomos agentų veiksmų objektams. 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 12

  13. BTOZ pavyzdys – autoremonto įmonė • Įmonė veikia pagal tokias verslo taisykles: • Darbas vyksta tik darbo dienomis. • Automobiliai priimami tarp 7 valandos ryto ir 2 valandos dienos. • Automobiliai atiduodami tarp 3 ir 6 valandos po pietų. • Jei kaštai viršija $1000, vadybininkas turi patvirtinti remontą. • Būtina apmokėti atsiėmimo metu. • Mokėjimas atliekamas kredito kortele arba čekiu. • Pavėluoto atsiėmimo baudų sistema. 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 13

  14. Veiksmų sluoksnio specifikacijos (1)‏ 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 14

  15. Veiksmų sluoksnio specifikacijos (2)‏ 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 15

  16. Taisyklių sluoksnio specifikacijos 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 16

  17. Agentų sluoksnio specifikacijos 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 17

  18. Klasių diagramų formalizavimas KlasėsAtributaiOperacijosRyšiaiAgregacija ir kompozicijaAsociacijų klasėsGeneralizacija 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 18

  19. Klasių diagramų formalizavimas 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 19

  20. Klasės Account OCL apribojimai context Account inv: balance + overdraftLimit >= 0 context Account::withdraw(float amount): void pre: amount <= balance + overdraftLimit post: balance = balance@pre – amount context Account::deposit(float amount): void post: balance = balance@pre + amount context Account::fundsAvailable(): float fundsAvailable post: result = balance + overdraftLimit 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 20

  21. Klasės Account formalizavimas 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 21

  22. Objektų kolekcijų OCL apribojimų formalizavimas 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 22

  23. Objektų kolekcijų OCL apribojimų formalizavimas 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 23

  24. Klasės Person OCL apribojimai context Person inv: totalBalance = account->sum(balance)‏ context Person::addAccount(Account a): void pre: not(account->includes(a))‏ post: account = account@pre->including(a)‏ context Person::removeAccount(Account a): void pre: account->includes(a)‏ post: account = account@pre->excluding(a)‏ context Person inv: account->exists(a | a.balance >= 0)‏ --negalima vienu metu viršyti kreditą visose sąskaitose context Person inv: account->forAll(a | a.overdraftLimit <= maxLimit)‏ --kiekvienai žmogaus sąskaitai galioja maksimalus skolinimosi limitas 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 24

  25. Klasės Person formalizavimas 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 25

  26. Klausimai 2008 metų gegužės mėnesio 14 diena Verslo taisyklių formalizavimas Object-Z 26

More Related