Há vários anos que se fala de Engenharia Orientada por Modelos, ou Model-Driven Engineering, mas só recentemente é que começaram a surgir as utilidades práticas desta abordagem.

A Quidgest promoveu ontem, dia 12 de abril, mais uma edição das Talks on Model-Driven Engineering & Artificial Inteligence Approaches. A Engenharia Orientada por Modelos – ou Model-Driven Engineering (MDE) – , é uma abordagem de desenvolvimento onde os modelos assumem um papel central em todos os processos de engenharia.

Mas numa altura em que existem várias ferramentas, ou metodologias, para ­­desenvolvimento, quais são as mais-valias que esta abordagem traz? Foi a partir desta pergunta que Vasco Amaral, professor da Faculdade de Ciências e Tecnologias da Universidade Nova de Lisboa, e membro do grupo de investigação NOVA-LINCS, apresentou os vários pontos fortes da MDE.

Complexidade dos sistemas tem vindo a aumentar desde a década de 60

A complexidade de desenvolvimento de software tem vindo a aumentar desde a década de 1960, o que significa que o caminho a ser percorrido entre o problema e a solução tem vindo a aumentar. Igualmente, os métodos para chegar à solução precisam de ser feitos por equipas multidisciplinares – com especializações diferentes.

A acrescentar a esta complexidade, os profissionais da área têm cada vez mais ferramentas ao seu dispor. Contudo, enquanto outras indústrias, como a automóvel, já têm linhas de montagem automatizadas, a área do desenvolvimento de software ainda não chegou a esta fase.

A solução: Model-Driven Engineering

É para atacar todos estes problemas que surge a MDE. Esta nova abordagem promete mudar o atual paradigma de desenvolvimento de software. Aqui os modelos, que são tidos como abstrações de um sistema que permite fazer previsões e inferências, segundo o físico Thomas Kühne, assumem um papel central em todos os processos de engenharia – seja ela Química, Civil, Informática, etc.

De acordo com a apresentação de Vasco Amaral, os ganhos são claros:
– Aumentos significativos de produtividade (cinco a dez vez mais rápido do que os métodos comummente utilizados);
– Facilidade de manutenção;
– Interoperabilidade entre os vários departamentos que estejam a trabalhar no mesmo projeto;
– Reutilização de software que estiver em uso;
– Aumenta a qualidade tanto do produto final como dos processos.

No caso das Tecnologias de Informação, esta abordagem ganhou especial interesse na área de low code. A OutSystems é um exemplo de uma grande empresa a operar neste segmento.

Apesar desta abordagem estar disponível há vários anos, só atualmente as equipas começam a perceber as utilidades práticas da MDE.

Model Driven Engineering: hype_cycle

Atualmente, estamos na fase “slope of enlightenment”, ou seja, no declive de iluminação, segundo Vasco Amaral.

As ferramentas atualmente existentes não são suficientes?

De acordo com o professor Vasco Amaral, as abordagens habituais de desenvolvimento de software estão frequentemente sujeitas a erros e dificilmente conseguem cumprir os prazos de entrega estipulados. Em oposição, ao utilizar a MDE, os developers podem contar com uma forma de ter menos erros e de serem mais eficientes, tanto a nível de tempo, como de custos.

Saliente-se, ainda, que esta ferramenta fomenta o empoderamento dos especialistas dos domínios. Em vez de precisarem de alguém que execute a sua visão do produto final, o seu formato mais simplificado capacita os especialistas das mais diversas áreas a criarem as suas próprias aplicações.

Mas nem tudo são aspetos positivos no Model Driven Engineering

Dado que é uma abordagem relativamente recente – comparativamente com as suas “competidoras” incumbentes –, ainda existem alguns entraves à larga implementação da MDE.

Se por um lado há facilidade de manutenção destes modelos, por outro, nem sempre é fácil mantê-los. Este problema é exposto no artigo “Exploiting Model Driving Technology: a Tale of Two Startups”, de Tony Clark e Pierre-Alain Muller. Ao analisar o caso de duas start-ups, os dois investigadores chegaram à conclusão que não só é economicamente árduo produzir e manter estas ferramentas, como também existe uma dificuldade em explorar esta abordagem num modelo de negócio.

Além disso, são necessários múltiplos formalismos que eliminam a ambiguidade da equação. Por outro lado, como ainda não é amplamente utilizada, esta abordagem peca pela lacuna de profissionais que operam nesta área, o que se traduz em falta de apoio de fóruns especializados e bons exemplos de modelos de sucesso.

Do ponto de vista empresarial é necessário investimento para introduzir esta ferramenta nas operações, algo que também se poderá traduzir numa barreira ao modelo de negócio.

Comentários

Sobre o autor