Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Component Technology Johannes Kepler University Linz, Austria Deepak Dhungana Institute for System Engineering.

Similar presentations


Presentation on theme: "1 Component Technology Johannes Kepler University Linz, Austria Deepak Dhungana Institute for System Engineering."— Presentation transcript:

1 1 Component Technology Johannes Kepler University Linz, Austria http://www.jku.at Deepak Dhungana dhungana@ase.jku.at Institute for System Engineering and Automation Thomas Wuerthinger wuerthinger@ssw.jku.at Institute for System Software

2 2 Goals ● Benefits of modular programming ● Practical experience (Eclipse and NetBeans) ● Overview of existing modular systems and techniques ● Project

3 3 Don't reinvent the wheel!

4 4 Learning Curve Result s Effort Reuse Reinve nt

5 5 Object Oriented Spaghetti Code ≈ O(n 2 ) dependen cies

6 6 Module System ≈ O(n) dependen cies

7 7 Tracking impacts

8 8 Information Hiding Public API Module B Implementation Module A

9 9 Limits are your friend! Restrict dependencies Small public API

10 10 Clean Structure Result s Effort Quick & Dirty Clean & Modul ar

11 11 Distributed Development Public API Implementation Module User Module Develope r seespublish es creates

12 12 Mechanisms in Java Access modifiers only at class level - Custom class loaders! JDK7: New module keyword

13 13 GOTO vs IF, WHILE, … = unrestricted OOP vs modular programming ?

14 14

15 15 NetBeans vs Eclipse

16 16 Application Architecture Eclipse/NetBeans Platform Swing / JDK Java VM IDE

17 17 Detailed Architecture Swing / JDK Java VM Application Platform IDE ● Standalone: Deployment including required platform / IDE modules ● Plugin: Deployment only with user-defined modules

18 18 Timeline 13.3.18.6.Octobe r Lecture s Project Presentation of Project Ideas Presentation of Results

19 19 Lecture ● OSGi ● Eclipse ● Netbeans ● Other component-oriented systems: Mozilla, Visual Studio, IntelliJ, Plux.NET ● API Design

20 20 Recommended Books ● Practical API Design: Confessions of a Java Framework Architect (Jaroslav Tulach) ● Contributing to Eclipse: Principles, Patterns, and Plug-Ins: Principles, Patterns and Plugins ● (Erich Gamma, Kent Beck) ● Rich Client Programming, Plugging into the NetbeansTM Platform (Tim Boudreau, Jaroslav Tulach, Geertjan Wielenga)

21 21 Project Eclipse or NetBeans Plugin Teams of 2+ Binary and documentation on website

22 22 Image Sources "Stone Wheel" - http://www.flickr.com/photos/bbalaji/2443820505/ "Spaghetti" - http://www.freedigitalphotos.net/ "Module System" - http://www.freedigitalphotos.net/ "Sensor box done!" - http://www.flickr.com/photos/amagill/2404453405/ "Solar Eclipse 1" - http://www.flickr.com/photos/aseph/3227962585/


Download ppt "1 Component Technology Johannes Kepler University Linz, Austria Deepak Dhungana Institute for System Engineering."

Similar presentations


Ads by Google