Discovery and reuse of composition knowledge for assisted mashup development