Metamodelos FOSD


El desarrollo de software orientado a funciones (FOSD) es un paradigma general para la generación de software, donde un modelo de una línea de productos es una tupla de funciones 0-aria y 1-aria (transformaciones de programa). Esta página analiza un concepto más abstracto de modelos de líneas de productos de líneas de productos (PL ** 2) llamados metamodelos , y líneas de productos de líneas de productos de líneas de productos llamados meta-metamodelos (PL ** 3) y otros conceptos abstractos.

Un metamodelo es un modelo cuyas instancias son modelos. [1] Un modelo GenVoca de una línea de productos es una tupla cuyos componentes son características (funciones 0-aria o 1-aria). Una extensión (también conocida como delta o refinamiento) de un modelo es una "meta-característica", que es una tupla de deltas que puede modificar una línea de productos existente modificando características existentes y agregando nuevas características. Como ejemplo simple, considere el modelo M de GenVoca que contiene tres características ac:

Suponga que el metamodelo MM contiene tres metacaracterísticas AAA-CCC, cada una de las cuales es una tupla con una única característica sin identidad:

donde 0 es la característica nula. El modelo M se construye agregando las meta-características de MM, donde + es la operación de composición (ver FOSD ).