1 / 11

The COBOL DFA Tool: A Work in Progress

The COBOL DFA Tool: A Work in Progress. Ronald Finkbine, Ph.D. Indiana University Southeast New Albany, IN rfinkbine@ius.edu. Introduction. Software Complexity Programmer Understandability Maintainability Reduction by Tools Reduction by Technique. Deterministic Finite Automaton.

marcos
Download Presentation

The COBOL DFA Tool: A Work in Progress

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. The COBOL DFA Tool:A Work in Progress Ronald Finkbine, Ph.D.Indiana University SoutheastNew Albany, INrfinkbine@ius.edu ISECON 2003

  2. Introduction • Software Complexity • Programmer Understandability • Maintainability • Reduction by Tools • Reduction by Technique ISECON 2003

  3. Deterministic Finite Automaton • Finite State Machine • Abstract State Machine • Moore Machine • Mealy Machine • Set of states • Set of transitions • Single input ISECON 2003

  4. Elementary DFA • Accepts language a*b • Incomplete ISECON 2003

  5. Benefits of DFA • High-reliability • Is DFA a proof or show? • Mathematics is a modeling method • Proofs are social constructs • Diagrammatics ISECON 2003

  6. DFA File Sample • DFACONTROL • START A • ACCEPT B • OUTPUT-COBOL "DFA.COB" • INPUT-DATA "IN.TXT" • OUTPUT-DATA "OUT.TXT" • DFACODE • F-BEGIN • DISPLAY “IN F_BEGIN” • F-END • DISPLAY “IN F_END” • DFASTATE • A A "a" F-Begin • A B "b" F-End ISECON 2003

  7. Produced COBOL Sample • F-BEGIN. • DISPLAY ‘IN F-BEGIN’ • F-END. • DISPLAY ‘IN F-END’ • MAIN-PARAGRAPH. • MOVE ‘A’ TO CURRENT-STATE • MOVE ‘NO ‘ TO INPUT-EMPTY • READ INPUT-CHAR AT END MOVE ‘YES’ TO INPUT-EMPTY • PERFORM UNTIL INPUT-EMPTY = ‘YES’ • IF CURRENT-STATE = ‘A’ AND INPUT-CHAR = ‘a’ THEN • MOVE ‘A’ TO CURRENT-STATE • PERFORM F-BEGIN • ELSE IF CURRENT-STATE = ‘A’ AND INPUT-CHAR = ‘b’ THEN • MOVE ‘B’ TO CURRENT-STATE • PERFORM F-END • ELSE IF NOT ((INPUT-CHAR = ‘a’) OR (INPUT-CHAR = ‘b’)) THEN • MOVE ‘ERROR’ TO CURRENT-STATE • DISPLAY “BAD INPUT CHARACTER” • ELSE • MOVE ‘ERROR’ TO CURRENT-STATE • DISPLAY “UNSPECIFIED STATE/TRANSITION” • ENDIF • READ INPUT-CHAR AT END MOVE ‘YES’ TO INPUT-EMPTY • END-PERFORM • IF CURRENT-STATE = ‘B’ THEN • DISPLAY ‘ACCEPTED’ • ELSE • DISPLAY ‘REJECTED’ • ENDIF ISECON 2003

  8. Fox, Grain, Chicken Problem • A man is crossing a river on the way to market with a chicken, a bag of grain and a fox. If left unattended the fox will eat the chicken, and the chicken will eat the grain. The boat will only hold the man and one of these at a time. Your task is to work out a sequence of crossings that will affect a safe transfer of the man, the fox, the chicken and the grain safely across the river. ISECON 2003

  9. Fox, Chicken, Grain Solution ISECON 2003

  10. Text: CeFCGeC • Translating into English, the input string represents: • Man and chicken cross river • Man returns with empty boat • Man and fox cross river • Man returns with chicken • Man and grain cross river • Man returns with empty boat • Main and chicken cross river ISECON 2003

  11. Summary • COBOL tool to input/produce DFA • Vending machine assignment • Not controlled experiment • Intro to DFA Design methodology ISECON 2003

More Related