Is it possible to create user defined QoS for application specific purposes? If so, how? AFAIK, there are user data qos, topic data qos and group data qos but i havent yet got how they effects application architecture.
Basically you already answered your own question. The user_data QoS policy that applies to basically all socalled built-in-topics (i.e. meta-data that gets published upon creation of related DDS entities and which can be subscribed to by applications) exists of a purely user-defined content (its 'just' an unbounded sequence-of-octets for the middleware.
So any application can use this opaque payload of the built-in topics to communicate information for application specific purposes yet that is related to the publisher/subscriber/topic or course since otherwise it would be 'normal' to create a dediated topic/type for these specific purposes.