Team Suds Michelle Feng – Architect Mohamed ElTahan – System Integrator Ji Fang – Tools Guru McClain Braswell – Tester Joseph Kaptur – Project Manager
The Session Data Type
PARTY grandmother on PHONE is PARTY grandfather on PHONE is CONVERSATION con ADD grandmother TO con ADD grandfather TO con call_my_hubby.suds
Suds in a nutshell Three sections in Suds program –Initialization Commands are executed one by one –In-call function Define what program should do when user type specific words in command line –Event handler The function is activated when an associated condition becomes true
Suds programs have a flexible structure Basic Sections Actual Suds File Event Handlers In-Call Functions Initialization
Suds in a nutshell Suds programs compile to Java Every Suds program has two phases to its execution –Execute command in Initialization one by one –Catch events or words to activate relative functions
Mom, my friend Joe would like to join our family teleconference when you and dad are cooking. You cannot invite anyone to our family conference when Dad and I are not in the call. There is a professional telecommunication language, Suds. I can use it to set a family conference call for us. A problem that Suds can solve
PARTY mom ON PHONE IS GROUP parents OF PARTY mom, PARTY dad ON PHONE IS END GROUP PARTY son ON PHONE IS CONVERSATION convo ADD son TO convo First part of parental_control.suds Initialization
WHEN addalan DO: IF convo HAS ANY parents THEN PARTY alan ON PHONE IS ADD alan TO convo ELSE PRINT “Parents not on the phone” END IF END WHEN Second part of parental_control.suds In-Call Function
WHEN convo DOES DROP person DO: IF NOT convo HAS ANY parents THEN FOREACH person IN convo IF NOT person IS son THEN DROP person FROM convo END IF END FOREACH END IF END WHEN Third part of parental_control.suds Event Handler
What's under the hood? - Suds - Sudsc
call_my_hubby Vs phones_part
sudsc Why a parse tree? (The declare conflict) Scope and the multiple Symbol Tables Type checking (Declare Group, Convos) JFlex CUP
Demo Does anyone in the room have a cell phone?