Revista EnfoqUTE
Tercera Edición
Julio – 2012
ISSN: 1390-6542
Copyright © 2012
Universidad Tecnológica Equinoccial
Facultad de Ciencias de Ingeniería
http://ingenieria.ute.edu.ec/enfoqueute/
Teléfono: +593-(2)-2990-800 ext.2232
Dirección: Av. Mariscal Sucre (Occidental) y Mariana de Jesús,
Quito-Ecuador.
Comité Editorial
Director Editorial
Jorge Viteri Moya
Coordinador Editorial
Diego Ordóñez Camacho
Comité Editorial
María José Andrade
Anita Argüello
Vladimir Bonilla
Juan Bravo
Analía Consellón
Manuel Coronel
Albert Ibarz
María Belén Jácome
Daniel Mideros
Carlota Moreno
Roger Peñaherrera
Galo Ramos
Neus Sanjuan
Gabriela Vernaza
Fabián Villavicencio
Prefacio
La presente edición, tercera ya de nuestra revista, contiene cuatro artículos relativos a las áreas
de las ingenierías de alimentos, industrial e informática y constituyen una muestra de las
investigaciones realizadas durante el último período académico por los profesionales
relacionados con la Facultad de Ciencias de la Ingeniería de la Universidad Tecnológica
Equinoccial.
Mediante esta entrega aspiramos cumplir nuestra misión de permanente apoyo a todo trabajo
que contribuya a la investigación y el avance científico para transitar en la primera línea de la
educación superior ecuatoriana, con un enfoque acorde a los requerimientos de los tiempos
modernos.
El Comité Editorial expresa su especial agradecimiento a los autores por sus destacados
esfuerzos en la preparación de sus artículos, así como a los revisores que los evaluaron y
permitieron asegurar la calidad de los trabajos enviados para esta edición.
Comité Editorial
Quito, Julio 2012
Contenido
Microfiltración tangencial ...................................................................................................................... 1
Resumen ......................................................................................................................................................................... 1
Abstract .......................................................................................................................................................................... 1
1. Introducción ............................................................................................................................................................... 1
2. La Tecnología .............................................................................................................................................................. 2
3. Aplicaciones ................................................................................................................................................................ 4
4. Conclusión .................................................................................................................................................................. 5
Bibliografía ..................................................................................................................................................................... 6
Estimación de la estabilidad de un sazonador a base de amaranto reventado y maní tostado, a partir del
índice de peróxidos ................................................................................................................................ 8
Resumen ......................................................................................................................................................................... 8
Abstract .......................................................................................................................................................................... 8
1. Introducción ............................................................................................................................................................... 9
2. Materiales y métodos ................................................................................................................................................. 9
3. Resultados y discusión .............................................................................................................................................. 10
4. Conclusiones y recomendaciones ............................................................................................................................ 13
Bibliografía ................................................................................................................................................................... 13
Teoría de restricciones para procesos de manufactura .......................................................................... 14
Resumen ..................................................................................................................................................................... 14
Abstract ........................................................................................................................................................................ 14
1. Introducción ............................................................................................................................................................. 15
2. Materiales y métodos ............................................................................................................................................... 20
3. Resultados y discusión .............................................................................................................................................. 20
4. Conclusiones y recomendaciones ............................................................................................................................ 26
Bibliografía ................................................................................................................................................................... 27
Traducción automatizada de programas entre lenguajes de operaciones ............................................... 29
Resumen ....................................................................................................................................................................... 29
Abstract ........................................................................................................................................................................ 29
1. Introducción ............................................................................................................................................................. 30
2. Mapeo de gramáticas ............................................................................................................................................... 31
3. Resolución de diferencias estructurales ................................................................................................................... 36
4. Discusión .................................................................................................................................................................. 39
5. Trabajos relacionados .............................................................................................................................................. 39
6. Conclusiones y trabajo a futuro ............................................................................................................................... 40
Bibliografía ................................................................................................................................................................... 40
1
Microfiltración tangencial Ing. Manuel Coronel1
Resumen El objetivo de este trabajo fue revisar los conceptos básicos y las aplicaciones de la tecnología
de microfiltración tangencial (MFT) en la industria alimentaria, particularmente en jugos de fruta
y derivados lácteos, entre otros. Se presenta, además, los tipos de membrana utilizadas en
esta operación unitaria de separación. Finalmente, se resaltan brevemente los trabajos
realizados en Ecuador con jugos de frutas locales y pretratamientos en leche de vaca.
Palabras clave: Micro filtración tangencial, membrana, separación.
Abstract The aim of this study was to review the basic concepts and applications of cross flow
microfiltration technology (MFT) in the food industry, particularly in fruit juices and dairy
products, among others. This review also presents the different types used in this unit
operation. Finally, it briefly highlights the work done in Ecuador with native fruit juices and cow
milk pretreatments.
Keywords: Cross flow microfiltration, membrane, separation.
1. Introducción Los procesos que usan membranas se originan inicialmente ante la necesidad de producir
tecnologías más económicas y eficientes que las formas tradicionales de separación. Ejemplo de
este desarrollo, lo representa la tecnología de osmosis inversa, a partir de la década del 60.
Posteriormente, en los años 70, se aplicó en otros sectores, entre ellos la industria alimentaria y
biotecnológica, gracias a los nuevos materiales para membranas y equipamientos, así como la
automatización de procesos (Saavedra & Romero, 1999)
La microfiltración, al igual que todo proceso de separación que usa membranas, permite
concentrar un líquido por retención de los componentes de mayor tamaño (retenido) respecto al
diámetro del poro membranario. El líquido que atraviesa la membrana, denominado permeado,
contiene los componentes o partículas de menor diámetro. Los diámetros de poro oscilan entre
0,1 y 10 micras, según el tipo de componente que se desee retener. El resto de métodos de
filtración, como la ultrafiltración, nanofiltración u ósmosis inversa, usan membranas con diámetros
de poro menor (Binetti, Bailo, & Reinheimer, 2004).
1 Universidad Tecnológica Equinoccial, Facultad de Ciencias de la Ingeniería, Quito – Ecuador ([email protected]).
ENFOQUTE 3: 1-7
Copyright © 2012 Universidad Tecnológica Equinoccial
ISSN: 1390‐6542
2
La separación de partículas o de objetos macroscópicos se obtiene por filtración frontal. Las
técnicas de filtración tangencial, que utilizan membranas artificiales, empiezan con la separación
de partículas microscópicas o de especies biológicas tales como las bacterias, en cuyo caso se
trata de microfiltración. Para especies o fragmentos de materias más pequeñas como los coloides,
las macromoléculas o los virus, se trata de la ultrafiltración. Si se acompaña adecuadamente de
un envasado aséptico, puede lograrse productos “esterilizados en frío”. Esto permite hablar de una
estabilidad microbiológica conseguida por mecanismos no térmicos (Cozzano, 2009). En cuanto a
las pequeñas moléculas de masa molecular inferior a 1000 se separan por una técnica llamada
nano filtración (Guizard, 1999).
2. La Tecnología La micro filtración tangencial es un proceso de separación sólido-líquido de componentes de un
fluido presurizado por medio de una membrana semipermeable (Vaillant, Pérez, & Viquez, 2004).
Por tanto, la filtración tangencial es una técnica que se diferencia de la convencional, porque el
flujo del material a filtrar, circula tangencialmente a la superficie membranaria. La tabla 1 indica
los diferentes tipos de proceso de separación por medio de membranas, donde el principio
impulsor o fuerza motriz de separación es la presión diferencial, el diámetro de poro que define la
el tipo de componentes a separar que, además, se ejemplifican.
Tabla 1. Procesos de membrana (Pandolfi, 2008).
Tipo de
proceso
Principio impulsor Diámetro de
poro
Ejemplos
Microfiltración Presión diferencial 10 – 0,1 µm Células microbianas, grandes coloides,
partículas pequeñas, etc.
Ultrafiltración Presión diferencial <0.1 µm – 5
nm
Proteínas, emulsiones, coloides
macromoleculares
Nanofiltración Presión diferencial Aprox. 1 nm Compuestos orgánicos y sales disueltas
Osmosis
inversa
Presión diferencial < 1 nm Pequeños compuestos orgánicos, sales
disueltas
Electrodiálisis Potencial eléctrico
diferencial
< 5nm Sales disueltas
Diálisis Concentración
diferencial
< 5nm Tratamientos clínicos de insuficiencia
renal.
A consecuencia de aplicar la presión (fuerza impulsora) los solutos próximos a la superficie se
concentran en este sector, originando una resistencia extra al flujo y, por ende, disminuyendo el
caudal (Ibañez, 2007). Los solutos retenidos por la membrana de microfiltración, que se
3
encuentran en diámetros entre 0,1 y 10 micras, están representados por coloides, células
microbianas y partículas pequeñas (Pandolfi, 2008). En la figura 1 se presenta una comparación
esquemática entre la filtración convencional, denominada perpendicular (en relación a la
orientación de la membrana) y la tangencial o paralela, porque la alimentación fluye paralela a la
membrana.
Figura 1. Filtración convencional o perpendicular (a) y tangencial o paralela (b) (Saavedra & Romero, 1999).
En relación a las membranas porosas, estas pueden clasificarse, además, acorde con los
materiales con los que han sido elaboradas: cerámicas, metálicas, vítreas, zeolíticas y de carbono.
Últimamente, las membranas cerámicas, compiten por la gran cantidad de aplicaciones debido a
su alta estabilidad, tanto térmica como química. Además, la facilidad de limpieza, permite un uso
prolongado en el tiempo. Las membranas cerámicas son las que han provocado el uso en el
mercado de las membranas inorgánicas en los últimos años. Esto se debe, especialmente, a sus
aplicaciones en entornos químicamente diversos, altas temperaturas, presiones y costos de
fabricación, que aunque son más altos que las poliméricas, resultan económicos para su uso
durante periodos comparativamente prolongados de tiempo. El desarrollo de membranas
cerámicas va orientado a satisfacer, los procesos de filtración de muchas industrias,
principalmente la industria alimentaria, tratamiento de aguas y líquidos provenientes de
fermentaciones y tratamientos de efluentes gaseosos, aunque es necesario mucho más esfuerzo
para un total aprovechamiento de sus posibilidades (Benito, Conesa, & Rodríquez, 2004).
La fuerza impulsora, para producir el efecto de separación, generalmente es la presión. La tabla 2
relaciona las presiones de trabajo para cada tipo de proceso de separación, la micro filtración
presenta el menor nivel y los más altos flujos, mientras que, al otro extremo se encuentra la
4
ósmosis inversa con valores que llegan a 100 bares de presión de trabajo, pero niveles de flujo
menores, en relación a los demás métodos de separación.
Tabla 2. Presiones de trabajo en procesos de filtración mediante membranas. (Saavedra & Romero, 1999)
El flujo de permeado tiende a decaer y es una de las principales dificultades en el proceso de
micro filtración. La formación de una capa o torta en la superficie de la membrana también
denominada colmatación, reduce la eficiencia del sistema. Esto se ha relacionado con el flujo
reducido de permeado, resultado de cambios en las variables de operación (Ortiz, Vélez, &
Franco, 2008).
La colmatación, también denominada fouling, se genera por el depósito de precipitados,
partículas, proteínas, sales, complejos macromoleculares, etc. Con los ciclos regulares de
limpieza se logra que la membrana recupere sus propiedades originales (Ibañez, 2007).
3. Aplicaciones La filtración por membrana se utiliza para purificar o concentrar disoluciones y suspensiones o
bien para fraccionar una mezcla de varios solutos y se puede utilizar como alternativa a la
floculación, las técnicas de purificación de sedimentos, la adsorción (filtros de arena y filtros de
carbón activado, intercambiadores iónicos), extracción o destilación (Sanchez, 2007).
Existe un sinnúmero de ejemplos que demuestran la aplicación de la tecnología membranaria en
la industria de alimentos.
- Procesamiento de leche entera micro filtrada. Esto permite eliminar más del 99% de
bacterias sin comprometer las propiedades físicas, químicas y sensoriales hasta 15 días a
6ºC. Más del 99% de las proteínas lácteas logran atravesar la membrana (Binetti, et al.,
2004).
- Agua para bebidas. Aquí básicamente se purifica el agua para usos múltiples (Prieto,
Carrillo, & Rodríguez, 2005).
5
- Clarificación de jugos naturales. Por ejemplo, jugos de mora, tomate de árbol, naranjilla,
entre otros (Vasco, 2008).
- Clarificación de vinos. Se ha logrado eliminar considerablemente microorganismos
contaminantes y levaduras propias de la fermentación original. Esta operación es usual en
países con tradición en la producción de vinos, especialmente tintos (Pandolfi, 2008).
En Ecuador, las investigaciones al respecto se han orientado en mayor medida en jugos de fruta y
suero lácteo, como se aprecia en la tabla 3. Los trabajos, en relación al componente retenido del
proceso de micro filtración, apuntan además al aprovechamiento de componentes bioactivos.
Tabla 3. Trabajos con microfiltración tangencial en Ecuador (< 10 años).
Artículo Aplicación Resultado
Frutas
Brito, Picho, Vera & Vaillant
(2010)
Granadilla Clarificación
León & Rosero (2009) Uvilla Clarificación
Laverde (2010) Arazá Clarificación
Yánez (2006) Piña Bebida gaseosa
Vasco (2008) Mora, tomate de árbol y
naranjilla
Proyecto de producción
industrial
Tupuna, Vera & Ruales(2011) Mortiño Clarificación
Lácteos
Camacho (2009) Suero lácteo Recuperación de
concentrado proteico
Arias & Espinel (2006) Leche para quesos Lacto suero concentrado y
rendimiento quesero
Miranda & Cuaspud (2011) Leche concentrada Manjar blanco
4. Conclusión La tecnología de microfiltración tangencial permite obtener productos de alta calidad,
especialmente organoléptica, microbiológica y funcional. Se ha transformado en una línea para
obtención de compuestos bioactivos y representa una alternativa interesante para procesar frutas
exóticas.
6
Bibliografía Arias, M., & Espinel, A. (2006). Evaluación de la microfiltración tangencial para fabricación de
queso y aprovechamiento de lactosuero. EPN, Quito. Benito, J., Conesa, A., & Rodríquez, M. (2004). Membranas cerámicas. Tipos, métodos de
obtención y caracterización. Boletín de la sociedad española del vidrio y cerámica (CSIC), 43(5),
Binetti, A., Bailo, N., & Reinheimer, J. (2004). Aplicaciones de la Microfiltración en la industria
láctea. Mundo Lácteo, 10-14. Retrieved from http://www.alimentariaonline.com/apadmin/img/upload/MLC002_microfiltracionWSF.pdf
Brito, B., Picho, L., Vera, E., & Vaillant, F. (2010). Estudio de las Condiciones Óptimas de
Operación para la Obtención de Jugo Clarificado de Granadilla (Passiflora Ligularis L.) a través de la Microfiltración Tangencial. revista Tecnológica ESPOL - RTE, 23(2), 49-55.
Camacho, M. (2009). Obtención de un concentrado proteico de suero de leche de vaca utilizando
tecnología de membranas. EPN, Quito. Cozzano, S. (2009). IMPACTO DEL PROCESO DE MICROFILTRACIÓN TANGENCIAL SOBRE
LOS COMPUESTOS ANTIOXIDANTES EN JUGOS DE FRUTAS. Santiago: Proyecto PAVUC - Universidad de Chile.
Guizard, C. (1999). Técnicas membranarias de filtración de líquidos. Micro-, Ultra-, Nanofiltración y
Ósmosis Inversa. Mérida. Ibañez, R. (2007). ESTUDIO DE LA ULTRAFILTRACIÓN DE PROTEÍNAS MODELO CON
MEMBRANAS CERÁMICAS. Universidad de Granada, Granada. Laverde, J. (2010). Estudio de las condiciones óptimas para la obtención de jugo clarificado de
Arazá (Eugenia stipitata), mediante proceso enzimático y membranario. EPN, Quito. León, G., & Rosero, E. (2009). OBTENCIÓN DE JUGO CLARIFICADO DE UVILLA (Physalis
peruviana. L.), UTILIZANDO DEGRADACIÓN ENZIMÁTICA Y MICROFILTRACIÓN TANGENCIAL. UTN, Ibar5ra.
Miranda, M., & Cuaspud, J. (2011). Elaboración de manjar blanco saborizado, utilizando leche
concentrada por microfiltración tangencial reconstituida con grasa vegetal y animal. UTN, Ibarra.
Ortiz, M., Vélez, C., & Franco, E. (2008). modelos matemáticos de colmatación de membranas en
microfiltración tangencial. Revista Ingeniería e Investigación, 28(1). Pandolfi, E. (2008). Aplicación de la tecnología de membranas en el proceso de vinificación.,
Universidad de Concepción, Santiago. Prieto, M., Carrillo, A., & Rodríguez, M. (2005). Ensayos preliminares de microfiltración directa
para potabilización de aguas superficiales en la Sabana de Bogotá. Revista de Ingeniería(22).
Saavedra, A., & Romero, J. (1999). ASPECTOS GENERALES SOBRE PROCESOS Y
TECNOLOGIAS DE MEMBRANAS (DOCUMENTO 1). Grupo de procesos de membranas, Sanchez, F. (2007). Estudio y diseño de una planta de producción de membranas cerámicas de
coste reducido. Universidad Barcelona.
7
Tupuna, S., Vera, E., & Ruales, J. (2011). OBTENCIÓN DE JUGOS CLARIFICADOS DE MORTIÑO (Vaccinium floribundum Kunth) MEDIANTE EL USO DE TECNOLOGÍA DE MEMBRANAS. DECAB - EPN.
Vaillant, F., Pérez, A., & Viquez, F. (2004). Microfiltración tangencial: una alternativa innovadora
para la transformación de frutas tropicales. La Alimentación Latinoamericana(252), 38-46. Vasco, A. (2008). Estudio de prefactibilidad para la instalación de una planta productora de jugos
clarificados y jugos clarificados concentrados de mora, tomate de árbol y naranjilla, utilizando la tecnología de membranas. EPN, Quito.
Yánez, R. (2006). Desarrollo de una bebida gaseosa utilizando jugo clarificado de piña (variedad
cayena champaca) por microfiltración tangenc. EPN, Quito.
8
Estimación de la estabilidad de un sazonador a base de amaranto
reventado y maní tostado, a partir del índice de peróxidos Ing. María Augusta Rosero1, Ing. Elena Villacrés. M.Sc.2, Dr. Juan Bravo, Ph.D.1
Resumen El objetivo del presente trabajo fue evaluar la estabilidad, durante el almacenamiento, de un
sazonador nutritivo elaborado con amaranto reventado y maní tostado, empleando el índice de
peróxidos como un indicador del deterioro del producto. Para lo cual se almacenó el sazonador,
empacado en fundas de polipropileno y aluminizadas, a condiciones ambientales (17°C,
50%HR) y aceleradas (35°C, 90%HR) durante 30 días; se analizó el índice de peróxidos cada 5
días. Se consideró que el índice de peróxidos, sigue una cinética de orden cero durante el
tiempo de almacenamiento. Considerando que las grasas y aceites comestibles, pueden
alcanzar un valor máximo de índice de peróxidos de 20 mEq/kg, se determinó que el
sazonador nutritivo empacado en funda de polipropileno, y almacenado a condiciones
ambientales (17°C y 50%HR) se mantuvo estable durante 81 días; mientras que el almacenado
a condiciones aceleradas (35°C, 90%HR) alcanzó los 68 días. Asimismo el sazonador
empaquetado en funda aluminizada, y almacenado a condiciones ambientales alcanzó un
tiempo de 101 días; y a condiciones aceleradas, 78 días.
Palabras clave Peróxidos, estabilidad, sazonador, amaranto, maní.
Abstract The aim of this study was to evaluate the stability during storage of a nutritious seasoning made
from popped amaranth and roasted peanuts, using peroxide index as an indicator of
deterioration. The seasoning was stored in polypropylene and aluminized bags at room
temperature (17 °C, 50% RH) or accelerated conditions (35 °C, 90% RH) during 30 days. The
peroxide index was analyzed every five days. It was considered that the peroxide index followed
a zero-order kinetic during the storage time. Assuming that oils and fats can reach a maximum
level of the peroxide of 20 mEq/kg, it was observed that the nutritional seasonings packaged in
the polypropylene bag stored at room temperature or accelerated conditions remained stable
for 81 days 68 days, respectively. In the same way, the samples packaged in the aluminized
bags and stored at room temperature remained stable for 101 days whereas the samples in the
accelerated conditions reached 78 days.
Keywords Peroxide, stability, seasoning, amaranth, peanuts.
1Universidad Tecnológica Equinoccial, Facultad de Ciencias de la Ingeniería, Quito - Ecuador ([email protected])
2 INIAP- Departamento de Nutrición y Calidad de Alimentos. +593 23007 134 ([email protected])
ENFOQUTE 3: 8-13
Copyright © 2012 Universidad Tecnológica Equinoccial
ISSN: 1390‐6542
9
1. Introducción De acuerdo a la norma ecuatoriana NTE INEN 2532:2010, los sazonadores, condimentos, adobos
o aliños son productos constituidos por una o más especias u oleorresinas de especias,
mezcladas con otras sustancias alimenticias, para mejorar y realzar el sabor, color y aroma de los
alimentos (INEN, 2010).
Las especias como hojas, semillas, bulbos, flores y frutos se someten a procesos de secado y
molienda para ser conservados en polvo. La vida útil de las especias molidas aumenta en
ausencia de aire, a una humedad relativa del 60% como máximo y a una temperatura de 20 °C, ya
que bajo condiciones extremas pierden rápidamente su aroma (Astiasarán & Martínez, 2003).
Según Velásquez (2006), los alimentos con un alto contenido de grasa al interactuar con el
oxígeno del ambiente, sufren una alteración denominada rancidez, la misma que causa olores,
sabores desagradables y toxicidad si se consume en grandes cantidades.
El Departamento de Nutrición y Calidad, en la Estación Experimental Santa Catalina (INIAP),
ejecutó un proyecto destinado a rescatar e incentivar el consumo de amaranto en el Ecuador, y
uno de las alternativas fue desarrollar un sazonador a base de amaranto reventado y maní
tostado, por lo que en este trabajo se evaluó la estabilidad en el almacenamiento del sazonador,
empacado en dos empaques diferentes y a dos condiciones de almacenamiento, analizando el
índice de peróxidos.
2. Materiales y métodos Se utilizó amaranto de la variedad INIAP-Alegría y maní de la marca Mascorona. El amaranto fue
proporcionado por el Instituto Nacional de Investigaciones Agropecuarias (INIAP); y, el maní, la
cebolla, el ajo, el ají, el pimentón, el cilantro, el orégano, el comino, y la sal fueron adquiridos en el
mercado local.
El sazonador fue elaborado con un 44% de amaranto reventado, 44 % de maní tostado y 12 % de
especias, todos los ingredientes se mezclaron manualmente (Rosero, 2012).
Para la determinación del índice de peróxidos del sazonador, se siguió el procedimiento descrito
por Madrid, et al. (1997).
Para evaluar la estabilidad durante el almacenamiento, se asumió que la cinética del deterioro de
la grasa (rancidez) en el sazonador, se ajustaba a una reacción de orden cero, (Casp y Abril,
2003), por lo que se utilizó la ecuación 1.
(1)
Donde:
y= Límite crítico para el índice de peróxidos (20 meq/kg) x= Tiempo en el que el alimento alcanza el límite crítico m= Pendiente de la recta b= Ordenada al origen (punto donde la recta corta el eje y)
10
3. Resultados y discusión Aplicada la metodología descrita para la elaboración del sazonador y el correspondiente
almacenamiento, se obtuvieron los siguientes resultados. La evaluación de los índices de
peróxidos del sazonador, almacenado a las dos condiciones se presenta en la Tabla 1.
Tabla 1. Índice de peróxidos (meq/kg) del sazonador, empacado en dos materiales y durante el
almacenamiento a condiciones aceleradas y ambientales
Condiciones Aceleradas
(35°C y 90%HR) Condiciones Ambientales
(17°C y 50%HR)
Día Polipropileno Aluminizada Polipropileno Aluminizada
0 9.601 ± 0.378 9.601 ± 0.378 9.601 ± 0.378 9.601 ± 0.378
5 10.925 ± 0.335 10.808 ± 0.337 10.274 ± 0.931 10.518 ± 0.771
15 12.250 ± 0.124 12.091 ± 0.406 11.456 ± 0.574 11.391 ± 0.081
20 12.660 ± 0.285 12.503 ± 0.291 11.805 ± 0.505 11.823 ± 0.137
25 13.147 ± 0.519 12.737 ± 1.210 12.682 ± 0.372 11.971 ± 1.617
30 14.636 ± 0.112 13.883 ± 0.088 13.695 ± 0.699 13.032 ± 0.045
La Figura 1 representa la variación del índice de peróxidos del sazonador empacado en funda de
polipropileno en condiciones ambientales (17°C y 50%HR), y la Figura 2 la del producto
empacado en funda aluminizada en las mismas condiciones por un período de 30 días. Aplicando
la ecuación 1 a los datos obtenidos, se obtuvo un coeficiente de correlación superior al 96% y los
siguientes tiempos de almacenamiento hasta alcanzar el límite permitido de índice de peróxidos:
Para el sazonador nutritivo empacado en funda de polipropileno y en condiciones ambientales
(17°C y 50%HR), alcanzó un tiempo de estabilidad de 81 días. En cambio, en el empacado en
funda aluminizada, se observa que el índice de peróxido aumenta proporcionalmente con el
tiempo, alcanzado el límite crítico (20 meq/kg) a los 101 días de almacenamiento, a partir de los
cuales no se garantiza su seguridad para el consumo. Este período de tiempo es superior por 20
días, con respecto al tiempo de almacenamiento en el empaque de polipropileno, y un incremento
del índice de peróxidos del 36 %, con respecto al producto recién procesado.
11
Figura 1. Variación del índice de peróxidos del sazonador, empacado en funda de polipropileno y
almacenado en condiciones ambientales (17°C y 50% HR)
Figura 2. Variación del índice de peróxidos del sazonador, empacado en funda aluminizada y almacenado
en condiciones ambientales (17°C y 50% HR)
12
Para el sazonador empacado en funda de polipropileno en condiciones aceleradas (35 °C y
90%HR), los valores obtenidos del índice de peróxidos se presenta en la Figura 3, el coeficiente
de correlación de la ecuación 1 es del 97%, con lo que el valor crítico de peróxidos se alcanza a
los 68 días. En cambio en la Figura 4 se aprecia el comportamiento del producto envasado en
funda aluminizada, alcanzó en un tiempo de 78 días.
Figura 3. Variación del índice de peróxidos del sazonador, empacado en funda de polipropileno y
almacenado en condiciones aceleradas (35°C y 90% HR)
Figura 4. Variación del índice de peróxido del sazonador empacado en funda aluminizada y almacenado en
condiciones aceleradas (35°C y 90% HR)
13
Comparando el período de estabilidad de este sazonador nutritivo, empacado en funda
aluminizada, con los condimentos comerciales, este presenta un tiempo de 101 días, que es la
tercera parte de aquellos; esto principalmente puede ser por la presencia de aditivos antioxidantes
en la formulación.
4. Conclusiones y recomendaciones El sazonador envasado en un empaque aluminizado, y almacenado a condiciones ambientales
(17 °C y 50% HR) y aceleradas (35 °C y 90% HR), presenta un período de estabilidad mayor
respecto al envasado en un empaque de polipropileno.
Se recomienda evaluar la utilización de antioxidantes químicos para incrementar la estabilidad del
sazonador.
Bibliografía AOCS Monograph Committee. (1990). Edible Fats and Oils Processing: Basic Principles and
Modern Practices. Maastricht: American Oil Chemists Society.
Asociación Mexicana del Amaranto. (2003). Amarantum. Recuperado el 7 de 10 de 2011, de
Asociación Mexicana del Amaranto: http://www.amaranto.com.mx/salud/
beneficios/beneficios.htm
Astiasarán, I., & Martínez, A. (2003). Alimentos. Composición y Propiedades. Mexico: McGraw-
Hill.
Casp, A., & Abril, J. (2003). Procesos de Conservación de Alimentos. Madrid: Mundi-Prensa.
INEN. (2010). Norma Técnica Ecuatoriana NTE INEN 2532:2010. Especias y condimentos. Requisitos.
Instituto Nacional Autónomo de Investigaciones Agropecuarias (INIAP). (2008). Informe Nacional
sobre los Recursos Fitogenéticos para la Agricultura y la Alimentación. Quito: INIAP.
Madrid, A., Cenzano, I., & Vicente, J. (1997). Manual de Aceites y Grasas Comestibles. Madrid:
Mundi - Prensa.
Rosero, M. A. (2012). Desarrollo de un sazonador nutritivo a base de amaranto reventado y maní
tostado. Trabajo de Titulación de Ingeniería de Alimentos. UniversidadTecnológica
Equinoccial. Ecuador.
Ucodep. (24 de 06 de 2011). Quinua, Amaranto, Melloco y Chocho. Un regalo Andino para el
mundo. Recuperado el 29 de 09 de 2011, de INIAP: http://www.iniap.gob.ec/
UNIFEM. (1998). Técnicas de Envasado y Empaque. Lima: Asociación Gráfica Educativa.
Velásquez, G. (2006). Fundamentos de Alimentación Saludable. Antioquia: Universidad de
Antioquia.
14
Teoría de restricciones para procesos de manufactura Ing. Gabriela Villagómez1, Ing. Jorge Viteri, MBA-M.Sc.1, Dr. Alberto Medina, Ph.D.2
Resumen La empresa “Productos Alexander” fabricante de snacks de la ciudad de Quito, tiene un
sistema de producción que no permite el abastecimiento de los pedidos de sus clientes
reflejando un índice de servicio al cliente de 89,58% ya que sus procesos están trabajando con
capacidades que no se encuentran correctamente programadas, en vista de tal razón el
objetivo de esta investigación es proponer un sistema de mejora continua con el fin de
aumentar y efectivizar específicamente la producción de snacks de papas fritas utilizando la
Teoría de Restricciones (TOC) como metodología científica. Se realizó la medición de
capacidad de cada una de las operaciones que componen el proceso de elaboración de snacks
y se identificó la restricción en el proceso de fritura, que no estaba trabajando el 100% del
tiempo en la jornada diaria limitando así la capacidad de la fábrica, por lo que se optó por
explotar la restricción para eliminarla. La propuesta planteada para explotar la restricción
consiste en una mejor programación de la producción, reducción de lote de transferencia de
proceso a proceso, programación de la cantidad de trabajo para cada uno de los operarios en
la jornada, la preparación del proceso y la fijación de turnos en la hora de almuerzo de los
operarios lo que contribuye a agilizar el proceso de fritura y permitir que trabaje a su máxima
capacidad el 100% del tiempo.Dicha propuesta se puede considerar como una solución al
problema y así mejorar los niveles de producción de la empresa, tomando en cuenta que en
base a los indicadores de TOC el Beneficio Neto de la empresa aumentaría de $15 333.09 a $
17 392.14 al cumplir en cantidad y a tiempo todos los pedidos de los clientes.
Palabras c lave Sistema, restricción, explotación, mejora continua, Beneficio Neto.
Abstract The company "Products Alexander" snack manufacturer in the city of Quito, has a production
system that cannot supply customer orders, with a customer service index of 89,58%, also their
processes are working with capabilities that are not properly programmed in given this reason
the objective of this research is to propose a system of continuous improvement to increase
production and make effective the snacks of chips using the Theory of Constraints (TOC) as a
scientific methodology is to focus on solutions to critical problems of enterprises so that they
approach their goal through a process of continuous improvement (Arias, 2006). The
measurement was carried capacity of each of the operations which compose the preparation of
snacks and identified restriction in the frying process, which was not working 100% of the daily
time thereby limiting the ability of the factory, so we chose to exploit the constraint to eliminate
1 Universidad Tecnológica Equinoccial, Facultad de Ciencias e Ingeniería, Quito-Ecuador ([email protected])
2 Universidad de Matanzas Camilo Cienfuegos, Cuba
ENFOQUTE 3: 14-28
Copyright © 2012 Universidad Tecnológica Equinoccial
ISSN: 1390‐6542
15
it.The proposal made to exploit the constraint is a better production scheduling, reducing
transfer batch process to process, scheduling the amount of work for each of the operators in
the day, the preparation process and setting shifts at lunchtime for workers helping to
streamline the process of frying and allow work to full capacity 100% of the time. This proposal
can be considered as a solution to problems and improve production levels of the company,
considering that based on indicators of TOC net income the company would increase from $ 15
333.09 $ 17 392.14 in meeting quantity time and all customer orders.
Keywords System, restriction, exploitation, continuous improvement, net benefit
1. Introducción Todas las empresas buscan implementar un proceso de mejoramiento continuo exitoso y
perdurable, puesto que si no se ajustan a las tendencias actuales no pueden incrementar la
eficiencia y productividad en sus procesos, además no logran generar ventajas competitivas que
les garanticen una permanencia sostenible en el mercado ni mucho menos su crecimiento y
desarrollo.
Según Viteri et al. (2011) para que un país sea competitivo es necesario aplicar las ideas
innovadoras en hechos concretos que se traduzcan en beneficios tangibles, económicamente
viables y sostenibles en el tiempo; es decir dar un salto de las ideas a la realidad, de pensar a
hacer.
Por ello es necesario la realización de un estudio del proceso de elaboración de snacks basado en
la Teoría de Restricciones para su futura implementación, en función de su situación actual y con
la finalidad de determinar la restricción del sistema y proponer mejoras que le permitan explotar la
misma y trabajar conjuntamente para alcanzar sus metas y objetivos globales.
Según Aguilar y Vargas (2008) en México se reportó que los problemas más comunes a los que
se enfrentan las pequeñas empresas se refieren al mal manejo del personal, medio ambiente, mal
manejo de los recursos financieros, deficientes métodos de trabajo, problemas en la maquinaria y
equipo y subutilización de los recursos materiales. Además dentro de los problemas de deficientes
métodos de trabajo se encuentran liderando los siguientes: producción, ventas, control y
evaluación de las actividades de los operarios.
En el caso de la empresa “Productos Alexander” el proceso de elaboración de snacks está
trabajando con capacidades que no están correctamente programadas lo que le impide crecer y
alcanzar mayores niveles de productividad, sin poder abarcar grandes mercados ni satisfacer a los
clientes para garantizar su permanencia y desarrollo sostenible.
Cuando la demanda de snacks sobrepasa la producción semanal, no se logra entregar pedidos
completos a los clientes y en ciertas ocasiones se lo hace a destiempo, limitada así por falta de
planificación de su capacidad de producción y los incrementos de la demanda de sus productos.
16
El proyecto de elaborar una propuesta de mejora para el proceso productivo de elaboración de
snacks obedece a que existe una restricción en el sistema que le impide cumplir el 100% de los
pedidos de sus clientes y que provoca también un retraso en ciertas entregas.
El proceso tiene un problema potencial de programación de su capacidad, por esta razón es
necesario que esté dispuesto a considerar las mejoras propuestas para la explotación de la
restricción determinada en base a TOC, pensando que de esta manera puede alcanzar sus
objetivos organizacionales, adaptarse a los cambios dados por la globalización y las nuevas
exigencias del mercado así como el incremento de su productividad y competitividad en el mismo.
La Teoría de Restricciones (TOC) es todo un proceso de mejoramiento continuo, basado en un
pensamiento sistémico, que ayuda a las empresas a incrementar sus utilidades con un enfoque
simple y práctico, identificando las restricciones para lograr sus objetivos, y permitiendo efectuar
los cambios necesarios para eliminarlos (Goldratt, 1993).
De acuerdo a Aguerre (2009), para desarrollar el proceso de mejora continua propuesto por
Goldratt, la Teoría de Restricciones se basa en el siguiente ciclo compuesto por cinco pasos:
1. Identificar la restricción del sistema
2. Decidir cómo explotar la restricción del sistema
3. Subordinar todas las actividades del sistema.
4. Elevar la restricción del sistema.
5. Implementar y volver a analizar el sistema.
Para Goldratt (1993), la Teoría de Restricciones reconoce que la producción de un sistema
consiste en múltiples pasos, donde el resultado de cada uno de esos pasos depende del resultado
de pasos previos. El resultado o la producción del sistema, estará limitada por el o los pasos
menos productivos.
Espinoza y Jiménez (2007) concluyen que una restricción conocida también como cuello de
botella, se define como cualquier elemento que está limitando al sistema en el cumplimiento de la
meta para la que fue creado, es decir, para el caso de empresas con fines de lucro, generar
ganancias sustentables.
Se distinguen dos tipos de recursos productivos:
Recurso Restricción (RRC): es aquel cuya capacidad es menor o igual a la demanda que
hay de él.
Recurso no Restricción: es aquel cuya capacidad es mayor que la demanda que hay de él.
17
De acuerdo a Berrío y Castrillón (2008), cuando un sistema no puede generar más rentabilidad es
porque algo se lo está impidiendo, esto es debido a las restricciones que pueden ser una persona,
un equipo, una máquina, una pieza, una política de la empresa, la ausencia de alguna herramienta
de apoyo, etc.
Las restricciones no son negativas ni positivas, son una realidad puesto que en una gran cadena
de recursos interdependientes solo unos pocos de ellos, los cuellos de botella (o restricciones)
condicionan la salida de toda la producción, es por ello que hay que utilizarlos para manejar el
flujo del sistema productivo (Escalona, 2009).
Según Goldratt (1993), lo que determina la capacidad de la planta es la capacidad del recurso con
restricción de capacidad, por lo que se debe balancear el flujo de todos los recursos productivos al
ritmo del cuello de botella y aprovechar el tiempo al máximos pues una hora perdida en este tipo
de recursos es una hora perdida en todo el sistema productivo.
Las empresas que utilizan la Teoría de Restricciones como herramienta para el mejoramiento
continuo de sus procesos logran fortalecer su competitividad a nivel de calidad, servicio al cliente y
bajo costo; logran también la reducción en el tiempo de entrega, mejora en el cumplimiento de las
fechas de entrega, reducción en los inventarios, incremento de las ventas y el incremento de las
utilidades netas (Morales, 2006).
A nivel general, la Teoría de Restricciones se desarrolla en procesos de pensamiento así como en
aplicaciones a distintas áreas entre las cuales se distinguen la producción, finanzas,
administración de proyectos, marketing, ventas, sistemas de distribución, recursos humanos, entre
otros (Herrera, 2003).
Es importante contar con la propuesta de mejoramiento que plantea la Teoría de Restricciones
que le permita al proceso de elaboración de snacks identificar su restricción y atacarla a través de
la explotación de la misma.
En base a Aguerre (2009), para explotar la restricción es preciso sacarle lo que más se pueda al
recurso restricción o cuello de botella sin perder tiempo, es decir, debemos obtener el máximo
rendimiento del recurso con restricción de capacidad dentro de las 8 horas laborables pues se
conoce que cualquier minuto perdido en el rendimiento del recurso con restricción de capacidad
repercute en el nivel de producción de todo el sistema.
Existe una técnica que permite disminuir los tiempos de alistamiento rápido conocida como Single
Minute Exchange of Die (SMED) (Olavarrieta, 1999).Las siglas SMED al español se traduce como
Reducción de Tiempo de Preparación de Máquina y se refiere al hecho de efectuar el cambio de
18
herramienta o a su vez la preparación de procesos, en un número de minutos que se exprese con
un solo dígito, es decir, nueve minutos o menos (Cruz, 2009).
La reducción del lote de transferencia definido como la cantidad de unidades que pasan a la
siguiente operación, es otra manera de explotar la restricción ya que si éste se reduce y es el
mismo para cada operación, se necesita menos tiempo de procesamiento total en el sistema y se
logra disminuir el inventario en proceso lo que a su vez contribuye a agilizar de alguna manera el
proceso y resolver problemas de manera rápida.
El balance de flujo del proceso de elaboración de snacks contribuye a explotar la restricción
puesto que se optimiza el tiempo y la capacidad logrando de esta manera romper la restricción
aumentando la producción y cumpliendo con todos los clientes.
La continuidad en la búsqueda de la mejora requiere de un sistema de medición y de un método
que involucre y fomente la participación del personal. Para definir el sistema de medición se
requiere definir el sistema de indicadores de la meta. En TOC, la meta de una empresa es ganar
dinero ahora y siempre (Escalona, 2009).
De acuerdo a Goldratt (1993), la medición de la meta se realizará a través de los indicadores
como el Trúput (T), Gastos Operativos (GO), Inventarios (I).
Trúput (T)1
De acuerdo a Goldratt (2002), se define como: La velocidad a la cual el sistema genera dinero a
través de las ventas. Mide cuánto dinero genera el sistema tomando en cuenta:
Utilidades a través de ventas
Ingresos como intereses cobrados
Regalías por patentes, etc.
El Trúput asociado a un producto se define matemáticamente con la siguiente fórmula:
( ) [1]
Siendo:
T: Trúput
N: Cantidad de unidades cobradas en un período.
PV: Precio de venta del producto
1Trúput es la versión abreviada de Throughput.
19
CTV: Costos Totalmente Variables. Son aquellos que aumentan de manera directamente
proporcional con el volumen de ventas, tales como materias primas y componentes,
servicios de terceros, comisiones por ventas, pago por proyecto, etc.
Gastos Operativos (GO)
Es todo el dinero que el sistema gasta en convertir el inventario en Trúput. (Goldratt, 2009). Son
todos los gastos directamente proporcionales con las ventas. Es decir los gastos en los que la
empresa incurre aunque no venda. Por ejemplo: sueldos y jornales (semanales, mensuales, etc.),
amortizaciones, arrendamiento, materias primas, cuotas de préstamos, pagos de servicios
públicos, etc. (Herrera, 2003).
Los Gastos Operativos tienen la siguiente fórmula:
[2]
Inventario (I)
Es todo el dinero que el sistema invierte en elementos que se propone vender (Krajewski et al.
2008). Inventario es el dinero almacenado o retenido dentro del sistema. Algunos componentes
del inventario son: stocks de materias primas, de material en proceso y de productos terminados,
edificios propios, maquinaria, dinero en efectivo, patentes, clientes por cobrar, etc.
Así definida, la Inversión consiste en todos aquellos elementos que pueden transformarse en
dinero mediante su venta.
TOC sostiene que cualquier valor que se asigne a estos elementos es inexacto, ya que solo
cuando alguien los compra se sabe cuánto valen realmente.
Los criterios de evaluación de Inversión que usa TOC están enfocados, al igual que todas las
medidas de desempeño definidas en la metodología, a inducir a las personas de la organización a
actuar según lo que es bueno para el sistema y a disuadirlas de actuar según lo que es malo para
el sistema. Estos inventarios son también conocidos como Inversiones operativas (Iglesias, 2000)
Beneficio Neto
Su fórmula corresponde a la sumatoria de todo el Trúput de un período, por ejemplo 1 mes y la
resta de todos los Gastos Operativos correspondientes a ese periodo. (Iglesias, 2000)
[3]
ROI
Otro indicador que relaciona la utilidad con la inversión es el Retorno sobre la Inversión (ROI), que
se calcula así:
( ) [4]
20
Sin embargo si hay mucho beneficio y un alto ROI, no es razón para quedarse tranquilo puesto
que si no hay disponibilidad de efectivo es difícil que la empresa esté saludable. (Agudelo &
Escobar, 2010)
Para todo esto, se plantea como objetivo el identificar la restricción del proceso productivo de
elaboración de snacks y elaborar una propuesta para la mejora continua en virtud de explotarla
utilizando TOC.
2. Materiales y métodos Con la finalidad de identificar la restricción del sistema se partió de la aplicación de la técnica de
observación del proceso productivo de elaboración de snacks, de los fenómenos y hechos que
ocurren en cada operación del mismo.
Con el mismo propósito, durante diez días de producción en la planta y aplicando en lotes
aleatorios cada día se midió el tiempo de duración y la capacidad en kg/min de las operaciones
que componen el proceso de snacks según corresponda, para determinar la capacidad promedio
de cada una de estas lo cual permitió encontrar la restricción del sistema.
Para cumplir por completo con el objetivo de la investigación se buscó la alternativa más
adecuada como propuesta para mejorar el proceso de elaboración de snacks en la cual se explotó
la restricción a través de un balance de flujo, de la reducción del lote de transferencia y trabajo
100% del tiempo en la restricción.
En base a datos proporcionados por la empresa, se determinó el Trúput actual generado por el
proceso de elaboración de snacks y un Trúput proyectado como indicador de TOC en el caso de
aplicar la propuesta.
3. Resultados y discusión A continuación en la tabla 1, se presenta los datos obtenidos de la duración y capacidad de cada
uno de los procesos para encontrar la restricción del sistema.
Tabla 1. Capacidad de los procesos que componen la elaboración de snacks
Proceso Duración (min) Lote de producción (kg) Capacidad (kg/min)
Pelado manual 2.84 8.75 3.01
Pelado automático - - 2.86
Rebanado - - 4.60
Fritura 7.28 8.75 1.20
Empaque - - 0.52
Sellado - - 0.72
21
En la figura Nº 1 se muestra en resumen la capacidad de cada operación del proceso de
elaboración de snacks y se identifica la posible restricción.
Figura 1. Posible proceso cuello de botella del sistema
En relación a la figura anterior, aparentemente el recurso con restricción de capacidad es el
empaque manual, pero es en este punto es necesario tomar en cuenta el rendimiento de la
materia prima durante el proceso de elaboración de snacks.
Actualmente se procesan 363.3 kg diarios de los cuales se obtienen aproximadamente 400 fundas
de 200 g de snakcs de papas fritas, esta cantidad de producto se adquiere después del proceso
de fritura y corresponde al 22% de rendimiento que se ha obtenido de la materia prima.
Se justifica que el proceso de empaque manual no es la restricción del sistema puesto que debido
al rendimiento de la materia prima, a esta operación llega una cantidad de producto mucho menor
a la que ha sido procesada por las operaciones anteriores de pelado automático, pelado manual,
rebanado y fritura, por esta razón tanto el empaque como el sellado tienen capacidad suficiente
para llevarse a cabo.
El proceso de fritura se determinó como restricción del sistema ya que restringe la salida de toda
la producción de la empresa al no trabajar al 100% del tiempo de la jornada, además se conoce
que la demanda del mercado es mayor a la capacidad que tiene este recurso, y todo esto lo hace
responsable de no dar abasto al sistema para poder entregar la totalidad de los pedidos de los
clientes.
Según Goldratt (1993), el primer indicador financiero de la Teoría de Restricciones es el Trúput.
Para determinarlo lo primero que debemos conocer es el precio de venta del producto,
determinando que el precio de venta es de $ 1.75 para una funda de snacks de papas fritas de
200g.
Los costos totalmente variables son otro dato importante para determinar el Trúput los mismos
que conoceremos a continuación.
Costo de 200 g de papas: $ 0.60
22
Costo de una funda: $ 0.04
Total CTV: $ 0.64
Conociendo estos datos se puede determinar el Trúput unitario tomando en cuenta el precio de
venta que se ha determinado anteriormente.
T1= 1.75 – 0.64
T1= 1.11
El Trúput del año 2011 para expresar las utilidades de la empresa a través de las ventas de
snacks, mediante la siguiente fórmula ya conocida.
( )
( )
El siguiente indicador financiero propuesto por la Teoría de Restricciones corresponde a los
Gastos Operativos que se define como la mano de obra a lo que hay que adicionar el costo de
fabricación, son los gastos en los que incurre la empresa aunque no venda.
Los Gastos Operativos ascienden a $ 80907.24.
Para conocer los Gastos Operacionales anuales, se debe tomar en cuenta también las tareas
extra se han realizado durante el año que de acuerdo a políticas de la empresa corresponde al
procesamiento de 45.45 kg que se realiza para poder completar los pedidos, cuyo costo se detalla
a continuación en la tabla 2.
Tabla 2. Tareas extra realizadas en el año 2011
Mes Número de “tareas extra” Costo unitario ($) Costo total ($)
Enero 19 5.55 105.45
Febrero 38 5.55 210.90
Marzo 18 5.55 99.90
Abril 20 5.55 111.00
Julio 8 5.55 44.40
Total 571.65
Fuente: Empresa “Productos Alexander”
Tomando en consideración lo anterior los Gastos Operativos (80907.24 + 571.65) corresponden a
$ 81 478.89.
23
Estos indicadores que se han logrado determinar con los datos de la empresa y nos permiten
conocer el Beneficio Neto del año 2011.
Para explotar la restricción se optó por una técnica que permite disminuir los tiempos de
alistamiento rápido conocida como SMED.
La idea de la explotación es que la restricción trabaje Al 100% del tiempo tomando en cuenta las 8
horas de la jornada diaria, por ello es importante tomar en consideración ciertos elementos
necesarios que permitan preparar el proceso de fritura, lo que implica que una vez que las papas
cumplan su tiempo de escurrido y pasen a la operación de fritura, ésta se debe llevar a cabo de
manera continua, para ello es preciso limpiar y desinfectar la freidora, colocar el aceite y
encenderla para precalentarlo en un rango de 160ºC -180ºC de temperatura, lo cual se hace una
sola vez al iniciar la jornada de trabajo y toma un tiempo de 15 a 20 minutos.
En este caso SMED propone reducir el tiempo de preparación de este proceso de fritura,
precalentando el aceite antes de que la materia prima esté lista para ingresar a dicho proceso, es
decir, si todo el proceso inicia a las 08h25, es a esa hora también que se debe colocar el aceite en
la freidora y precalentarlo a la temperatura óptima con la finalidad que al momento que la materia
prima llegue a esta operación se pueda iniciar sin retrasos.
Conociendo que la capacidad del proceso de fritura es de 1.20 kg/minuto, la producción de esta
operación en la jornada de 8 horas debería ser de 576 kg, actualmente se procesan 363.3 kg por
lo tanto, esta operación de fritura está produciendo durante 5 horas de la jornada solamente,
existiendo así una pérdida de 3 horas de producción, razón que está ocasionando el
incumplimiento del 100% de los pedidos a los clientes.
Para mejorar la producción en la jornada se propone también la posibilidad de trabajar con lotes
de transferencia más pequeños, mejorar el tiempo y la capacidad de producción así como
programar el trabajo de los operarios para garantizar el aumento de la producción y responder
rápidamente a cambios en la demanda del mercado lo que a su vez permite mejorar el porcentaje
de cumplimento a los clientes cuando existan pedidos grandes.
En la figura Nº 2, se presenta la situación actual del proceso tomando en cuenta el lote de
transferencia, su duración en cada operación y la carga de trabajo para cada operario.
24
Figura 2.Situación actual del proceso de elaboración de snacks
Para incrementar el Trúput es preciso trabajar todo el tiempo posible en la restricción del sistema,
esto se lo hace a través de una mejor programación de la producción donde el proceso de fritura
tiene una duración de 8 minutos, es decir, que cada operación se repite nuevamente cada 8
minutos con la finalidad de que este proceso no se quede desabastecido utilizando un lote de
transferencia ideal de 9 kg fijado para todas las operaciones ya que la capacidad máxima de la
restricción es de 9 kg y lo que se busca es que ésta trabaje utilizando toda su capacidad y el
mayor tiempo posible durante la jornada lo que a su vez contribuye a agilizar de alguna manera el
proceso y resolver problemas de manera rápida, se ha propuesto también la programación de
actividades para cada uno de los operarios dentro del proceso lo que permite fijar turnos para el
almuerzo de los mismos evitando que el proceso de fritura se detenga.
En la figura Nº 3, se resume la propuesta para explotar la restricción encontrada en el sistema y
permitir la mejora continua del proceso.
25
Figura 3. Propuesta de explotación de la restricción
Se ha logrado romper la restricción del sistema porque la producción aumenta en un 21%
aproximadamente y permite cumplir el 100% de los pedidos en cantidad y tiempo con los clientes
de la empresa.
Solo como complemento se continua con los siguientes pasos que plantea TOC, para la
subordinación del sistema se propone que todos los procesos trabajen al ritmo de la restricción, es
decir, a la capacidad de 1,20kg/minuto que tiene la fritura en función de obtener un flujo estable
para todos los procesos, evitar que inventario de producción en proceso se acumule frente a la
restricción permitiendo así una mayor salida de producto.
Para elevar la restricción del sistema en caso de no lograr romperla en los pasos anteriores
implicaría ya una inversión por parte de la empresa para la adquisición de una nueva freidora con
la finalidad de que aliviane el trabajo acumulado en la restricción incrementando sin duda los
niveles de producción.
Como se lograría un sistema totalmente flexible que podrá cumplir con todos los pedidos de los
clientes y al mismo tiempo atender el aumento de demanda, se piensa que la restricción saltará
ahora al mercado, y este inventario de producto terminado con el que contará el sistema debe ser
introducido de manera inmediata al mercado a través de ofertas imposibles de rechazar evitando
así pérdidas para la empresa y por el contrario perseguir la meta que ésta se ha planteado.
A continuación se muestra el Trúput que la empresa hubiera obtenido al cumplir con el 100% de
los pedidos, es decir, 4150 cajas de snacks de papas fritas en el año 2011.
( )
Trúput actual: $ 96 811.98
Según datos de la empresa “Productos Alexander” el número de fundas dejadas de vender por
restricciones del proceso fueron 1340 unidades.
Costo por unidad: $ 1.75
( )
En base a lo anterior se puede afirmar que el Trúput en el año 2011 para la empresa trabajando
en las restricciones resultó $ 98 299.38.
26
El Beneficio Neto en este período tomando en cuenta el nuevo Trúput calculado y los Gastos
Operativos con un valor de $ 80 907.27 ya proporcionados por la empresa, excluyendo el costo de
las tareas extra que ya no serían necesarias puesto que este aumento de la producción se lleva a
cabo dentro de las 8 horas laborables y que más bien se considerarían como un ahorro de $
571.65 para la empresa en el año 2011.
4
En estas condiciones el Beneficio Neto obtenido es de $ 17 392.14, es decir, $ 2 059.05 más
aplicando TOC.
Indicadores de TOC Sin TOC Aplicando TOC
Trúput 96 811.98 98 299.38
Gastos Operativos 81 478.89 80 907.24
Beneficio Neto 15 333.09 17 392.14
ROI 33% 36%
Con la aplicación de la Teoría de Restricciones el sistema sería más flexible para cumplir el 100%
de pedidos, podrá vender más productos y así aumentar su Beneficio Neto que es la meta de la
empresa hoy y en el futuro.
4. Conclusiones y recomendaciones
El diagnóstico del proceso de elaboración de snacks permitió determinar al proceso de
fritura como el recurso con restricción de capacidad en el sistema debido al tiempo que se
pierde en esta operación durante la jornada de trabajo y a la generación de pérdidas en
tamaño y peso del producto.
La explotación del recurso con restricción de capacidad buscó aprovechar al máximo el
tiempo y la capacidad de producción, a través de una mejor programación de la
producción, reducción de lote de transferencia de proceso a proceso, programación de la
cantidad de trabajo para cada uno de los operarios en la jornada, preparación de procesos,
fijación de turnos para el almuerzo de los operarios, todo esto en virtud de que la
restricción siempre tenga trabajo y pueda llevarse a cabo de manera continua.
A través de la explotación de la restricción, se programó una producción diaria de 51 lotes
de 9 kg que se repiten en un intervalo de 8 minutos logrando aumentarla aproximadamente
27
en un 21% para cumplir a cabalidad con los pedidos de la empresa, y lo más importante
sin ningún tipo de inversión y sin generar egresos para la empresa.
La propuesta presentada para la mejora continua del proceso productivo de elaboración de
snacks utilizando como metodología la Teoría de Restricciones, una vez aplicada será
capaz de aumentar la producción en planta y por lo tanto permitir el cumplimiento del 100%
de los pedidos que recibe la empresa tanto en cantidad como en tiempos de entrega.
El Beneficio Neto actual que genera el proceso de elaboración de snacks es de $15
333.09 sin embargo la propuesta refleja que al aplicar la Teoría de Restricciones en el
proceso de elaboración de snacks permitirá cumplir el 100% de los pedidos por lo que
existirá un aumento de $ 2 059.05 en el beneficio lo que corresponde a lo que la empresa
está perdiendo por incumplir dichos pedidos y se logrará obtener $ 17 392.14 de Beneficio
Neto, y aunque no es una cantidad demasiado grande, hay que pensar que siempre hay
algo que se puede mejorar.
Bibliografía Agudelo L, Escobar J. (2010). Gestión por procesos. Medellín. Ed. Kimpres. P.237.
Aguerre, Miguel (2009). Teoría de restricciones. Recuperado el 25 de agosto de2011, de
http://www.slideshare.net/cimaticdemexico/teoria-de-las-restricciones
Aguilar, Everardo y Vargas, Jaime (2008). Personas, economía y medio ambiente: las
problemáticas de la pequeña empresa. Centro Regional de Investigación en Psicología,
Volumen 2, Número 1, Pág. 37-43.
Arias, J. (2006). Aplicación de los procesos de pensamiento (Teoría de Restricciones) al
sistema educativo de la Universidad de Cuenca en la facultad de ciencias químicas.
Universidad de Cuenca facultad de ciencias químicas, 5. Recuperado el 27 de abril de 2012, de
http://books.google.com.ec/books?id=RC7kpeEv1IAC&pg=PA113&dq=
Berrío, Deysi y Castrillón, Jaime (2008).Costos para gerenciar organizaciones manufactureras,
comerciales y de servicio. (2da ed.). [En línea]. Editorial Uninorte. Recuperado el 24 de abril de
2012, de http://books.google.com.ec/books?id=HMgm0g4VopYC&pg=PA186&dq=#v=
onepage&q&f=false
Cruz, Carlos (2009). SMED. Recuperado el 10 de octubre de 2011, de
http://industrial09.obolog.com/page/7
Espinoza, Carlos y Jiménez, Francisco. (2007). Costos industriales. (1a. ed.).[En línea]. Editorial
Tecnológica de Costa Rica. Recuperado el 22 de agostode 2011, de
28
http://books.google.com.ec/books?id=jRdhIWgPe60C&pg=PA470&dq=
Escalona, Iván. (2009). Teoría de Restricciones. Recuperado el 22 de agosto de
2011, de http://www.elprisma.com/apuntes/ingenieria_industrial/tocteoriadelasrestricciones/
Goldratt, E. y Cox, J. (1993). La meta. Un proceso de mejora continua. México: Ediciones North
RiverPress. pp. 337.
Goldratt, E. (2002). Cómo Extraer Información del Océano de Datos. El Síndrome del Pajar.
Quinta Ed. Ediciones Castillo. pp. 283.
Goldratt, E.(2009). La carrera: en busca de las ventajas competitivas. 1a ed. Buenos Aires:
Granica. pp. 200
Herrera, I. (2003). Gestión moderna de producción aplicando la Teoría deRestricciones. Colombia:
Artes Gráficas Tizan.
Iglesias, José. (2000).Un breve análisis de la teoría de las limitaciones. RevistaEspecial
Encuentros A.E.C.A. Ibiza.
Krajewski L, Ritzman L, Malhotra M. (2008). Administración de operaciones. Octava edición.
Pearson Ed. México. pp. 752.
Morales, J. (2006). Propuesta para implementar un sistema de programación de la producción,
bajo Teoría de Restricciones, en una empresa de artes gráficas. Tesis no publicada,
Universidad de Antioquia, Medellín, Colombia.
Viteri, J. Jacome, M. Beltrán, E. Competitividad e Innovación. Revista Economía y Negocios № 3.
50-55 pp.
29
Traducción automatizada de programas entre lenguajes de operaciones Dr. Diego Ordóñez Camacho, Ph.D.1
Resumen Los lenguajes de operaciones se usan para programar, en procedimientos organizados, las
instrucciones a ser ejecutadas por una máquina, para realizar distintos tipos de operaciones.
Para poder importar procedimientos existentes realizados en un lenguaje de operaciones dado,
en frameworks de programación específicos para el diseño de operaciones, es necesario
contar con traductores entre el lenguaje en que ha sido programado el procedimiento, y el
lenguaje interno utilizado por el framework de diseño. La construcción de estos traductores
puede ser automatizada si se establece un mapeo entre producciones equivalentes de las
gramáticas de los lenguajes fuente y destino. Las producciones se pueden considerar
equivalentes cuando a pesar de tener una sintaxis diferente, tienen la misma intención
semántica y pueden ser equiparadas con un árbol de sintaxis abstracta en común. Debido a
ciertas diferencias sintácticas, en ocasiones este árbol sintáctico común no puede ser hallado
directamente. Esto se vuelve posible, sin embargo, al realizar en primer lugar ciertas
transformaciones a los programas. Este artículo presenta un acercamiento específico a la
construcción de reglas de transformación para resolver estas diferencias.
Palabras clave Lenguajes de programación, lenguajes de operaciones, transformaciones de código,
traductores de lenguajes
Abstract Operations languages are used to program the procedures that instruct machinery to perform
specific operations. To import procedures in a given operations language, into a dedicated tool
for designing operations, language translators are needed to translate those procedures to the
design tool's internal operations language. The construction of these translators can be
automated by mapping equivalent productions in the grammar of source and target language.
Productions are considered equivalent when, in spite of a differing syntax, they have the same
intended semantics and can be matched to a same abstract syntax tree. For some
corresponding productions, due to syntactic differences, such a common abstract syntax tree
cannot be found directly. However, they can be made to match by performing some specific
program transformations first. This paper presents a specific approach to write transformation
rules to resolve such mismatches.
Keywords
Programming languages, operations languages, code trabsformations, languages translators
1 Universidad Tecnológica Equinoccial, Facultad de Ciencias de la Ingeniería, Quito – Ecuador
ENFOQUTE 3: 29-42
Copyright © 2012 Universidad Tecnológica Equinoccial
ISSN: 1390‐6542
30
1. Introducción Los lenguajes de operaciones son lenguajes de programación diseñados para un entorno
específico dentro del campo del control de operaciones. Su propósito es agrupar las instrucciones
enviadas a los equipos o máquinas, dentro de un flujo de control organizado llamado un
procedimiento. A pesar de que muchos lenguajes de operaciones pueden variar significativamente
a nivel sintáctico, proporcionan en gran medida los mismos constructos semánticos, y comparten
la misma estructura imperativa y de control de flujo.
Herramientas especializadas para diseñar procedimientos, como el framework Manufacturing and
Operations Information System, MOIS (Quigley, Cater, 2006), abstraen las diferencias sintácticas
y permiten a los diseñadores de procedimientos trabajar a un nivel conceptual, enfocándose sobre
todo en la lógica del control de flujo, más que en particularidades sintácticas.
Para poder importar procedimientos existentes, escritos en un lenguaje de operaciones dado,
dentro de una herramienta como MOIS, un traductor automático entre el lenguaje original del
procedimiento y el lenguaje interno de MOIS debe ser desarrollado. Considerando que una gran
cantidad de lenguajes de operaciones existen, muchos de ellos con varias versiones y dialectos, la
tarea de desarrollar los mencionados traductores debe ser automatizada lo más posible.
En experimentos previos desarrollando traductores entre lenguajes de operaciones, ha sido
posible alcanzar un nivel satisfactorio de automatización mediante el uso de la técnica de
gramáticas anotadas (Ordóñez et al., 2006, 2007). Esta técnica permite a un ingeniero de software
anotar explícitamente producciones equivalentes en las gramáticas de los lenguajes fuente y
destino. A partir de estas gramáticas anotadas, es posible generar automáticamente las reglas de
transformación apropiadas para las producciones que sean puestas en equivalencia con un árbol
de sintaxis abstracta, AST (Abstract Syntax Tree), común. Un traductor para programas desde el
lenguaje fuente hacia el lenguaje destino, se obtiene finalmente combinando todas las reglas de
transformación.
Incluso si para una mayoría de las producciones en el lenguaje fuente, existe una producción
equivalente en el lenguaje destino, experimentos preliminares muestran que no siempre es el
caso. Para ciertas producciones, a pesar de existir una correspondencia semántica, debido a
diferencias sintácticas no es posible derivar el mapeo apropiado directamente. En dichos casos, el
programa fuente debe ser en primer lugar re-estructurado, antes de que el mapeo correspondiente
pueda ser establecido, y las reglas de traducción correspondientes puedan ser derivadas
automáticamente. Las transformaciones necesarias para la re-estructuración de programas,
generalmente deben ser definidas a mano por el ingeniero de software que diseña el traductor.
Para facilitar la tarea de estos ingenieros, se ha desarrollado una librería de funciones en Java en
la cual se define un conjunto de transformaciones de base (Ordóñez et al., 2007), en términos de
31
las cuales una gran variedad de re-estructuraciones pueden ser expresadas. El presente artículo
ilustra el uso de esta librería de transformaciones para resolver diferencias sintácticas, mediante la
presentación de un caso de estudio entre dos lenguajes operacionales
El resto de este artículo está estructurado de la siguiente manera. En la Sección 2 se presenta el
uso de la técnica de gramáticas anotadas para construir traductores de programas, y se introduce
el caso de estudio. La Sección 3 analiza algunas de las diferencias sintácticas encontradas
durante el estudio, y explica cómo se lidió con las mismas gracias al uso de la librería de
transformaciones en Java. La Sección 4 discute otros trabajos relacionados con el tema, y la
Sección 5 extrae conclusiones y presenta posibles alternativas de trabajo a futuro.
2. Mapeo de gramáticas
Derivación automatizada de traductores a partir de gramáticas anotadas
Como se explicó en la Sección 1, una posibilidad para automatizar el desarrollo de traductores de
programas es el uso de gramáticas anotadas para mapear producciones correspondientes en las
gramáticas fuente y destino, aprovechando esto para derivar automáticamente las reglas de
transformación para dichos casos (Ordóñez et al., 2006). Una condición necesaria para que este
enfoque funcione es que los nodos de los árboles sintácticos de las producciones
correspondientes se encuentren en una relación de mapeo uno a uno con un AST común.
La Figura 1 muestra un ejemplo de tal mapeo: los círculos representan los nodos significativos en
las producciones de los lenguajes fuente y destino que queremos relacionar. Los diamantes
representan las anotaciones que ligan estos nodos relacionados en ambas producciones, y dichos
diamantes están organizados en un AST que emula la sintaxis concreta de las producciones en
ambos lenguajes, fuente y destino. Los nodos presentados con rectángulos, representan símbolos
(palabras reservadas del lenguaje) en ambas gramáticas, los cuales son irrelevantes dado que
pueden ser inferidos automáticamente durante el proceso de generación de código fuente.
Esencialmente el AST oculta los nodos rectangulares de las gramáticas fuente y destino, y unifica
los nombres de los nodos en ambas gramáticas.
32
Figura 1. Mapeo de producciones equivalentes en dos gramáticas.
En la Figura 2 se muestra la representación anotada en el formato Syntax Directed Formalism,
SDF (Heerings et al., 1989), de las dos producciones mapeadas en la Figura 1. Gracias a la
anotación común “While”, al extremo derecho de las producciones, el ingeniero de software indica
considerar que la producción fuente “DoWhile” es equivalente a la producción destino “WHILE”.
De forma similar se utilizan anotaciones para declarar la equivalencia entre las producciones
fuente “Expression” y “StatementList”, con las producciones destino “MoisExpression” y “StepList”
(no presentadas en la Figura 2 para simplificarla).
Source production
"while" Expression
"do" StatementList
"enddo" -> DoWhile {cons("While")}
Target production
"<DecisionStep>"
MoisExpression
"<While>"
StepList
"</While>"
"</DecisionStep>" -> WHILE {cons("While")}
Figura 2. Dos producciones correspondientes, en formato SDF, pertenecientes
a los lenguajes STOL y MOIS
La manera como la técnica de gramáticas anotadas aprovecha esta información para generar un
traductor entre dos lenguajes se describe a continuación:
i) Por cada producción en la gramática fuente, las anotaciones señalan los símbolos
relevantes del árbol, especificando de esta manera cómo generar el AST: los símbolos
anotados permanecerán en el árbol, mientras los restantes serán descartados.
ii) Los nombres de los símbolos en el AST corresponderán a las anotaciones, en lugar
que a los símbolos originales de la gramática fuente.
iii) Asumiendo que no existan diferencias estructurales entre la producción fuente y su
correspondiente producción destino, el proceso de traducción inverso hacia la
gramática destino se puede efectuar directamente. Caso contrario las diferencias
33
deben resolverse aplicando transformaciones al AST para que pueda ser mapeado al
lenguaje destino.
iv) Los símbolos vuelven a ser modificados cambiando el nombre abstracto por el
concreto, mediante una búsqueda de correspondencia en la gramática destino, basada
en las anotaciones.
v) La generación de código fuente se consigue inyectando las palabras clave o
reservadas, así como los símbolos adicionales del AST, en la posición esperada de
acuerdo a la gramática destino.
Este proceso se desarrolla automáticamente, salvo por el paso iii), donde se requiere una cierta
dosis de intervención por parte del ingeniero, para aquellos casos donde diferencias estructurales
impiden que el AST derivado a partir de la gramática fuente, pueda ser mapeado a la gramática
destino.
Debido a la gran similitud existente entre muchos lenguajes de operaciones, para muchas de las
producciones en el lenguaje fuente, se puede encontrar una producción semánticamente
equivalente en el lenguaje destino. Inclusive, en caso de no existir diferencias estructurales, el
proceso detallado puede ser aplicado de manera automática en su totalidad. El presente estudio,
sin embargo, se concentra más bien en aquellos casos donde sí existen diferencias estructurales
entre producciones correspondientes. Estos casos requieren de la intervención del ingeniero de
software para que proporcione las reglas que trasformen el AST de manera que la traducción a la
gramática destino sea posible.
Caso de estudio: traduciendo desde STOL hacia MOIS
Para explorar los diversos tipos de diferencias estructurales que pueden presentarse en la
práctica, se presenta un caso de estudio en el cual se construye un traductor desde el lenguaje
Spacecraft Test and Operations Language, STOL (Integral Systems, 2000), hacia el lenguaje
MOIS (Quigley, Cater, 2006). Aunque en el caso de estudio se trabaja con los lenguajes
completos, para facilitar la explicación en este artículo se han simplificado algunos de los detalles
de las gramáticas y procedimientos.
En la Figura 3 se presenta un procedimiento (simplificado) de ejemplo escrito en STOL, y en la
Figura 4 se puede ver su equivalente en MOIS, hacia el cual el procedimiento en STOL deberá ser
traducido. La instrucción en la línea 1 del procedimiento en STOL presenta una instrucción Step
consistente en una instrucción Declaration con dos variables, y una instrucción asociada
Comment. Esta instrucción Step se traduce a MOIS en las líneas 3 a 10. La segunda instrucción
Step (línea 2) en el procedimiento STOL consiste de una instrucción Assignment con una
instrucción Comment asociada. Se traduce en las líneas 17 a 25 del procedimiento en MOIS. La
instrucción Telemetry Declaration junto a la instrucción asociada Comment, en la siguiente
34
instrucción Step, en la línea 3 del procedimiento STOL, corresponde a las líneas 11 a 14 del
procedimiento en MOIS.
1 local vOne, vTwo #variables sencillas
2 vOne = 1 #asignamiento
3 point tOne #telemetría
4 write tOne
Figura 3. Un procedimiento STOL, simplificado.
1 <Proc>
2 <Header>
3 <Declare>
4 <Identifier>vOne</Identifier>
5 <Comment>#simple variables</Comment>
6 </Declare>
7 <Declare>
8 <Identifier>vTwo</Identifier>
9 <Comment>#simple variables</Comment>
10 </Declare>
11 <Declare>
12 <Identifier>tOne</Identifier>
13 <Comment>#telemetry variable</Comment>
14 </Declare>
15 </Header>
16 <Body>
17 <Step>
18 <Comment>#assignment</Comment>
19 </Step>
20 <Step>
21 <Assign>
22 <Variable><Identifier>vOne</Identifier></Variable>
23 <Value><Identifier>1</Identifier></Value>
24 </Assign>
25 </Step>
26 <Step>
27 <GetTelemetry>
28 <Variable><Identifier>tOne</Identifier></Variable>
29 <Telemetry><Identifier>tOne</Identifier></Telemetry>
30 </GetTelemetry>
31 </Step>
32 <Step>
33 <Print><Identifier>tOne</Identifier></Print>
34 </Step>
35 </Body>
36 </Proc>
Figura 4. Un procedimiento MOIS, simplificado.
Diferencias estructurales entre STOL y MOIS
Ahora se verán más detenidamente las gramáticas de los lenguajes de operaciones STOL y
MOIS, para cada uno de los cuales se dio un ejemplo de código en la sección anterior. La Figura 5
muestra parte de la gramática (simplificada), en formato SDF, del lenguaje STOL, al cual
consideramos nuestro lenguaje fuente. La Figura 6 presenta una versión simplificada de una parte
de la gramática SDF del lenguaje MOIS, al cual se considera el lenguaje destino. Para facilitar la
explicación se ha retirado previamente de las gramáticas los símbolos terminales irrelevantes, y
solo se ha conservado los símbolos no terminales significativos para el mapeo. Las dos
35
gramáticas han sido decoradas con las anotaciones necesarias para establecer el mapeo entre las
producciones equivalentes en los dos lenguajes.
Si se revisa cuidadosamente estas gramáticas se puede observar lo siguiente:
- Las cuatro producciones en las líneas 6 a 9 de la gramática de STOL pueden ser
mapeadas directamente a las últimas cuatro producciones en MOIS.
- Para la producción en la línea 5 de la gramática de STOL, no hay producción equivalente
en MOIS. En efecto, en MOIS las telemetrías no necesitan ser declaradas antes de
usarlas.
- De forma similar, para cada una de las producciones en las líneas 2, 3 y 7 de la gramática
de MOIS, no hay producciones equivalentes en STOL. STOL no maneja la noción de
encabezado y cuerpo. Un procedimiento en STOL es solo una secuencia de instrucciones
consecutivas. Además STOL no maneja tampoco la noción de asignación a telemetría,
dado que las telemetrías, una vez declaradas, se tratan como cualquier otra variable.
- Para cada una de las tres producciones en las líneas 1 a 4 de STOL, sí existe una
correspondencia con las producciones en las líneas 1, 4 y 6 de la gramática de MOIS. Sin
embargo existen diferencias estructurales que impiden un mapeo directo.
1 Statement+ -> StolProcedure {cons("Procedure")}
2 (Declaration | TlmDeclaration | Assignment | Print) Comment?
3 -> Statement {cons("Step")}
4 Identifier+ -> LocalDeclaration {cons("Declaration")}
5 Identifier+ -> PointDeclaration {cons("Tlm Declaration")}
6 Identifier Identifier -> Assignment {cons("Assignment")}
7 Identifier -> Write {cons("Print")}
8 <lexical definition> -> Identifier {cons("Identifier")}
9 <lexical definition> -> Comment {cons("Comment")}
Figura 5. Gramática STOL, simplificada.
1 Header Body -> Proc {cons("Procedure")}
2 (Variable | Comment)* -> Header {cons("Header")}
3 MoisStmt+ -> Body {cons("Body")}
4 Comment | Assignment | TlmAssignment | Print
5 -> MoisStmt {cons("Step")}
6 Identifier Comment? -> Variable {cons("Declaration")}
7 Identifier Identifier -> SetTelemetry {cons("Tlm Assignment")}
8 Identifier Identifier -> SetVariable {cons("Assignment")}
9 Identifier -> Print {cons("Print")}
10 <lexical definition> -> Identifier {cons("Identifier")}
11 <lexical definition> -> Comment {cons("Comment")}
Figura 6. Gramática MOIS, simplificada.
Para aquellos casos en los cuales existe un mapeo directo entre las producciones equivalentes,
las reglas de traducción pueden ser derivadas automáticamente por la técnica de gramáticas
anotadas (Ordóñez et al., 2008). Para los otros casos es necesario que se intervenga antes de la
generación.
36
En el caso del estudio completo, un total de 150 producciones en STOL necesitaban relacionarse
con 62 producciones en MOIS. Para 109 de las producciones de STOL fue posible encontrar un
mapeo directo entre los AST fuente y destino. Las 41 producciones restantes de STOL
presentaron diferencias estructurales que requirieron cierto tipo de intervención. Los diferentes
tipos y cantidad de intervenciones realizadas en el AST para resolver las diferencias se resume en
la Figura 7.
Categoría Frecuencia
Mover nodos a un lugar diferente del AST 7
Remplazar parcial/completamente el contenido de un nodo 28
Transformar el tipo de un nodo 8
Crear nodos adicionales 13
Eliminar nodos del AST 3
Figura 7. Tipos de transformaciones utilizadas para resolver diferencias estructurales
3. Resolución de diferencias estructurales Esta sección presenta cómo, haciendo uso de una librería de transformaciones desarrollada con
anterioridad en Java, se logran superar las diferencias estructurales entre los dos lenguajes.
Esencialmente se toma el AST derivado a partir de la gramática de STOL y se lo transforma
gracias a la librería de tal manera que corresponda con un AST válido derivado de MOIS, el cual
pueda usarse para generar un programa fuente válido en MOIS.
El enfoque utilizado se ilustra gracias a tres ejemplos representativos extraídos del ejemplo que se
presentó (simplificado) en la sección anterior. Para cada uno de los ejemplos se explicará:
- Diferencia: por qué existía una diferencia estructural entre las producciones
correspondientes de STOL y MOIS.
- Transformación: cómo se resolvió la diferencia transformando el AST del programa
fuente hasta convertirlo en un AST compatible con el lenguaje destino.
- Implementación: cómo se uso la librería de transformaciones en Java para efectivizar la
transformación.
Telemetrías
En los lenguajes de operaciones, las telemetrías son instrucciones especiales enviadas al equipo
para recolectar la información proveniente del estado de los sensores.
Diferencia: en STOL, las telemetrías se declaran mediante una instrucción específica Telemetry
Declaration, la cual difiere de la instrucción Declaration usada para otros tipos de variables. En
MOIS no hace falta declarar explícitamente las telemetrías. Adicionalmente, luego de la
declaración, cuando es necesario referenciar una telemetría en STOL se lo hace como si se
tratara de una variable cualquiera, permitiéndoles participar directamente en expresiones más
complejas. En MOIS, las telemetrías solo pueden ser usadas a través de la instrucción Telemetry
Assignment.
37
Transformación: para resolver la diferencia estructural se procede como sigue.
i) Se atraviesa el AST del procedimiento STOL para encontrar todos los nodos
Statement, dentro de los cuales se encuentre un nodo Identifier que referencie una
telemetría.
ii) Luego de recolectar los nodos con telemetrías, se reemplaza el nodo Identifier por uno
representando una variable normal, que pueda ser utilizado en cualquier expresión de
MOIS.
iii) Adicionalmente, dado que el valor de la telemetría debe asignarse a esta nueva
variable, antes de cada instrucción Statement conteniendo un identificador de
telemetría, es necesario añadir un nuevo nodo Telemetry Assignment, donde la nueva
variable Identifier reciba el valor de la telemetría original.
iv) Finalmente, dado que MOIS no utiliza declaraciones específicas para las telemetrías,
remplazamos todos los nodos Telemetry Declaration, por nodos Declaration que
contengan las variables regulares.
Implementación: el uso de la librería para realizar la transformación se presenta en la Figura 8.
/*iterar por los identificadores de telemetrías*/
for(Node node :
fun.getNodes("//Identifier[not(ancestor::TlmDeclaration)]" +
"[string/text()=//TlmDeclaration/list/Identifier/string/text()]")) {
/*crear nodo de asignamiento de telemetría*/
Node stat = fun.getNode(node, "ancestor::Statement[1]");
Node newN = fun.createBefore(stat, "Statement/TlmAssignment")
.getFirstChild();
newN.appendChild(fun.clone(node));
newN.appendChild(fun.clone(node));
}
/*cambiar tipo de declaración de telemetría*/
fun.rename("//TlmDeclaration", "Declaration");
Figura 8. Transformando telemetrías con la librería Java.
Encabezado y cuerpo del procedimiento
Diferencia: al comparar las definiciones de la producción Procedure, en STOL y MOIS, se puede
ver que los procedimientos en MOIS constan de un Header y un Body, los cuales no están
presentes en procedimientos de STOL
Transformación: para adaptar esta sección del AST de STOL, haciéndolo compatible con MOIS,
se requieren los siguientes pasos.
i) En STOL, un procedimiento tiene una sola lista de nodos Statement donde se ubican
todas las instrucciones a ser ejecutadas. Es necesario recubrir esta lista con un nuevo
nodo Body.
ii) Justo antes del recientemente creado nodo Body (que ahora contiene todas las
instrucciones), es necesario crear un nuevo nodo Header.
38
iii) En MOIS solo es posible declarar variables al interior del Header, de tal manera que es
necesario recolectar todos los nodos Declaration y moverlos desde Body hacia Header.
iv) En STOL es permitido declarar más de una variable en una sola instrucción. En MOIS
esto se prohíbe, siendo necesario una instrucción Declaration, con una sola variable,
por instrucción. Es necesario entonces crear un nuevo nodo Declaration por cada nodo
Identifier dentro de un nodo Declaration en STOL.
Implementación: en la Figura 9 se puede observar el código Java para este caso.
/*recubrir instrucciones con un nodo Body*/
fun.wrap("/Procedure/list", "Body");
/*crear la estructura Header*/
fun.createInsideFirst("/Procedure", "Header/at:list");
/*mover declaracines dentro del encabezado*/
fun.moveInside("//Statement[Declaration]", "/Procedure/Header/list");
/*dividir declaraciones múltiples de variables*/
fun.removePreserveContent("//Declaration/list");
fun.splitChilds("//Declaration");
Figura 9. Transformando encabezado y cuerpo
Comentarios
Finalmente, en el tercer caso analizado, se revisa cómo adaptar los comentarios. Uno de los
requerimientos de este experimento era mantener los comentarios, respetando al máximo su
posición relativa en el código fuente.
Diferencia: dos diferencias significativas existen entre ambos lenguajes. Primero, STOL acepta
un nodo Comment al final de la línea, formando parte de la instrucción que inicia la línea. En
MOIS, los nodos Comment son siempre una instrucción independiente. Segundo, STOL no
establece ninguna diferencia en cuanto al contexto en el cual un comentario aparece. Para MOIS,
si un comentario está atado a un nodo Declaration, debe ir al interior del mismo, y no antes, como
ocurre en el caso general.
Transformación: los pasos a seguir vienen a continuación.
i) Para cada nodo Comment, al interior de nodos Statement que declaren variables,
mover el nodo Comment al interior del nodo Declaration relacionado. Un comentario
puede ser compartido por más de una declaración de variable, en cuyo caso deberá
ser replicado para cada una de ellas.
ii) Tomar los nodos Comment de fin de línea, y moverlos justo antes del nodo Statement
al cual pertenecen, recubriéndolos de un nodo Statement independiente.
iii) Eliminar los nodos Comment vacíos.
Implementación: la implementación de esta transformación se presenta en la Figura 10.
39
/*replica comentarios en declaraciones*/
for (Node node : fun.getNodes("//Statement/Declaration")) {
node.appendChild(fun.clone(node, "../Some | ../None"));
}
/*extraer comentarios e independizarlos*/
for (Node node : fun.moveBefore(
"//Statement[not(Declaration)]/Some[Comment]", "..")) {
fun.rename(node, "Statement");
}
/*eliminar comentarios vacíos*/
fun.remove("//Statement/None | //Statement/Some");
fun.removePreserveContent("//Header/list/Statement");
Figura 10. Transformando comentarios.
4. Discusión La librería de transformaciones utilizada se compone de una serie de funciones de transformación
primitivas, las cuales pueden ser combinadas para obtener transformaciones más complejas.
Estas funciones primitivas fueron reutilizadas en diversas situaciones y combinaciones (ver la
Figura 7) para resolver las diferencias estructurales encontradas. Esta reusabilidad permitió a los
programadores escribir transformaciones bastante complejas, mientras que solo un número
relativamente pequeño de funciones dentro de la interfaz de programación debía dominarse.
Analizando en retrospectiva el experimento completo de construir un traductor desde STOL hacia
MOIS, se nota que al menos para una tercera parte de las producciones cierto tipo de intervención
fue necesaria. Se ve así que la cantidad de trabajo adicional para completar el traductor es
significativa. Afortunadamente es notorio que la implementación de las intervenciones presenta un
alto nivel de repetitividad, lo cual pone de manifiesto que es muy probable incrementar el grado de
automatización, inclusive generando un lenguaje dedicado para la definición de transformaciones.
5. Trabajos relacionados La técnica de gramáticas anotadas, sobre la que este trabajo se fundamenta, fue presentada por
Ordóñez et al. (2010). Dicha técnica aplica principios de la transducción dirigida por la sintaxis de
Lewis y Stearns (1968), de la grammarware de Klint et al. (2005) y de la técnica de inversión de
gramáticas de Yellin (1988), principalmente.
Varios problemas específicos de traducción de programas han sido sujeto de estudio, como
aquellos de Lämmel (2001) y Terekhov (2000, 2001), muchos de los cuales sirvieron de
inspiración también para el presente enfoque. Visser (2001) describe de manera apropiada las
alternativas existentes.
Entre las técnicas relacionadas existentes, merece la pena mencionar las siguientes: Wyk (2002)
estudia un mecanismo de expansión para añadir modularmente nuevas características a un
lenguaje mediante el uso de gramáticas de atributos. Schürr (1994) estudia traductores de grafos,
en los cuales las relaciones se describen a través de reglas de correspondencia. Wile (1991)
proporciona una forma alternativa de generar traductores basada en sets de reglas dirigidas por la
40
sintaxis. Similar a nuestro enfoque, Cleenewerck (2005) utiliza linglets, que dividen cada problema
de traducción en los componentes que lo constituyen para ejecutarlos en pasos lógicos
separados. Finalmente, un enfoque muy cercano a la librería descrita en este artículo lo presenta
Moreau (2003), con su framework TOM, el cual muestra cómo extender un programa como Java o
C con el soporte necesario para facilitar la manipulación de sus propios AST.
6. Conclusiones y trabajo a futuro En trabajos preliminares se estudió cómo construir automáticamente reglas de transformación
para traducción de programas, mediante el uso de anotaciones de mapeo incluidas en las
gramáticas de los lenguajes. Para ser efectiva, esta técnica requiere de una equivalencia directa
entre los AST correspondientes a las producciones mapeadas, y generalmente era posible
encontrar muchas diferencias estructurales entre dos gramáticas.
En este trabajo se ha intentado resolver las diferencias estructurales entre los AST de diferentes
lenguajes, mediante el uso de una técnica operacional. En primer lugar se diseñó una librería de
funciones específicas de alto nivel para ejecutar transformaciones de programas. Luego se utilizó
dicha librería para definir las transformaciones apropiadas que permitan equiparar los AST de las
gramáticas fuente y destino.
A futuro es de interés estudiar alternativas para incrustar en las gramáticas de los lenguajes
anotaciones simples pero significativas, que permitan describir cómo un AST proveniente de un
lenguaje fuente, debe ser transformado para adaptarlo a un lenguaje destino, en casos más
complejos que la equivalencia uno a uno.
Bibliografía Cleenewerck, T., & D’Hondt, T. (2005). Disentangling the implementation of local to global
transformations in a rewrite rule transformation system, Proceedings of the 2005 ACM
symposium on Applied computing. pp. 1398–1403.
Integral Systems (2000). EPOCH T & C Directives and STOL Functions Reference Manual. Kratos
Integral Systems International, Inc. 5200 Philadelphia Way - Lanham MD. 20706 - U.S.A.
http://www.integ.com/.
Klint, P., Lämmel, R., & Verhoef, C. (2005). Toward an engineering discipline for grammarware.
ACM Transactions on Software Engineering and Methodology (TOSEM), 14, 3 (July 2005),
pp. 331-380.
Lämmel, R., & Verhoef, C. (2001) Cracking the 500-Language Problem, IEEE Software, pp. 78–88.
Lewis, P. M., & Stearns, R. E., (1968). Syntax-Directed Transduction. Journal of the ACM, 15, 3
(July 1968), pp. 465-488.
41
Moreau, P-E., Ringeissen, C., & Vittek. M. (2003). A pattern matching compiler for multiple target
languages. Proceedings of the 12th international conference on Compiler construction
(CC'03), Springer-Verlag, Berlin, Heidelberg, pp. 61-76.
Ordóñez Camacho, D., Mens, K., van den Brand, M., & Vinju, J. (2006) Automated derivation of
translators from annotated grammars. Electronic Notes in Theoretical Computer Science
164, Issue 2, pp. 121–137.
Ordóñez Camacho, D., & Mens, K. (2007). Using annotated grammars for the automated
generation of program transformers. Ingénierie Dirigée par les Modéles, IDM 2007, pp. 7 –
24.
Ordóñez Camacho, D., & Mens, K. (2008). APPAREIL: A Tool for Building Automated Program
Translators Using Annotated Grammars. Proceedings of the 2008 23rd IEEE/ACM
International Conference on Automated Software Engineering (ASE '08), pp. 489-490.
Ordóñez Camacho, D., Mens, K., van den Brand, M., & Vinju, J. (2010). Automated generation of
program translation and verification tools using annotated grammars. Science of Computer
Programming, 75, 1-2 (January 2010), pp. 3-20.
Quigley, D., & Cater, S. J. (2006). Satellite test and operation procedures cost reduction through
standardization. IEEE Aerospace Conference., p. 10.
Schürr, A. (1994). Specification of Graph Translators with Triple Graph Grammars. Proceedings of
the 20th International Workshop on Graph-Theoretic Concepts in Computer Science (WG
'94), Springer-Verlag, London, UK, pp. 151-163.
Terekhov, A., (2001). Automating Language Conversion: A Case Study, Proceedings of the IEEE
International Conference on Software Maintenance (ICSM’01), pp. 654–658.
Terekhov, A., (2001); Automating language conversion: a case study, IEEE International
Conference on Software Maintenance, pp. 654–658.
Terekhov, A., & Verhoef, C. (2000). The realities of language conversions, IEEE Software, 17, pp.
111–124.
Visser, E. (2001). A survey of strategies in program transformation systems. Electronic Notes in
Theoretical Computer Science. 57, pp. 109 – 143.
Wile, D. S. (1991). Popart Manual. USC/Information Sciences Institute.
Wyk, E. V., de Moor, O., Backhouse, K., & Kwiatkowski, P. (2002). Forwarding in attribute
grammars for modular language design. Computational Complexity, pp. 128–142.
42
Yellin. D. M. (1988). Attribute Grammar Inversion and Source-To-Source Translation. Springer-
Verlag New York, Inc., New York, NY, USA.
Top Related