Components with Semantic Interfaces E. Kantorowitz Computer Science Dept. Technion A JAVA application may run on any platform for which a JVM exists. However, a Graphical User Interface (GUI) coded in JAVA for a large PC screen may not fit in the small screen of a cellular phone. It is therefore required to code a different version of the application for the phone that produces a GUI fitting its small screen. Having separate versions of an applications for different platforms involves high development and maintenance cost. An application developed with our WebSI framework is composed of two different components. The Application Logic (AL) component implements the business logic part of the application and contains no GUI code at all. The GUI code is in a component called Interaction Style ((IS). The same single AL component runs on all platforms without any change. In order to run on a PC it is combined with an IS that produces a PC GUI. To run on a phone, the same AL component is combined with an IS that produces a phone GUI. Combining an AL component with different IS components is immediate as all IS have same semantic interface. An AL may thus be reused on different platforms and a platform IS may be reused with different AL components. We report on the pros and cons observed in student projects. Possible future applications of components with semantic interfaces will be discussed.