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

Topic 1. Aspect-Oriented Programming (AOP)

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

Topic 2. Experiences with product line approach

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

Topic 3. Annotations in Java and their use in EJB3.0 and JBOSS AOP

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)

Topic 4. Software clones

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, S. and Li, S. “Eliminating Redundancies with a “Composition with Adaptation” Meta-programming Technique,” Proc. ESEC-FSE'03, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, ACM Press, September 2003, Helsinki, pp. 237-246

Topic 5. Problems with feature management in product lines

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

Topic 6. Pattern-driven development on .NET or JEE

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

Topic 7. Web technologies: Service-Oriented Architecture

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

Topic 8. Model-Driven Development (MDD)

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

Topic 9. Software Factories

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/

Topic 10. Variability management in product lines: BigLever approach

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

,” report

3.      Krueger, C. “Salion’s Experience,” PFE5, 2003

Topic 11. Software Configuration Management (SCM) support for reuse and product lines

No. of presentations: 1  

Assigned to:

This topic is suitable for students having a working knowledge of an SCM tool such as CVS. In the presentation, analyze how reuse is achieved with SCM tools and address some of the problems listed in PL Problems.

Reading for ALL students before the presentation: nil

Sources:

CM Tools review

Topic 12. Feature-Oriented Programming with AHEAD

No. of presentations: 1  

Assigned to:

Hints:

Reading for ALL students before the presentation: browse through Scaling Step-Wise Refinement

Sources: Don Batory: Scaling Step-Wise Refinement ; you should also refer to sources on mixin layer which is partially covered in the Batory’s paper. There are many other sources at : http://www.cs.utexas.edu/users/schwartz/Hello.html