Introduction to Software Technology
WebHome
-
Education page
-
Course schedule
-
Assignments
-
Solutions
Master Program
Center
Center
Home
Courses
People
Projects
Page
Edit Page
Rename Page
Attach File
Printable
Wiki Source
More ...
Web
Recent Changes
Notify Service
News
Page Index
Search
More ...
Wiki
About TWiki
Text Formatting
Registration
Change Password
Reset Password
Users
Groups
Log In
or
Register
Assignments
Ist
*To be handed in on October 28, 9:00 PM*, by email to doaitse@cs.uu.nl Start working from the file [[%ATTACHURL%/Infer.hs][Infer.hs]]: and perform the following tasks: 1Define a sufficiently rich <pre>StateMonad</pre> instance, and construct a working type inferencer. 1Change the definitions so you also count the number of unifications needed when inferencing the code. For inspiration you may read some papers by Phil Wadler about the use of Monads (e.g. in LNCS 925), or by grabbing a paper from his home page. 1 For those who have done IPT write a one page summary in which you compare this approach with the one using attribute grammars to solve the same problem. With respect to the workflow system perform the following (AnswersToSomeQuestions): 1 using the IO Monad in Haskell add code for the main loop of the program [[%ATTACHURL%/Workflow.hs][Workflow.hs]]:, which: 1 asks the user for his identity 1 shows which tasks can be performed since all ingredients are available 1 ask the user to type an identification of the taks he chooses to do 1 removes the needed items from the state of the system, and starts the loop again 1 define a set of attributes and predicates that corresponds to the problem described below, at the beginning of the course I got If you like this exercise you may extend it with the possibility to enter new items, and even a rule system for automatically generating more new items upon insertion of an item. I will write some more detailed documentation for this program in the weekend, which should make your life a bit easier. -- Main.DoaitseSwierstra - 17 Oct 2002 --- *To be handed in on October 14, 9:00 PM*, by email to jur@cs.uu.nl and if necessary the mail box of Main.JurriaanHage in CGN See the ProgramAnalysis page for the assignment. -- Main.JurriaanHage - 18 Oct 2002 --- *To be handed in on October 11, 9:00 PM*, by email to visser@cs.uu.nl See the ProgramTransformation page for the assignment. -- Main.EelcoVisser - 26 Sep 2002 --- *To be handed in on september 26, 9.00 pm*, preferably by email to johanj@cs.uu.nl There exist several kinds of polymorphism: parametric polymorphism, ad-hoc polymorphism, inheritance polymorphism, etc. Search the literature and the web, and describe at least these kinds of polymorphism. Illustrate the different concepts with examples. Discuss and compare how the different concepts are or can be implemented in functional and object-oriented programming languages. Your paper should be no longer than 4 pages. -- Main.JohanJeuring - 18 Sep 2002 --- *To be handed in on september 19, 9.00 pm*, preferably by email to wishnu@cs.uu.nl Do the Array Overflow (1.2.3) challenge (it is in IST_LN_main.pdf downloadable from the [[Program Verification]] page). Write a *4 pages paper* explaining your idea and how you think your solution can be (partially) automated. -- Main.WishnuPrasetya - 11 Sep 2002 --- *To be handed in on september 10, 9.00 pm*, preferably by email to doaitse@cs.uu.nl 1 a one page summary of the paper *Strategic Directions in programming language research* What is Software Technology * See the [[What is Software Technology]] page for the slides of the lecture and a pdf of the paper. 1 a 2-3 page design of a _domain specific language_ for a _workflow system_: * you may find information about such systems on the web or in the library (try searching the ACM digital library on a computer in the library) * browse through a few descriptions and try to locate common, important concepts like _task_, _actor_, _date due_ etc * think about properties and relationships between these concepts * give a context free grammar of a language that might serve as the input language for some hypothetical workflow system * as a case study you might think about the workflow in our department that is associated with an exam session, such as: 1 assigning and notifying proctors 1 making a room 1 reseving a room, enetering it on the web site 1 having the exam checked by someone else 1 having the exam session (who are e.g. the actors here) 1 distributing the exam for marking, and collecting and computing final results 1 communicating the preliminary results to the students and having them entered in Osiris 1 checking that the marks were entered correctly 1 signing the final exam form 1 communicating the definitive results to the students 1 ... etc * of course you are free to take some oher case study, for example one with many actors and a branching structure Important things to notice are: * this exercise is not about designing the perfect workflow system, but only serves * to give you a feeling of what is involved when modelling and formalising something you have probably experienced and * to look back at, when you have followed more of this course so you may then reflect on how you have changed over time -- Main.DoaitseSwierstra - 04 Sep 2002
Topic attachments
I
Attachment
Action
Size
Date
Who
Comment
hs
Infer.hs
manage
4.5 K
17 Oct 2002 - 20:03
DoaitseSwierstra
hs
Workflow.hs
manage
1.2 K
17 Oct 2002 - 20:14
DoaitseSwierstra