Pesquisadores e profissionais da indústria reconhecem a importância do desenvolvimento de sistemas cientes de contexto, visto que tais sistemas cada vez mais fazem parte da vida cotidiana das pessoas. Para projetar, comunicar decisões de projeto e representar os aspectos estruturais e comportamentais destes sistemas, os desenvolvedores comumente utilizam a Linguagem de Modelagem Unificada (UML), a qual é amplamente reconhecida como linguagem padrão de modelagem de software. Porém, dada a crescente diversidade de técnicas de modelagem e a incapacidade da UML em representar os conceitos de sistemas cientes de contexto, é particularmente desafiante para os desenvolvedores objetivamente projetar e comunicar decisões de projetos de tais sistemas. Consequentemente, os desenvolvedores geralmente não dispõem de ferramentas que facilitem a representação de contexto de uma forma adequada, ao passo que propõem notações para contornar o problema, agravando ainda mais o problema da heterogeneidade das técnicas de modelagem atuais. O problema central é que a UML é imprecisa para representar o conceito de contexto e rígida para incorporar novos conceitos. Outro problema é que as ferramentas acadêmicas e comerciais de modelagem atuais - incluindo IBM RSA, Astah, Borland Together - não dão suporte à representação e à validação de modelos de contexto. Este trabalho, portanto, propõe uma extensão da UML para modelagem de contexto, a qual visa não só permitir a representação e validação dos principais aspectos de contexto, como também potencializar uma melhor comunicação de decisões de projeto de sistemas cientes de contexto. Também é proposto um ambiente de modelagem específico de domínio para tornar possível a modelagem de sistemas cientes de contexto, o qual foi implementado como um plug-in da plataforma Eclipse utilizando os frameworks GMF, EMF e UML2tool. Este ambiente permite não só representar o conceito de contexto seguindo a abordagem proposta, bem como avaliar a corretude dos modelos criados. A extensão e a ferramenta proposta foram avaliadas através de um questionário abordando a modelagem proposta comparada com modelagens que utilizam a UML pura. Essa avaliação permitiu determinar os reais benefícios do trabalho desenvolvido e onde os resultados sugerem que a modularização das informações de contexto em um novo conceito chamado de UML2Context traz benefícios, quando comparada com a decomposição de tais informações com a UML Pura. Os resultados apontaram que a UML2Context aumentou a taxa de respostas corretas em 28,41%, reduziu o esforço de interpretação em 61,03% e melhorou a interpretação dos modelos de contexto em 35,98%, se mostrando eficaz para modelagem de sistemas ubíquos.