Podem recordar-se que há alguns dias atrás enviei um post sobre Domain Specific Languages (DSL) e Software Factories. Uma das apresentações mais interessantes que vi no PDC foi precisamente sobre a mais recente CTP das “DSL Tools” da Microsoft, disponibilizada para download durante o PDC (nota: esta versão, tal como de vários outros desenvolvimentos ainda não definitivos, só funciona com o VS2005 Beta2, não a testem com o VS2005 Release Candidate!). A apresentação foi feita por Jochen Seemann, que já tinha feito uma semelhante no TechED, e passou pelos vários passos de criação de uma DSL:
- Definir o modelo/semântica do domínio (entidades, relações, propriedades, etc.);
- Definir uma notação (shapes/decorators);
- Mapear a notação para o modelo do domínio.
Neste ponto as ferramentas não conseguem fazer tudo (ex: lidar com double-clicks numa forma num diagrama, adivinhar que código gerar :-), etc.), pelo que para determinadas tarefas é necessário recorrer-se ao SDK. A geração de código é feita à-lá-ASP, com um motor de transformações chamado “t4” (no GAT era t3).
De seguida veio a demo da praxe, em que vimos que o produto virá com templates para modelar vários diagramas UML (!…), e uma “DSL Mapping Tool“, para mapear entre vários pontos de vista de uma aplicação (vários diagramas em várias DSLs, com pontos de contacto).
Quanto ao futuro: o RTM deve ser no 1º trimestre de 2006, e uma versão 2 lá por altura do “Orcas”, a versão so Visual Studio a seguir ao 2005, sendo ainda provável que pelo meio saiam actualizações.
Recordo que o melhor sítio para encontrar informação sobre DSL e Software Factories é este.
PS- A sessão chamou-se “TLN311 – Visual Studio 2005 Team Edition for Software Architects and Future Directions in Modeling Tools“, e o PowerPoint ainda está disponível no site do PDC.