Large software systems offer to software designers complex problem to solve in an efficient and quick way. To manage such complexity several techniques have been developed to make this task easier and to allow the designer to reuse prior experience. However such techniques and frameworks often lack formal notations to support formal reasoning about the resulting products. We extend Larch family languages, by defining Larch interface language for Java modules and argue that such notation should help to design and implement software systems built of Java components. Keywords: Components, Java, Larch, formal design. 1 1 Background The design and the implementation of large software systems is an ever lasting challenge for software developers. Currently, the development of the World Wide Web and internet, and the diffusion of personal computers and local area networks complicates more and more the scenario in which software engineers have to develop new applications. From monolit..