Plan-X

Project seminar: Software Technology for Distributed and Mobile Applications

Spring 2003

Messages

Date posted
Title
Body
2003/05/26 XSLT, XQUERY The slides from David's presentation on XSLT and XQUERY are available now in PDF and MS PowerPoint formats. See also Lectures. FH
2003/04/24 DTD, XML Schema The slides from today's presentation by Lars Bo on DTD and XML Schema are available now. See Lectures. FH
2003/03/31 Combinatory parsing, SAX The slides from last Thursday's presentation on parser combinators and a link to the SAX project are now available. See Lectures. FH
2003/03/21 XPath Explorer Hjemmesiden for XPath Explorer (XPE) er: http://www.purpletech.com/xpe/index.jsp. Den startes med "java -jar xpe.jar". Den er baseret på Jaxen implementationen af XPath: http://jaxen.sourceforge.net/. Hvis min præsentation skulle være blevet væk findes den på: http://www.ambus.dk/xpathtalk/. TSA
2003/03/21 Slides on XPATH available The slides from Thomas's presentation on XPATH yesterday are available now in PDF format. FH
2003/03/06 Slides on software design available The slides on software design from today's meeting are available now in PDF format and MS PowerPoint format. FH
2003/03/03 Wiki area I have begun a Wiki area on the DIKU Wiki pages on Plan-X here. Stop by and add your take on the project, ask questions, or whatever. To add anything to the pages you need to register first at the TWiki registration page. HN
2003/03/03 Slides on SCM available The slides on software configuration management from thursday's meeting are available now in PDF format. I have also composed a short list of commands for basic CVS usage here. HN
2003/02/20 Slides on testing available The slides on testing from today's meeting are available now in PDF format and MS PowerPoint format. FH
2003/02/14 Email addresses needed I need your email addresses! Could you please forward information (name and email address) if not already listed in the "people" section below? HN
2003/02/14 Lists updated I have updated the lists of people and lectures. Please check that I got the details concerning you correct, and send me mail if I didn't. Be particularly sure to check that I signed you up for the right presentation and with the right material (the specifications are changing all the time, and I may have referred to an old version). In general send me mail if you have comments, something isn't working and so forth. HN

Description

Title:
Project seminar: software technology for distributed and mobile applications
Teachers:
Fritz Henglein and Henning Niss
Course ID:
235
Time and place:
Lectures and discussions: Thursdays, 13:15-15:00, room N037
Format:
The seminar consists of weekly 2-hour meetings throughout the semester. Each meeting features 1-2 student presentations. Furthermore, we will take up discussions of topics that arise in ongoing software projects by the participants and are of broad(er) significance.
Credits:
3 ECTS points, pass/fail. Stuff about projects
Goals:
At the end of the seminar you should be able to:
  • apply fundamental software development techniques centered around the software construction phase (design, coding and testing) and evaluate their applicablity, role and effect in a software construction project;
  • understand problems inherent in distributed and mobile software systems, know techniques for solving them, and convert that knowledge to running software;
  • understand and implement select XML technologies, and critically evaluate them for suitability in software projects.
Content:
  1. We will address, on a hands-on basis, general problems that must be dealt with on any managed software development project:
    • software project management
    • software design
    • techniques and tools for software testing
    • software configuration management
  2. We will discuss technical problems that are central to the construction of distributed and mobile software systems from a software construction point of view:
    • distributed persistent storage
    • routing
    • mobile code
    • distributed memory management
  3. Since XML (eXtended Markup Language) plays a central role in open distributed and mobile systems as the eminent universal format for representing, storing and exchanging data on the internet, we shall systematically study a selection of XML technologies:
    • Basic XML concepts: XML, XML Namespaces, XPATH
    • XML application programmer interfaces and data models: SAX, DOM, DVM
    • XML document type specifications: DTD, XML Schema
    • XML document processing languages: XSLT, XQUERY
    • XML-based messaging and service description: SOAP, XML-RPC, WSDL, UDDI
    • Semantic Web
    NB: The above list is subject to change!
