Being part of domain engineering, domain analysis enables identifying domains and capturing their ontologies in order to assist and guide system developers to design domain-specific applications. Domain analysis should consider commonalities and differences of systems in a domain, organize an understanding of the relationships between the various elements in that domain, and represent this understanding in a formal, yet easy to use, way. Several studies suggest using metamodeling techniques for modeling domains and their constraints. These metamodels are basically structural and present static constraints only. We propose an Application-based DOmain Modeling (ADOM) approach for domain analysis. This approach treats a domain as a regular application that needs to be modeled before systems of that domain are specified and designed. This way, the domain structure and behavior are modeled, enforcing static and dynamic constraints on the relevant application models. The ADOM approach consists of three-layers: the language layer handles modeling language ontologies and their constraints, the domain layer holds the building elements of domains and the relations among them, and the application layer consists of domain-specific systems. Furthermore, the ADOM approach defines dependency and enforcement relations between these layers. In this paper we focus on applying the ADOM approach to UML and especially to its class and sequence diagrams.