From 763d7df56de39c421f2c52af38528fdaa48751e1 Mon Sep 17 00:00:00 2001 From: Alex-GF Date: Thu, 11 Dec 2025 09:29:37 +0100 Subject: [PATCH 1/2] feat: updated research data --- .../pages/research/data/research-data.tsx | 52 +++++++++++++++++-- 1 file changed, 47 insertions(+), 5 deletions(-) diff --git a/frontend/src/modules/presentation/pages/research/data/research-data.tsx b/frontend/src/modules/presentation/pages/research/data/research-data.tsx index 06049ca..cbbd6bf 100644 --- a/frontend/src/modules/presentation/pages/research/data/research-data.tsx +++ b/frontend/src/modules/presentation/pages/research/data/research-data.tsx @@ -1,12 +1,13 @@ import { GrWorkshop } from 'react-icons/gr'; +import { IoNewspaperOutline } from "react-icons/io5"; import { FaPlayCircle } from 'react-icons/fa'; import { primary } from '../../../../core/theme/palette'; -// const journalIconStyle = { -// background: primary[900], -// boxShadow: `0 0 0 4px ${primary[700]},inset 0 2px 0 rgba(0,0,0,.08),0 3px 0 4px rgba(0,0,0,.05)`, -// }; +const journalIconStyle = { + background: primary[900], + boxShadow: `0 0 0 4px ${primary[700]},inset 0 2px 0 rgba(0,0,0,.08),0 3px 0 4px rgba(0,0,0,.05)`, +}; const proceedingsIconStyle = { background: primary[800], boxShadow: `0 0 0 4px ${primary[700]},inset 0 2px 0 rgba(0,0,0,.08),0 3px 0 4px rgba(0,0,0,.05)`, @@ -21,6 +22,47 @@ const demoIconStyle = { // }; const timelineData = [ + { + title: 'Trends in Industry Support for Pricing-Driven DevOps in SaaS', + subtitle: + 'Alejandro García-Fernández, José Antonio Parejo, Francisco Javier Cavero and Antonio Ruiz-Cortés', + text: ['IEEE Transactions on Services Computing'], + date: '2026-01-01', + icon: , + iconStyle: journalIconStyle, + href: 'https://doi.org/10.1109/TSC.2025.3634801', + }, + { + title: 'iSubscription: Bridging the Gap Between Contracts and Runtime Access Control in SaaS', + subtitle: + 'Alejandro García-Fernández, José Antonio Parejo and Antonio Ruiz-Cortés', + text: ['23rd International Conference on Service-Oriented Computing (ICSOC)'], + date: '2025-12-04', + icon: , + iconStyle: proceedingsIconStyle, + href: 'https://link.springer.com/book/9789819550142', + }, + { + title: 'A-MINT: An LLM Pipeline for Automated Modeling of iPricings from SaaS Pricing Pages', + subtitle: + 'Francisco Javier Cavero, José Antonio Parejo, Juan C. Alonso and Antonio Ruiz-Cortés', + text: ['23rd International Conference on Service-Oriented Computing (ICSOC)'], + date: '2025-12-04', + icon: , + iconStyle: proceedingsIconStyle, + href: 'https://link.springer.com/book/9789819550142', + }, + { + title: 'From Pricing Models to Runtime Self-Adaptation: A Demonstration of SPACE', + subtitle: + 'Alejandro García-Fernández, José Antonio Parejo and Antonio Ruiz-Cortés', + text: ['23rd International Conference on Service-Oriented Computing (ICSOC)'], + date: '2025-12-04', + icon: , + iconStyle: demoIconStyle, + href: 'https://youtu.be/-GIpNp90qB8?si=W1kJm7waDmFwi_q6', + awards: ["Best Demonstration Runner-up"], + }, { title: 'HORIZON: a Classification and Comparison Framework for Pricing-driven Feature Toggling', subtitle: @@ -29,7 +71,7 @@ const timelineData = [ date: '2025-06-15', icon: , iconStyle: proceedingsIconStyle, - href: '#', + href: 'https://doi.org/10.1007/978-3-031-97207-2_19', }, { title: 'Automated Analysis of Pricings in SaaS-Based Information Systems', From fb6a601c0523f9b1bece938c3262b56e3b8fe581 Mon Sep 17 00:00:00 2001 From: Alex-GF Date: Thu, 11 Dec 2025 09:30:52 +0100 Subject: [PATCH 2/2] feat: updated contributions site --- .../contributions/data/contributions-data.tsx | 48 +++++++++---------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/frontend/src/modules/presentation/pages/contributions/data/contributions-data.tsx b/frontend/src/modules/presentation/pages/contributions/data/contributions-data.tsx index 1fbb59d..27aef68 100644 --- a/frontend/src/modules/presentation/pages/contributions/data/contributions-data.tsx +++ b/frontend/src/modules/presentation/pages/contributions/data/contributions-data.tsx @@ -1,7 +1,5 @@ import { Chip } from "@mui/material"; import ai4Pricing from './descriptions/AI4Pricing.md'; -import harvey from './descriptions/Harvey.md'; -import goodPractisesPricing2Yaml from './descriptions/goog-practises-pricing2yaml.md'; import sphereServitization from './descriptions/sphere-servitization.md'; import opexSimulation from './descriptions/opex-simulation.md'; @@ -69,7 +67,7 @@ const contributionTags: ContributionTag[] = [ export const contributions: Contribution[] = [ { - title: "Optimización y ampliación de AI4Pricing", + title: "Optimización y ampliación de A-MINT", description: "Este trabajo se centra en mejorar la eficacia de la extracción de precios de sitios web de SaaS, mediante la optimización de prompts y la implementación de Agentes LLM para extraer contenido dinámico. Además, se plantea explorar el uso de grafos de conocimiento que identifiquen elementos clave, reduciendo el ruido en los datos procesados por el LLM. El objetivo es lograr una extracción completa y precisa de la información necesaria para modelar los iPricings de los 30 SaaS del dataset de ICSOC, sirviendo como base para avanzar en la transformación hacia modelos inteligentes.", markdownDescription: ai4Pricing, supervisor: "José Antonio Parejo Maestre and Antonio Ruiz Cortés", @@ -80,17 +78,17 @@ export const contributions: Contribution[] = [ getContributionTag("TFM"), ], }, - { - title: "HARVEY: Holistic Agent for Reasoning on Value and Economic analYsis", - description: "Este trabajo se centra en implementar un chatbot que se integre en la pricing card de SPHERE y que permita hacer diversas consultas sobre un pricing determinado. Además, se plantea explorar el uso de function calling para poder invocar funciones del minizinc que permita obtener datos de otros. El objetivo es lograr un chatbot que pueda interactuar con un pricing y sus versiones anteriores entendiendo al usuario y dando información a través de llamadas a funciones programáticas. Además, podría extenderse para interpretar los requisitos del usuario y poder elaborar restricciones personalizadas que al ejecutar el minizinc nos den valores ciertos y personalizados para el usuario acerca de dicho pricing.", - markdownDescription: harvey, - supervisor: "José Antonio Parejo Maestre and Antonio Ruiz Cortés", - tags: [ - getContributionTag("LLM"), - getContributionTag("TFG"), - getContributionTag("TFM"), - ], - }, + // { + // title: "HARVEY: Holistic Agent for Reasoning on Value and Economic analYsis", + // description: "Este trabajo se centra en implementar un chatbot que se integre en la pricing card de SPHERE y que permita hacer diversas consultas sobre un pricing determinado. Además, se plantea explorar el uso de function calling para poder invocar funciones del minizinc que permita obtener datos de otros. El objetivo es lograr un chatbot que pueda interactuar con un pricing y sus versiones anteriores entendiendo al usuario y dando información a través de llamadas a funciones programáticas. Además, podría extenderse para interpretar los requisitos del usuario y poder elaborar restricciones personalizadas que al ejecutar el minizinc nos den valores ciertos y personalizados para el usuario acerca de dicho pricing.", + // markdownDescription: harvey, + // supervisor: "José Antonio Parejo Maestre and Antonio Ruiz Cortés", + // tags: [ + // getContributionTag("LLM"), + // getContributionTag("TFG"), + // getContributionTag("TFM"), + // ], + // }, { title: "Servitización de SPHERE", description: "Este trabajo puramente técnico consiste en transformar SPHERE en un SaaS que ofrece todas las herramientas de la suite Pricing4SaaS de forma centralizada. Entre las tareas, se propone pricificar SPHERE, diseñar vistas principales del sistema (landing page, login/registro, home page, etc) y prepararlo para despliegue en IaaS/PaaS.", @@ -101,17 +99,17 @@ export const contributions: Contribution[] = [ getContributionTag("TFG"), ], }, - { - title: "Buenas prácticas para el uso de Pricing2Yaml", - description: "Este trabajo de carácter metodológico establece directrices y buenas prácticas para modelar utilizando Pricing2Yaml. Estas guías serán esenciales para abordar el 'process engine', la fase posterior a la extracción de precios. Se propone aplicar estas prácticas sobre el dataset de 162 precios (ICSOC24) e identificar posibles mejoras en la sintaxis. De ser viables, dichas mejoras se implementarían durante el desarrollo del proyecto.", - markdownDescription: goodPractisesPricing2Yaml, - supervisor: "José Antonio Parejo Maestre and Antonio Ruiz Cortés", - tags: [ - getContributionTag("IT Management"), - getContributionTag("TFG"), - getContributionTag("TFM"), - ], - }, + // { + // title: "Buenas prácticas para el uso de Pricing2Yaml", + // description: "Este trabajo de carácter metodológico establece directrices y buenas prácticas para modelar utilizando Pricing2Yaml. Estas guías serán esenciales para abordar el 'process engine', la fase posterior a la extracción de precios. Se propone aplicar estas prácticas sobre el dataset de 162 precios (ICSOC24) e identificar posibles mejoras en la sintaxis. De ser viables, dichas mejoras se implementarían durante el desarrollo del proyecto.", + // markdownDescription: goodPractisesPricing2Yaml, + // supervisor: "José Antonio Parejo Maestre and Antonio Ruiz Cortés", + // tags: [ + // getContributionTag("IT Management"), + // getContributionTag("TFG"), + // getContributionTag("TFM"), + // ], + // }, { title: "Simulación de OpEX en pricings", description: "En este trabajo se busca trabajar en una extensión de Pricing2Yaml que permita asociar un coste de operación a cada característica, con idea de poder calcular el OpEx asociado a la subscripción de cada usuario. Esta cuantía debe ser calculada en base a factores como los servicios externos necesarios para ofrecer la funcionalidad, el coste interno que conlleva mantener la funcionalidad, e.g. IoT simulations, etc. Una vez completada esta primera fase, el alumno puede extender la versión base del editor de SPHERE para que la pricing card del pricing muestre en tiempo real, conforme el pricing se modifica, el OpEX aproximado asociado a la configuración. De esta forma, el prosumer puede validar mientras distribuye las features y ajusta los valores de los límites de uso del pricing que los planes/add-ons no generarán pérdidas por un mal ajuste de los precios.",