<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def validate(self, required_props):
 """ Check if the required application metadata properties have been populated. :param required_props: List of required properties :type required_props: list :return: True, if the metadata is valid :raises: InvalidApplicationMetadataError """

        missing_props = [p for p in required_props if not getattr(self, p)]
        if missing_props:
            missing_props_str = ', '.join(sorted(missing_props))
            raise InvalidApplicationMetadataError(properties=missing_props_str)
        return True