Topics for
presentations, CS6201 (2010)
Last changed: 07 December, 2009
Select one of the topics below. Let me know your choice by January 21 by e-mail as follows:
Team name
Topic
selected for presentation (topic number and title)
Team
members:
student matric number |
student name |
e-mail |
etc. |
|
|
When preparing presentations, you can look for yet other sources related to the topic, in addition to those provided below (e.g., check the references in papers below and/or search Web and/or Digital Library).
NUS Digital Library, Google Scholar , other databases that may be available to you, some of them listed in Wikipedia:
http://en.wikipedia.org/wiki/Wikipedia:How_to_write_a_great_article
No. of
presentations: 1
Assigned to:
Hints: AOP concepts, description of the joint point, advice, introduction and weaving mechanisms, simple examples; advanced example; industrial applications
Reading for ALL students before the presentation: AOP entry in Wikipedia http://en.wikipedia.org/wiki/Aspect-oriented_programming , and http://www.javaworld.com/javaworld/jw-01-2002/jw-0118-aspect.html
Sources: there are plenty of source on the Web and papers published in software engineering and reuse conferences/journals,
please check http://aosd.net/
Start with AOP description on Wikipedia
An introduction to AOP:
Part 1. Separate software concerns with aspect-oriented programming (January 2002)
Part 2. Learn AspectJ to better understand aspect-oriented programming (March 2002)
Part 3. Use AspectJ to modularize crosscutting concerns in real-world problems (April 2002)
Advanced sources:
Robert E. Filman, Tzilla Elrad, Siobhán Clarke, and Mehmet Aksit: Aspect-Oriented Software Development, Addison-Wesley, 2005, ISBN 0-321-21976-7.
(I have the above book and will lend to students if they wish to use it).
Constantinos A. Constantinides,
Tzilla Elrad and Mohamed E. Fayad “Extending
the object model to provide explicit support for crosscutting concerns,”
Software Practice and Experience, 2002
No. of
presentations: 1
Assigned to:
Reading for ALL students before the
presentation:
1. Deelstra, S. “Experiences in Software Product Families: Problems and Issues during Product Derivation,” SPLC3, 2004
2. P. Jensen “Experiences with Product Line Development of Multi-Discipline Analysis Software at Overwatch Textron Systems,” 11th International Software Product Line Conference, SPLC 2007, Sept. 2007, pp. 35 - 43
Sources:
1. Deelstra, S. “Experiences in Software Product Families: Problems and Issues during Product Derivation,” SPLC3, 2004
2. P. Jensen “Experiences with Product Line Development of Multi-Discipline Analysis Software at Overwatch Textron Systems,” 11th International Software Product Line Conference, SPLC 2007, Sept. 2007, pp. 35 – 43
No. of
presentations: 1
Assigned to:
Hints: Students who select this topic should familiar with EJB. Explain the mechanism of Java annotations and their purpose. Show how annotations achieve AOP in EJB3.0.
Reading for ALL students before the presentation: nil
Sources: http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html http://labs.jboss.com/jbossaop/
http://today.java.net/pub/a/today/2005/08/18/ejb3.html (requires familiarity with EJB architecture)
No. of
presentations: 1
Assigned to:
Hints: Software clones mean identical or similar program structures. There is much controversy and research regarding software clone phenomenon – reasons why clones occur, and their impact on maintainability. The issue of similarity is closely related to reuse.
Reading for ALL students before the presentation:
Sources: Kapser, C. and Godfrey, M.W. “’Cloning Considered Harmful' Considered Harmful,” Proc. 13th Working Conference on Reverse Engineering, 2006, pp. 19-28
Elmar Juergens, Florian Deissenboeck, Benjamin Hummel, Stefan Wagner “Do Code Clones Matter?” ICSE’09, Vancouver, May 2009, pp. 485-494
Jarzabek, S. and Li, S. ”Unifying clones with a generative programming
technique: a case study,” Journal of Software Maintenance and Evolution:
Research and Practice, John Wiley & Sons, Volume 18, Issue 4, July/August
2006, pp. 267-292, extended version of
ESEC-FSE’03 paper Jarzabek,
No. of
presentations: 1
Assigned to:
Hints:
Reading for ALL students before the presentation:
Sources: Kästner, C., Apel, S. and Batory, D., A Case Study Implementing Features Using AspectJ, Proc. Int. Software Product Line Conference, SPLC’07, Kyoto, Japan.
Kästner, C., Apel, S. and Kuhlemann, M. “Granularity in Software Product Lines,” Proc. Int. Conf. on Soft. Eng., ICSE’08, Leipzig, Germany, May 2008, pp. 311-320
Karhinen, A., Ran, A. and Tallgren, T. “Configuring designs for reuse,” Proc. Int. Conf. on Soft. Eng., ICSE’97, Boston, MA., 1997, pp. 701-710
No. of
presentations: 1
Assigned to:
Hint: This topic should be chosen by students already familiar with a given platform. You can briefly explain basic mechanisms of a platform of your choice, and then discuss specific issues you have experience or interest in.
Reading for ALL students before the presentation: nil
Sources:
1.
Schmidt, D. “Patterns, Frameworks, Middleware: their synergistic
relationship,” ICSE’2003
2.
Fowler, M., Patterns of Enterprise Application
Architecture, Addison-Wesley, 2003
3. link to J2EE patterns - http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html
4. link to .NET patterns - http://www.microsoft.com/downloads/details.aspx?FamilyId=3C81C38E-ABFC-484F-A076-CF99B3485754&displaylang=en
No. of
presentations: 1
Assigned to:
Hints: This topic should be chosen by students already familiar with a given platform.
For issues to be addressed:
*What kind of applications are suitable/not suitable for SOA approach?
*What kind of reuse is supported by SOA?
*Discuss/support/refute these claims made by SOA+WS proponents
-SOA is a paradigm shift
-SOA leads to less coding, simpler programs
-SOA leads to more flexible systems and loosely coupled components
-SOA leads to more maintainable code
Reading for ALL students before the presentation: nil
Sources:
http://java.sun.com/developer/technicalArticles/WebServices/soa2/index.html
Web Services Adoption in Singapore
(http://www.ida.gov.sg/idaweb/marketing/infopage.jsp?infopagecategory=&infopageid=I3617&versionid=1)
Many other sources on the Web
1. The Practical Guide to
Enterprise Architecture by James McGovern, Scott W. Ambler, Michael E. Stevens,
James Linn, Elias K. Jo, Vikas Sharan
- describes SOA and WS in the context of enterprise architecture
2. Web Services and Service-Oriented Architectures: The Savvy Manager's Guide by Douglas K. Barry
- describes SOA and WS from the managerial point of view
3. Web Services: A Technical Introduction by Harvey M. Deitel, Paul J. Deitel, B. DuWaldt, L. K. Trees
- a very comprehensive source of information on WS, and to a lesser extent SOA
Description: The idea of MDD is to develop and maintain software through models. MDA by OMG is an effort to achieve application portability via platform-independent models.
No. of presentations:
1
Assigned to:
Hints: You might choose to focus presentation on MDD approach in general, or on MDA. In latter case, you should have prior experience or knowledge of MDA.
Reading for ALL students before the presentation: D. Schmidt Model-Driven Engineering, IEEE Computer, Feb 2007
Sources: to be provided; select paper(s) from IEEE Computer, Feb 2007, special issue on MDD; http://www.omg.org/mda/ ; a book by Anneke Kleppe “MDA Explained: The Model Driven Architecture(TM): Practice and Promise (The Addison-Wesley Object Technology Series) , available in NUS library
Description: Software Factory http://www.softwarefactories.com/ is Microsoft initiative to apply MDD in Software Product Line context.
No. of
presentations: 1
Assigned to:
Hints: Suitable for student familiar with Visual Studio. Explain motivation and challenges of Software Factory. Describe capabilities of DSL Toolkit, its DSL (Domain-specific Language) definition capability and T4 for building generators. DSL Toolkit is part of Visual Studio.
Reading for ALL students before the presentation:
Sources: via http://www.softwarefactories.com/
No. of
presentations: 1
Assigned to:
Reading for ALL students before the presentation: nil
Sources: choose from:
1.
BigLever: http://www.biglever.com/
2. Krueger, C. “BigLever
: Software Mass Customization
3.
Krueger,
C. “Salion’s Experience,”
PFE5, 2003
Reading for ALL students before the presentation: nil
Reading for ALL students before the presentation: browse through Scaling Step-Wise Refinement