Managing Software Development CSG 110 Spring 2005 Karl Lieberherr Due date: Feb. 3, 2005 Homework 3: Multi-Dimensional Separation of Concerns continued ============================================================== In this homework we practice schema design for biological pathway modeling. Life sciences and computer science are important allies and here is an opportunity to work in both areas. Read the relevant parts of the paper: http://www.cs.berkeley.edu/~bec/2003-pml/pml03-tr.pdf a copy of which is also in hw/3. A start of the class dictionary is in /pml: Main = String. PathwayModelingLanguage = List(DomDecl) List(GrpDecl) List(ComDecl). // Domains DomDecl = "domain" DomainId "=" DomExp. DomExp : DomainExpression | DomainId. DomainExpression = [Bridge] "dom" Seq(SiteId) DomDesc "init" "=" "[" Seq(RuleId) "]" "end". DomDesc = "domdesc". Bridge = "bridge". // Groups GrpDecl = "group" GroupId "=" GrpExp. GrpExp = "grpexp". //Compartments ComDecl = "compartment" CompartmentId "=" ComExp. ComExp = "comexp". SiteId = Ident. RuleId = Ident. DomainId = Ident. GroupId = Ident. CompartmentId = Ident. List(S) ~ {S}. // change: sequence must have one element Seq(S) ~ "(" S {"," S} ")". =========================================================================== Make this class dictionary complete so that it covers the entire language described in the paper. Turn in your class dictionary and the sentences that you used to test it. ================================== To learn about class dictionaries: ================================== Browse through the DemeterJ User's Guide available from the DemeterJ and AP-Studio Resources page http://www.ccs.neu.edu/research/demeter/DemeterJava/. Focus on class dictionaries and only a little bit on the adaptive programming language of DemeterJ. Read the two chapters: http://www.ccs.neu.edu/home/lieber/courses/csu670/f04/materials/to-be-distributed/list.html Two Chapters on Class Dictionaries in AP Book (chapters 11 and 12). The entire book is available from http://www.ccs.neu.edu/research/demeter/biblio/dem-book.html Finally work through the Laboratory Guide: (Lab Guide) Read and work through the Laboratory Guide using DemeterJ and hand in all files modified (electronically only).