Target group:
The seminar is directed at students engaging in (in Spring 2003) or planning on (for Fall 2003) a Master's thesis project, a term project or a bachelor's project with a substantial software construction component. If you are looking for a bachelor's project, Master's level term project (2.delsprojekt) or Master's thesis project (speciale) to go with this seminar in Spring 2003, see http://www.plan-x.org for project ideas and proposals that are part of the Plan-X Project. The goal of Plan-X is to develop a software platform (middleware) and programming model for developing highly distributed and mobile applications based on value-oriented programming.
Course material:
Will be posted on the course home page.
Prerequisites::
Bachelor of Science students:
Must have finished the first 5 semesters of the computer science bachelor's curriculum at DIKU (full-time computer science; computer science with a minor; or other subject with computer science as a minor) or equivalent, and must be concurrently (Spring 2003) working on bachelor's project with a substantial software construction component (preferably related to distribution, mobility or XML, but this is not required). Prior knowledge of particular 'technologies', such as XML, is NOT required.
Master of Science students:
Bachelor's degree in computer science (full-time or with minor); or a bachelor's degree in another discipline with a completed minor in computer science; or introductions to programming and programming languages, algorithms and data structures, operating systems and networks, concurrency at the level of a bachelor program in computer science. Good knowledge of distribution and mobility is highly recommended, but not mandatory. Good knowledge of general programming language syntax and semantics, including types, is recommended, but not mandatory. Prior knowledge of particular 'technologies', such as XML, is NOT required.
Home page:
http://www.plan-x.org/.

People

Teachers

Teachers
Name Initials Office Telephone E-mail
Fritz Henglein FH N203 (DIKU) 35 32 14 63 henglein@diku.dk
Henning Niss HN 1.34 (IT-C) 38 16 89 55 hniss@it-c.dk

Students

Students
Name Initials E-mail Project
Andre Andersen AA demi Checkpointing
Jakob Uhd Jepsen JUJ fritz Checkpointing
Andre Bjarke Moskvitin Josephsen ABMJ andrei Copenhagen STL
David Nykjær Jørgensen DNJ davidn  
Henrik Skovby HS skovby ERP
Lars Bo Thulin LBT larsbo Copenhagen STL
Mads Pultz Hansen MPH mpultz Distributed GC
Renate Kristiansen RK renatek Web radio
Thomas Stilling Ambus TSA tsam XPATH/XQuery
Claus Jensen CJ surf  
Nicholas Clarke NC nclarke XSLT
Jens Rasmusssen JR/td> jens at fordimankan.dk XSLT
Eske Bentzen EB di020369 XML Storage tech.
Morten Guld MG di020357 XML Storage tech.

Lectures

The following is the plan of presentations for the semester.
Presentations
No. Date Teacher Contents Main literature Slides
1. Feb. 6 HN Introduction / Software engineering    
2. Feb. 13 HN Software project management [SPSG]  
3. Feb. 20 FH Testing [Myers] ([Kit, GJM]) [PowerPoint, PDF]
4. Feb. 27 HN Configuration management [Tic84, Gru86, Ber90, Ced2003] [PDF]
5. Mar. 6 FH Software design [GoF] ([UML]) [PowerPoint, PDF]
6. Mar. 13 ABMJ XML / XML Infoset / XML Namespaces [XML,InfoSet,Nam]  
7. Mar. 20 TSA XPath [XPath] [PDF]
8. Mar. 27 FH SAX / Parser combinators [SAX | Functional parsing] [PowerPoint, PDF]
9. Apr. 3 JUJ DOM / DVM   [PS, PDF]
10. Apr. 10 LBT DTD / XML Schema   [PDF]
  Apr. 17   (Easter holiday)    
11. Apr. 24 HS XSLT [XSLT]  
12. May 1 MPH XQuery [XQuery] ([XQuerySem, XQueryData])  
13. May 8 RK SOAP [SOAP1, SOAP2] ([SOAP0])  
14. May 15 AA WSDL [WSDL]  
15. May 22 All Evaluation    

