A Software Product Line for Embedded Systems
HiLeS 2.0
Objectives:
The HiLeS2 Framework was developed to aid the Embedded System Designers during the design process. The HiLeS2 Framework purpose is to serve as a platform to create Embedded System Product Lines. It incorporates both tools developed by the group and open source tools to provide an Integrated Development Environment (IDE) suitable for system specification, product line construction and virtual prototype generation.
The HiLeS2 Framework serves as a tool for:
- System-level design in SysML for visualization and validation of the system-level model in SysML (Papyrus Editor)
- Automatic Virtual Prototype (VP) generation in Hardware Description Language for visualization of intermediate models
- Specialized "per Product Line" IDE construction for definition of base assets and configuration options for a specific family of products. Access to Fiesta set of tools for Product Line definition
- Interface to TINA: formal Petri Net verification tool for HiLeS model validation
The Specialized IDE in turn serves as a tool for:
- Product Configuration
- Intellectual Properties (IP) search and retrieval
- Refined VP generation
- Duration Constraint Validation (VP simulation vs. system requirements)
The HiLeS Framework supports the design process presented in Figure 1. Initially the Domain Engineer constructs the system level model of the base platform using SysML. Then using the Framework tools generates the HiLeS model of the system's platform. The system is then validated with TINA. If the Validation is ok, the VP in VHDL-AMS and Verilog-AMS are constructed for platform verification through simulation. Then the domain engineer defines the variability of the platform and constructs the specialized IDE. Then the Product Engineer can configure specific products and generate VP of them. IN the case of VHDL-AMS prototypes, the product engineer can use Tucan to validate duration constraints.
A Software Product Line for Embedded Systems High Level Specification of Embedded Systems - HiLeS 2.0 project
Contact |
Rubby Casallas David Méndez Acuña Horacio Hoyos |
|
rcasalla df.mendez73 h.hoyos95 |
Status |
Active |
Current Members
- Fernando Jimenez
- Rubby Casallas
- Horacio Hoyos
Former Members
- Dario Correal
- Claudia Arcos
- Johnatan Rojas
A Software Product Line for Enterprise Applications
Mandarina Enterprise
Objectives
The Mandarina Enterprise project began in 2006 at the Universidad de los Andes. Initially conceived as the master's thesis of Andres Yie and Juan Bohórquez, it has been modified and incorporated throughout the years in various projects and courses at the University. The main product of this project is a model transformation chain for automatic generation of enterprise applications (EAT-MTC). Along the evolution of the MTC, some variability issues have been included. As a result, currently we have a complete software product line.
The EA-MTC addresses two aspects of software development in the context of enterprise applications, and more specifically, management information systems:
- Improve productivity
- Achieve independency from technology
Improve Productivity:
Very often in software development we find that repetitive and tedious tasks consume a significant amount of time that can be used for other crucial activities. This enables a situation in which a potentially greater amount of defects could be introduced in the application under development. To tackle this problem, the EA-MTC uses a Model Driven Approach to generate some of the necessary source code that a developer would have to write manually. By doing this, our approach:
- Simplifies the design process
- Increases the amount of generated code
- Guarantees higher quality products
- Reduces the use of development resources
Achieve Independency from Technology:
Based on the Model-Driven Architecture (MDA) principles of interoperability and reuse, the EA-MTC aims to reduce the time, cost and complexity associated with the re-implementation of applications on different platforms. By defining Platform-Independent Models (PIMs) that document the desired business functionality and behavior, and separating them from the underlying platform implementation, our approach diminishes the impact of technological constraints on the solution being constructed. Platform-Specific Models (PSMs) are then developed in order to materialize the given solutions on a specific technological platform.
The Transformation Chain
Figure 1 shows the EA-MTC. It uses various metamodels and transformations to convert high-level models rooted in the problem domain, into low-level models rooted in the solution domain. As the chain progresses each transformation creates a model that expresses the desired solution in a more technologically-related manner. The metamodels are described up next:
Enterprise Applications Metamodel
The Enterprise Applications Metamodel (EA) is the domain where the business concepts are modeled with no dependencies on the underlying platform. It includes a set of elements that allow the developers to express business entities and the relationships among them. A model conforming to this metamodel acts as the input for the transformation process.
Enterprise Architecture Metamodel
The Enterprise Architecture Metamodel (EARC) represents the layers of the system, the communication among them and the architectural elements contained in each layer. It is part of a structuring process in which the application is now expressed in terms of the logical constructs that constitute it. An EARC model is also platform-independent.
Java Enterprise Edition Metamodel
The JEE Platform Metamodel (JEE) provides a more concrete view on how the solution will be implemented. The application is now modeled in terms of the artifacts that comprise this technology, but maintaining the logical structure defined in previous models.
Java Language Metamodel
The Java Metamodel (JAVA) handles the concepts from this language that can be used to ultimately implement the desired solution. Concepts such as Class, Methods and Attributes represent the elements that will be converted into the source code of the application. All previous decisions and semantics are expressed in terms of this programming language.
Figure 1. EA-MTC
A Software Product Line for Enterprise Applications A model-driven software product line for enterprise applications - Mandarina Enterprise
Contact |
Rubby Casallas David Méndez Acuña Jaime Chavarriaga |
|
rcasalla df.mendez73 ja.chavarriaga908 |
Status |
Active |
Current Members
- Rubby Casallas
- Jaime Chavarriaga
- Natalia Parrado
Former Members
- Willy Montes
- Jesús Vargas
- Lina Marcela
- Andres Yie
- Juan Bohorquez
- Fabian Ceballos
- Andres Romero
A Software Product Line for Scheduling Open Shop Algorithms
S.O.S - Scheduling Open Shop
Objectives:
The issue of sustainable mobility in large cities has increasingly gained attention in the later years. In turn this includes many other topics such as public transport, alternative transportation means, low-emission vehicles, and so forth.
A topic that has not received proper attention is the mobilization of cargo vehicles throughout the city. Cargo vehicles such as trucks, buses and vans, in addition of having a greater size than the average private passenger vehicles, move at lower speeds than the other vehicles in the cities. Moreover, the locations where these vehicles operate are characterized by a high density of businesses and warehouses, and by heavy traffic. These vehicles, when arrive to their destinations, usually wait for loading/unloading for long periods of time causing congestion and loss of productivity. These problems have increased with the arrival of hypermarkets, located in residential areas.
The problem of routing and scheduling trucks through warehouses has been widely studied. One may infer that there are two agents (trucks and warehouses) and therefore two points of view for the same problem: The trucks' view and the warehouses' view. These two agents can have conflicting objectives and a schedule that is adequate for one agent may be infeasible for the other one.
From the standpoint of the trucks, the routing has typically been defined as a classical Vehicle Routing Problem with Time Window constraints (VRPTW). In the classic sense, this approach does not consider the problem of capacity of loading and unloading of the warehouse. In other words, the VRPTW approach always assume that the warehouse is ready to serve the truck as long as it arrives during a pre-established time window. In practice, trucks do wait at warehouses because there are loading/unloading constraints.
Warehouses themselves have their own objectives and they do schedule the arrival of trucks. This schedule imposes constraints to the arrivals of trucks which in practice are viewed as time windows by the trucks. In this way, warehouses attempt to mitigate the truck waiting times.
The truck routing and warehouse scheduling problems may be solved separately and the resulting schedules can be satisfactory for both agents. However, as the problem scales up to multiple warehouses and trucks, the resulting schedules may be either infeasible or inadequate for one or more agents. What it is needed is an integrated approach that provides global optimization algorithms.
This combined routing and scheduling problem, according to the scheduling notation, can be defined as an Open Shop with Sequence Dependent Setup Times: In an Open Shop, all jobs (trucks) can visit the machines (warehouses) in the order they wish. Therefore the truck routes have to be established. Likewise, the order in which each warehouse sequences its trucks has to be also defined. The Sequence Dependent Setup Times are one constraint that refer to the fact that trucks must travel between warehouses and the travel times are modeled as setup times.
The purpose of this project is to provide a mechanism to solve the mentioned routing and (open shop) scheduling problems in the context of mobility of cargo vehicles. Specifically, we aim at creating an environment in which the scheduling expert is able to:
- Model most (open shop) scheduling problem and their constraints for real life settings.
- Use, at low cost, diverse algorithms to solve the problem
- Compare the results to be able to choose the one that provides the best performance in terms of solution quality and computer time. It should also be scalable, flexible and efficient.
- Explain the results in terms of the domain of the initial problem.
A Software Product Line for Scheduling Open Shop Algorithms S.O.S Project
Contact |
Rubby Casallas David Méndez Acuña |
|
rcasalla df.mendez73 |
Status |
Active |
Current Members
- Gonzalo Mejía
- Rubby Casallas
- David Mendez Acuña
- Juan Pablo Caballero
- Oriana Cendales
- Juan Guillermo
- Jaime Romero
Former Members
- Lindsay Álvarez
A Software Product Lines for Mobile Applications
Mandarina Mobile
Objectives
The constant growth, the global incursion, the technological advance and acceptance in the market of mobile devices, arise new needs and opportunities for a variety of organizations that are present in different business areas to provide their value offers or just improve business operation through this channel of distribution. Competition, cost reduction and productivity are the main motivations that push the companies to have mobile applications in their portfolio.
Therefore, the development of applications for mobile devices is a subject that takes a lot of interest and is characterized by the wide variety of platforms, the existing devices and their accelerate evolution.
Mandarina Mobile is a model driven software product line that wants to address those kinds of challenges delivering mobile applications in a specific context, managing the diversity of devices and platforms and the variability in functional requirements between different products.
The generated applications are hybrid applications based on HTML5 in a particularly context: connected mobile applications, characterized by being handled by a back-end server and some cellphone specific features like the use of the GPS, camera, contacts, etc.
Main results
Identification of functional and non-functional mobile patterns in the selected domain.
Design of the mobile base architecture in the SPL.
Development of the hybrid mobile application that will guide the generated ones.
A Software Product Lines for Mobile Applications A model-driven software product line for mobile applications - Mandarina Mobile Project
Contact |
Rubby Casallas David Méndez Acuña Carlos Andrés Toro |
|
rcasalla df.mendez73 ca.toro949 |
Status |
Active |
- Rubby Casallas
- Carlos Andrés Toro
- Román Albarracín
- Leonardo Ibarra