Mejoramiento de la consistencia entre la sintaxis textual y gráfica del lenguaje de Semat

Carlos Mario Zapata Jaramillo, Rafael Esteban Arango Sanchez, Leidy Diana Jiménez Pinzón
2014 POLIBITS Research Journal on Computer Science and Computer Engineering With Applications  
Resumen-Semat (Software Engineering Method and Theory) es una iniciativa que permite representar prácticas comunes de metodologías ya existentes mediante los elementos de su núcleo, los cuales se describen en términos de un lenguaje. Este lenguaje tiene una sintaxis gráfica y una textual. La sintaxis textual se describe mediante el metalenguaje EBNF (Extended Backus-Naur Form) que se utiliza como notación de gramáticas de libre contexto para describir un lenguaje formal. Sin embargo, la
more » ... embargo, la sintaxis textual de los elementos del núcleo en algunos casos presenta inconsistencia con la sintaxis gráfica. Por ello, en este artículo se propone la modificación del lenguaje textual mediante un análisis gramatical al lenguaje de Semat con el fin de lograr una relación consistente entre la sintaxis textual y gráfica de los elementos del núcleo de Semat. Palabras clave-Análisis gramatical, EBNF, Semat, sintaxis textual. Improving the consistency between textual and graphical syntax of the language of Semat Abstract-Semat (Software Engineering Method and Theory) is an initiative that allows representing common practices of existing methodologies by its core elements, which are described in terms of a language. This language has a graphical and a textual syntax. The textual syntax is described using meta-language EBNF (Extended Backus-Naur Form), which is used as context-free grammar notation to describe a formal language. However, the textual syntax of core elements in some cases is inconsistent with the graphical syntax. Therefore, in this paper we propose a modification of textual language by parsing the language of Semat in order to achieve a consistent relationship between textual and graphical syntax of the core elements of Semat. Keywords-Parsing, EBNF, Semat, textual syntax. GroupElement: Kernel | Practice | Library | PracticeAsset | Method; De acuerdo con la expresión anterior cualquier Kernel, Practice, Library, PracticeAsset o Method es un GroupElement. A partir del razonamiento de la primera definición, se presentan las siguientes especificaciones que completan el grupo "Root Elements": PatternElement: Alpha | AlphaAssociation | AlphaContainment |WorkProduct |WorkProductManifest | Activity | ActivitySpace | ActivityAssociation | Competency | Pattern; Algunos de estos elementos contienen categorías de elementos en su definición, por lo que la cantidad de elementos aumenta, así: PracticeElement: PatternElement | ExtensionElement | MergeResolution | UserDefinedType; Cualquier PatternElement, ExtensionElement, MergeResolution o UserDefinedType es un PracticeElement, por lo que la definición es equivalente a la siguiente: PracticeElement: Alpha | AlphaAssociation | AlphaContainment | WorkProduct |WorkProductManifest | Activity | ActivitySpace | ActivityAssociation | Competency| Pattern | ExtensionElement | MergeResolution | UserDefinedType; AnyElement: GroupElement | PracticeElement | State | Level | CheckListItem | CompetencyLevel | PatternAssociation | Tag | Resource; KernelElement: Alpha | AlphaAssociation | AlphaContainment | ActivitySpace | Competency | Kernel | ExtensionElement | MergeResolution | UserDefinedType; StateOrLevel: State | Level; AlphaOrWorkProduct: Alpha | WorkProduct; AbstractActivity: Activity | ActivitySpace; PracticeContent: PracticeElement | Practice | PracticeAsset; MethodContent: Practice | ExtensionElement | MergeResolution;
doi:10.17562/pb-49-10 fatcat:jaf3ot656fga5o4tetxfsgemkm