3156-7 - COMS W3156: Software Engineering, Fall 2001...

Info iconThis preview shows pages 1–11. Sign up to view the full content.

View Full Document Right Arrow Icon
COMS W3156: Software Engineering, Fall 2001 Lecture #7: Objects II, Concurrency Janak J Parekh janak@cs.columbia.edu
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Administrativia Requirements updated Homework 1 out We’re still working on v0.6 of the requirements Noticing webboard posts ACM programming contest this weekend
Background image of page 2
Next class Continue object-oriented conceptual model Read Schach ch8: Reusability, Portability, and Interoperability Hopefully, we’ll have Rational Rose set up by then
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Today’s class Finish OOA/UML Talk concurrency Continue requirements discussion Explain the very long XML schema
Background image of page 4
State diagrams (I) Generalization of FSM’s Finite state machines represent a class of computation models Idea is that there are formalized states and transitions between them; start with an initial state and have accepting states Regular expressions common application
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
State diagrams (II) Here, states are much more ambiguous, as are transitions States are often “waiting” points or points of “long activity” Edges are “events” or “fulfilled conditions” Lends itself towards the event programming paradigm: “sit still until something happens”
Background image of page 6
Happenings at IdiotBank™ W ait for custom er W ait for customer request Deposit money W ithdraw money Call the cops Custom er goes away in handcuffs Go hom e /open teller window Customer walks in [Customer wants to deposit] [Custom er wants to withdraw] [Custom er pulls out a gun] [There is no custom er] Cops arrive [It’s after 5pm] /thank custom er /thank custom er /steady nerves Arrive home
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Concurrency Humans perform tasks in parallel Computers need to do so, too In reality, not with 1-CPU computers: “multitasking” simulates How do we do it? How do we deal with the problems?
Background image of page 8
First cut One of the modern operating system’s tasks is to support job or process control Allow multiple programs (“processes”) to run at the same time ps command on UNIX; CTRL-SHIFT-ESC on WinNT/2k/XP Protect one process from another Not always true: RTOS – to be discussed later
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
First-level solution: run multiple processes “start” in Win32 OS’s fork( ) Works surprisingly well – many tasks are discrete and can be run separately Problem How to share information between processes? Often overkill
Background image of page 10
Image of page 11
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 37

3156-7 - COMS W3156: Software Engineering, Fall 2001...

This preview shows document pages 1 - 11. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online