1 / 27

Understanding System Specifications: Domains, States, Events in Formalisms

Explore domains, phenomena, and states in system specifications using basic formalisms like Boolean logic and finite state machines. Understand the context diagrams, relationships, and transitions between states for effective system specification.

johngrant
Download Presentation

Understanding System Specifications: Domains, States, Events in Formalisms

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. LECTURE 10: Specifying Systems - Intro Ivan Marsic Rutgers University

  2. Topics • Domains, Phenomena • States, Events • Context Diagrams • Systems and System Descriptions • Basic Formalisms for Specifications • Boolean Logic • Finite State Machines

  3. World, Parts, Phenomena

  4. Example of a Problem Domains

  5. Example of Problem Domains

  6. Example of Problem Domains (5) Device preferences (6) Photosensor (3) Key (7) Light (1) Tenant (4) List of valid keys (3) Lock (8) Alarm bell (11) Log of accesses Software-to-be (2) Landlord (10) Tenant accounts (9) Desktop computer

  7. Definitions … • A phenomenonis a fact, or object, or occurrence that appears or is perceived to exist • An event is an individual happening, occurring at a particular point in time • Events are indivisible and instantaneous • A state is a relation among individual entities and values, which can change over time • Individuals are in relation if they share a certain characteristic • RelationName(Individual1, …, Individualn)

  8. Events Events take place at transitions between the states

  9. Relations: Examples Relation: Neighbors(Person_i, Person_j) Relation: Sandwich(Bread-slice, Ham-slice, Bread-slice)

  10. Example: States of a DVD Player State 1: NotPowered (the player is not powered up) State 2: Powered (the player is powered up) State 3: Loaded (a disc is in the tray) State 4: Playing State 1: NotPoweredEmpty (the player is not powered up and contains no disc) State 2: NotPoweredLoaded (the player is not powered up and a disc is in the tray) State 3: PoweredEmpty (the player is powered up and contains no disc) State 4: PoweredLoaded (the player is powered up anda disc is in the tray) State 5: Playing

  11. Power button Disc tray … Play button Different Abstractions (Level of detail) DVD player DVD player Atomic object Object composed of parts

  12. Example: States of a DVD Player

  13. State Variables State variable = a physical part or an attribute of an object

  14. Hidden States Observable state: apple’s appearance Goal: Find the likelihood of different hidden states, for given observable states Hidden state: contains a worm

  15. Open Closed 1.00 1.01 1.02 1.00 1 1.00 1 2 2 1.01 1.01 3 1.02 1.02 3 States Example: Stock Market Market index Market gate Stock_1_Price Stock_2_Price Stock_1_Shares Stock_2_Shares ( prices & number of shares for all listed stocks )

  16. Defining States  • CountingDown(Timer) = The relation Equals(Timer, ) holds true for  decreasing with time • Idle(Timer) = The relation Equals(Timer, ) holds true for  remaining constant with time 

  17. Microstates and Macrostates Microstates representing the number of offered shares are aggregated: OrderPending OrderExecuted x  2 x 1 x x 1 x  2

  18. Events submit matched archive InPreparation Pending Executed Archived Events marking transitions between the states of a trading order: 18

  19. Context Diagram: DVD Player Play button Context diagram symbols: enable disable notify A box with a double stripe is a software-to-be domain (or, machine domain) start stop activate shut down activate shut down Disc tray Power button Display A box with a single stripe is a designed domain eject (?) eject load A box with no stripe is a given domain enable disable notify Eject button

  20. Investment portfolio Software-to-be (Machine) Context Diagram: Stock Trading Trading order Trader Stock exchange ith stock Bank

  21. Problem Decomposition

  22. Software-to-be (The Machine) Software-to-be (The Machine) Machine and Problem Domain a b (a) Problem Domain The Requirement Domain properties seen by the requirement (b) a b Problem Domain The Requirement Requirement Specification Domain properties seen by the software-to-be a: specification interface phenomena b: requirement interface phenomena

  23. Boolean Logic 23

  24. Example: From Req’t to Propositions 24

  25. Example: From Req’t to Propositions 25

  26. lock unlock unlock Closed Open lock Start v i i 0 1 2 M v v FSM State Transition Diagram v = (input-key  Valid-keys) i = (input-key  Valid-keys) M = maxNumOfAttempts

  27. lock unlock / beep unlock Closed Open lock / beep unlock [key  Valid-keys] / beep lock unlock Closed Open lock / beep FSMs with Outputs (a) (b)

More Related