I'm a researcher and engineer at the Alternative Energies and Atomic Energy Commission (Commissariat à l'énergie atomique et aux énergies alternatives). I lead projects about software engineering, model-driven engineering, systems verification and testing, variability management and requirements engineering. I have experience on applying those areas to software product line engineering, highly configurable systems analysis, domain-specific languages engineering, and smart manufacturing industry - or Industry 4.0.
Please do not hesitate to contact me for:
- Receiving training,
- Establishing collaborative work,
- Solving interesting engineering problems.
E-mails: alferez.mauricio at gmail.com, or mauricio.alferez at cea.fr
My LinkedIn public profile.
My public Research Gate profile.
Google Scholar Citations.
A partial list of publications from the DBLP Bibliography Server.
Research and Engineering Interests
I am interested in the area of Computer Science Engineering. The topics that keep most of my attention and current research effort are:
- Model-driven systems development and domain-specific languages engineering.
- Variability management (Software product lines, generation, artefacts reverse engineering, variability and highly configurable systems analysis).
- Software verification (Automatic verification, model-based verification, applied formal methods, testing, and test data input generation).
- Software and systems process engineering (Smart manufacturing and business modeling).
- Requirements engineering.
I spend considerably in the following journals and events:
Program committee member:
- Requirements Engineering track of the 30th ACM/SIGAPP Symposium On Applied Computing (RE at SAC 2015).
- Workshop on Multi-Paradigm Modeling (MPM 2013-2014).
- Quality in Model Driven Engineering track of the International Conference on the Quality of Information and Communications Technology (Quatic 2014-2016).
- Journal on Software & System Modeling.
- Transactions on Aspect-Oriented Software Development: Special Issue on Aspects and Model-Driven Engineering.
- Empirical Software Engineering Journal.
- Entropy Journal.
- Requirements Engineering Journal.
- Journal of Software Engineering Research and Development.
- World Congress of the International Federation of Automatic Control (IFAC 2017).
- International Conference on the Quality of Information and Communications Technology (QUATIC 2014, 2015, 2016).
- International Conference on Engineering of Complex Computer Systems (ICECSS 2016).
- Requirements Engineering track on the Symposium On Applied Computing (SAC 2014).
- Component-Based Software Engineering (CBSE 2014).
- Symposium On Applied Computing (SAC 2013).
- International Conference on Software Language Engineering (SLE 2011).
- International Conference on Aspect-Oriented Software Development (AOSD 2011, AOSD 2008).
- European Conference on Modelling Foundations and Applications (ECMFA 2011).
- INForum – Simpósio de Informática (INForum 2010)
- International Conference on Model-Driven Engineering Languages and Systems (MODELS 2011, MODELS 2010, MODELS 2009).
- Annual ACM Symposium on Applied Computing (SAC 2008).
- International Conference on Logic Programming (ICLP 2008).
- Iberoamerican Conference on Requirements Engineering and Software Environments (IDEAS 2008)
- Congreso Internacional de Computacion y Telecomunicaciones (Comptel 2015, 2016, 2017)
- International Workshop on Multi-Paradigm Modeling (MPM 2013-2014).
- International Workshop on Free Composition (FreeCo 2011).
- International Workshop on Aspect-Oriented Modeling (AOM 2010).
- International Workshop on Model-Driven Product Line Engineering (MDPLE 2009).
- International Workshop on Modeling in Software Engineering (MiSE 2008).
(Apart from the presentations of the research articles in conferences):
- Industrial presentation for Eclipse Con France – “Close encounters between SysML and Requirements", Toulousse, France, 08/June/2016
- Seminar – “Modeling Variability in the Video Domain: Language and Experience Report”, CEA-List, Paris, France, 16/May/2014
- Postgraduate lecture – “Product Line Engineering: An Introduction”, Southern University, TN, USA, 15/Oct/2013
- Postgraduate lecture – “Input Space Partitioning for Testing and Quality Assurance”, Southern University, TN, USA, 15/Oct/2013
- Postgraduate lecture – “Computational Thinking and Domain-Specific Languages”, Southern University, TN, USA, 14/Oct/2013
- Research presentation – ”Tests Generation and Selection for Highly-Configurable Systems: The MOTIV project”, Triskell Coffee, Rennes, France, 26/Sep/2013
- Research presentation – ”Consistency Checking of Early Models in Product Line Engineering”, Annual Workshop with the External Advisory Board, CITI – Center of Informatics and Information Technology, Caparica, Portugal, 04/Jun/2012
- Research presentation – “Unified Consistency Checking and Variability Language”, Johannes Kepler University, Austria, 09/May/2012
- Posgraduate lecture – “DSLE & SPLE : Domain Specific Languages Engineering and Software Product Lines Engineering”, DSMTP Summer School, Lisbon, Portugal, 10/March/2011
- Seminar – “DSLE & SPLE : Domain Specific Languages Engineering and Software Product Lines Engineering”, Tertulias de Ingeniería de Software, Group: GIDI-TIC. Línea Ingeniería de Software, EAFIT University, Medellin, Colombia. Lisbon, Portugal, 10/March/2011
- Postgraduate lecture – “Domain Engineering: The Case for DSLs”, DSMTP Summer School, Lisbon, Portugal, 6/September/2010
- Research presentation – “Model-Driven Requirements Composition in Software Product Line Engineering: The Case of Use Cases and Scenarios”, AOM’2010, Bellairs Research Institute, Barbados, 13/April/2010
- Research lecture – “WP1-Requirements Engineering for Software Product Lines”. AMPLE project, Technische Universität Darmstadt, Germany, 3/February/2008.
- Research presentation – “WP1-Requirements Engineering for Software Product Lines”. AMPLE project, Ecole des Mines de Nantes, Nantes, France, 25/June/2008.
- Research presentation – “WP1-Requirements Engineering for Software Product Lines”. AMPLE project, Lancaster University, United Kingdom, 28/September/2007.
- Posgraduate lecture – “An introduction to Aspect-oriented software development”, Universidad EAFIT, Colombia. October, 2006.
(To be completed…)
Some of My Projects
BEinCPPS - Business Experiments in Cyber Physical Production Systems (http://www.beincpps.eu/) [Financed by the EU] Project started in 2015
Diamant - Digital Advanced Manufacturing Technologies (Smart Factories). [Financed by France] Project started in 2016
I have also worked directly on the followed projects:
Variability Modeling and Test Management for Highly-Configurable Software. [Financed by France] Project started in 2013
AMPLE (Aspect-Oriented Model-Driven Software Development) [Financed by the European Union] Researching in Software Product Line (SPL) development methodologies that offer improved modularization of variations, their holistic treatment across the software life-cycle and maintenance of their forward and backward traceability during SPL evolution using Aspect-oriented, Model-driven engineering. This work was part of the project AMPLE – Aspect-Oriented, Model-driven, Product Line Engineering, coordinated by the university of Lancaster, U.K and several European Union universities and industrial partners. The funding entity was the European Union with 3,7 Millio Keuro. This project finished in 2009.
MMedusa [Financed by EAFIT university, Avansoft S.A and the Colciencias (Department of Administrative Science, Technology and Innovation), Colombia] Research project created to define a development framework for the development of Aspect-Oriented Applications. This project finished in 2008.
Portable Diagnosis System for Mobile Data Acquisition (Sistema Portátil de Diagnósitico – SPD) [Financed by Metro de Medellín Ltda., Colciencias (Department of Administrative Science, Technology and Innovation) and EAFIT university, Colombia] Implementation of the UIC 518 norm of the International Union of Railways in the Metro System of Medellín. This software allows the analysis and testing of railway vehicles from the point of view of their dynamic behavior, safety, track fatigue and ride quality. This project finished in 2006.
I have developed a range of tools to support my research and its industrial application. If you are interested to continue developing one of these tools please send me an email.
Part of the Papyrus Moka BPMN Simulator. It supports the simulation of processes written in the standard BPMN language extending the simulation environment Moka. Moka is a Papyrus module for execution of UML models, which natively includes an execution engine complying with OMG standards foundational UML (fUML) and Precise Semantics of UML Composite Structures (PSCS). These standards deal with execution semantics of UML. Moka is integrated with the Eclipse debug framework to provide control, observation and animation facilities over execution.
Papyrus 4 Metrics (Papyrus for Model-based Measuring). It supports systems models measurement and implements the OMG Structured Metrics-Model (SMM) standard. The Structured Metrics Metamodel (SMM) is a public specification from the Object Management Group (OMG). SMM specifies a metamodel for defining, representing and exchanging both measures and measurement information related to any structured information model, such as the OMG Meta Object Facility (MOF) standard, defining an XMI interchange format between metrics extraction tools. To download it, visit: https://eclipse.org/papyrus/.
Papyrus 4 Requirements (Papyrus for Model-based Requirements Engineering). It supports the specification and analysis of requirements in the context on systems modeling. Papyrus 4 Requirements covers the Specification, Management, Analysis and Validation/Verification activities of Requirements Engineering. To download it, visit: https://eclipse.org/papyrus/.
VM (Variability Modeling Language and Editor). Variability modeling is crucial for the development of highly configurable systems such as video sequences generators and product lines. The variability modeling language provides a light human readable and writable textual notation that is modular, analyzable, aware of attributes, and type safe. The design rational and criteria were given by the industrial needs or our industrial partners in France. The development of this tool is based on JAVA and Xtext (http://www.eclipse.org/Xtext) and it makes interface with the famous CSP Choco solver (http://choco.emn.fr). To download it, visit: https://github.com/FAMILIAR-project/VM-language.
SXFM (Simple XML Feature Model) Translation to EMF Ecore for SPLOT (Software Product Lines Online Tools) http://www.splot-research.org/. I translated the SPLOT’s SXFM (Simple XML Feature Models) specification to EMF Ecore (http://eclipse.org/modeling/emf/). This tool is composed of Eclipse-based plugins hosted at SPLOT (news). These plugins include an editor for feature models, an Ecore-based metamodel and JAVA code that implements cardinality-based feature models. SPLOT is an open platform based on Open Source software that provides cutting-edge online tools for Software Product Lines. To download it, visit: http://gsd.uwaterloo.ca:8088/SPLOT/sxfm.html# (bottom of the page).
VML4RE (Variability Modelling Language for Requirements). VML4RE is a Domain-Specific Language (DSL) that allows to express the relationships between variability elements and requirements model elements, such as use case and activity models. Also, VML4RE implements special model transformations that are specific to the types of models used to describe an SPL, therefore, providing a terminology familiar to SPL engineers.
VCC (Variability Consistency Checker). Software Product Line Engineering (SPLE) is a successful paradigm to produce a family of products for a specific domain. A challenge in SPLE is to check that different models used in early SPL specification do not contain inconsistent information that may be propagated and generate inconsistent products that do not conform to its requirements. This challenge is difficult to address due to the high number of possible combinations of product features and model fragments specifying those features. VCC (Variability Consistency Checking) offers automatic means to address that challenge. VCC relates information inferred from the relationships between features and from base models related to those features. Validating if all the products in an SPL satisfy user-defined consistency constraints is based on searching for a satisfying assignment of each of the formulas generated by VCC. VCC and its supporting tool were validated on two case studies from different application domains, and the results were encouraging as no significant performance penalties were observed.
SPD (Portable Diagnosis System for Mobile Data Acquisition). I co-leaded and developed the integration process of a specialized software application named SDP. SPD allowed to implement the UIC 518 norm of the International Union of Railways in the subway of my city: Sistema Metro de Medellín, Colombia. This software allowed to analyze and test railway vehicles from the point of view of their dynamic behavior, safety, track fatigue and ride quality. The implementation was based on LabView (www.ni.com/labview) and MatLab (http://www.mathworks.com/products/matlab/) environments.
International Scientific Journals Articles:
Augmenting Measure Sensitivity to Detect Essential, Dispensable and Highly Incompatible Features in Mass Customization @ European Journal of Operational Research
Consistency Checking in Early SPL Specifications – The VCC Approach @ Journal of Universal Computer Science - May, 2014
Evaluating Scenario-Based SPL Requirements Approaches — The Case for Modularity, Stability and Expressiveness @ IEEE Requirements Engineering Journal – October, 2013
Relating Feature Models to Other Models of a Software Product Line – A Comparative Study of FeatureMapper and VML* @ Transactions on Aspect-Oriented Software Development VII – 2010
Aspect-Oriented Software Development: A Practical Case for an On-line Help Desk System @ Revista Avances en Sistemas e Informática - June, 2008
National Journals Articles
- Using Clapack to Solve Linear Equations Systems Using Parallelism and Memory Optimization (utilización de clapack para resolver sistemas de ecuaciones lineales mediante paralelismo y optimización de memoria) @ Unaciencia - Revista de Estudios e Investigaciones - September, 2009
Hybrid Assessment Method for SPL @ Aspect-Oriented, Model-Driven Software Product Lines Engineering, Cambridge press, U.K. - 2011
Variability Management @ Aspect-Oriented, Model-Driven Software Product Lines Engineering, Cambridge press, U.K.- 2011
An Aspect-Oriented Framework to Model Non-Functional Requirements in Software Product Lines of Service-Oriented Architectures @Non-Functional Properties in Service Oriented Architecture: Requirements, Models and Methods, IGI, USA. - 2011
Model-Driven Requirements Specification for Software Product Lines @ Model-Driven Domain Analysis and Software Development: Architectures and Functions, IGI, USA- 2010
Multi-View Composition Language for Software Product Line Requirements @ Software Language Engineering, Springer, Germany - 2010
Scientific Articles in Proceedings of International Events
Towards Industry 4.0: Gap Analysis between Current Automotive MES and Industry Standards using Model-Based Requirement Engineering @ Third International Workshop on Automotive Software Architectures (WASA 2017), Gothenburg, Sweden - 2017
Conceiving the Model-Driven Smart Factory @ International Conference on Software and System Process (ICSSP), Tallinn, Estonia - 2015
ViViD: A Variability-Based Tool for Synthesizing Video Sequences @ 18th International Software Product Line Conference (SPLC), tool track, Florence, Italie – 2014
A Variability-Based Testing Approach for Synthesizing Video Sequences @ International Symposium on Software Testing and Analysis (ISSTA), San Jose, CA, USA – 2014
Aspect-Oriented Model Development at Different Levels of Abstraction @ Proceedings of the Seventh European Conference on Modelling Foundations and Applications (ECMFA), Birmingham, United Kingdom- 2011
Supporting Consistency Checking between Features and Software Product Line Use Scenarios @ Proceedings of the 12th International Conference on Software Reuse (ICSR), Pohang, Korea - 2011
Detecting Feature Interactions in SPL Requirements Analysis Models @ Proceedings of the 1st International Workshop on Feature-Oriented Software Development (FOSD), Denver, USA - 2009
Multi-View Composition Language for Software Product Line Requirements @ Proceedings of the 2nd International Conference on Software Language Engineering (SLE), Denver, USA - 2009
VML* – A Family of Languages for Variability Management in Software Product Lines @ Proceedings of the 2nd International Conference on Software Language Engineering (SLE), Denver, USA - 2009
A Model-Driven Approach for Software Product Lines Requirements Engineering @ Proceedings of the 20th International Conference on Software Engineering and Knowledge Engineering (SEKE), San Francisco, CA, USA- 2008
Benchmarking Stability of Aspect-OrientedProduct-Line Decompositions @ Proccedings of the 4th Workshop on Assessment of Contemporary Modularization Techniques (ACoM), Jeju Island, South Corea – 2010
Tracing between Features and Use Cases: A Model-Driven Approach @ Proceedings of the 2nd International Workshop on Variability Modelling of Software Intensive Systems (VAMOS) -Essen, Germany - 2008
Generating Requirements Analysis Models from Textual Requirements @ Proceedings of the 1st International Workshop on Managing Requirements Knowledge held in conjunction with Requirements Engineering Conference (RE) - Barcelona, Spain - 2008
Towards Volatility Analysis in Software Product Line Engineering @ Second International Workshop on Aspect-Oriented Product Line Engineering (AOPLE) held in conjunction with Generative Programming and Component Engineering conference (GPCE) – Saltzburg, Austria - 2007
Research and Technical Reports
Modeling Variability in the Video Domain: Language and Experience Report, Research report RR-8576 @ INRIA, France - 20140 link
MDD Approach for Requirements Refinement to Architecture, D1.3. @ Lancaster University, United Kingdom - 2009
Tool suite for aspect-oriented, model-driven requirements engineering, D1.5. @ Lancaster University, United Kingdom -2009
Tracing between Features and UML-Based Requirements Models: A Model-Driven Approach for Software Product Lines, TR01 @ Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa, Portugal - 2008
Survey of the state-of-the-art in Requirements Engineering for Software Product Line and Model-Driven Requirements Engineering, D1.1. @ Lancaster University, United Kingdom - June, 2007