Exercises

Exercises associated with a particular presentation will be posted shortly after the presentation. (Whoever is giving the presentation must send the exercises in plain text or HTML format to Henning Niss for subsequent posting here. Please do this before you hold your presentation or immediately after.)
No.
Description

Exam

Literature

TBA

[Myers]
Glenford J. Myers, The Art of Software Testing, John Wiley & Sons, 1979 (in Danish: Kunsten at teste edb-programmer, Borgen, 1984).
[Kit]
Edward Kit, Software Testing in the Real World, Addison-Wesley, 1995.
[GJM]
Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, Fundamentals of Software Engineering, Prentice-Hall, 1991.
[Ced2003]
Per Cederqvist et al, Version Management with CVS, 2003.
[GoF]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (The Gang of Four), Design Patterns: Elements of Reusable Object-Oriented Software, ISBN 0-201-63361-2, Addison-Wesley, 1994.
[UML]
Martin Fowler, Kendall Scott, UML Distilled: A Brief Guide to the Standard Object Modeling Language, 2/E, ISBN 0-201-65783-X, Addison-Wesley, 1999.
[XML]
Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler (eds), Extensible Markup Language (XML) 1.0 (Second Edition), W3C Recommendation, 6 October 2000.
[Nam]
Tim Bray, Dave Hollander, Andrew Layman (eds), Namespaces in XML, W3C Recommendation, 14 January 1999.
[InfoSet]
John Cowan, Richard Tobin (eds), XML Information Set, W3C Recommendation, 24 October, 2001.
[XPath]
James Clark and Steve DeRose(eds), XML Path Language (XPath) 1.0, W3C Recommendation, 16 November 1999.
[SAX]
David Megginson, SAX Project, SAX: Quickstart, http://www.saxproject.org.
[Hutton]
Graham Hutton, Higher-order functions for parsing, J. Functional Programming 2(3):323-343, 1992.
[XSLT]
James Clark (ed), XSL Transformations (XSLT) 1.0, W3C Recommendation, 16 November 1999.
[XQuery]
Scott Boag, Don Chamberlin, Mary F. Fernández, Daniela Florescu, Jonathan Robie, Jérôme Siméon (eds), XQuery 1.0: An XML Query Language, W3C Working Draft, 15 November 2002.
[XQuerySem]
Denise Draper, Peter Fankhauser, Mary Fernández, Ashok Malhotra, Kristoffer Rose, Michael Rys, Jérôme Siméon, Philip Wadler (eds), XQuery 1.0 and XPath 2.0 Formal Semantics, W3C Working Draft, 15 November 2002.
[XQueryData]
Mary Fernández, Ashok Malhotra,Jonathan Marsh, Marton Nagy, Norman Walsh (eds), XQuery 1.0 and XPath 2.0 Data Model, W3C Working Draft, 15 November 2002.
[SOAP0]
Nilo Mitra (ed), SOAP Version 1.2 Part 0: Primer, W3C Candidate Recommendation, 19 December 2002.
[SOAP1]
Martin Gudgin, Marc Hadley, Noah Mendelsohn, Jean-Jacques Moreau, Henrik Frystyk Nielsen (eds), SOAP Version 1.2 Part 1: Messaging Framework, W3C Candidate Recommendation, 19 December 2002.
[SOAP2]
Martin Gudgin, Marc Hadley, Noah Mendelsohn, Jean-Jacques Moreau, Henrik Frystyk Nielsen (eds), SOAP Version 1.2 Part 2: Adjuncts, W3C Candidate Recommendation, 19 December 2002.
[WSDL]
Roberto Chinnici, Martin Gudgin, Jean-Jacques Moreau, Sanjiva Weerawarana, Web Services Description Language (WSDL) Version 1.2, W3C Working Draft, 24 January 2003.

Last updated: Apr 2, 2003 (Fritz Henglein)