1,971 research outputs found
Heavyweight extensions to the UML metamodel to describe the C3 architectural style
UML is widely accepted as the standard for representing the various software artifacts generated by a development process. For this reason, there have been attempts to use this language to represent the software architecture of systems as well. Unfortunately, these attempts have ended in the same representations (boxes and lines) already criticized by the software architecture community.In this work we propose an extension to the UML metamodel that is able to represent the syntactics and semantics of the C3 architectural style. This style is derived from C2. The modifications to define C3 are described in section 4. This proposal is innovative regarding UML extensions for software architectures, since previous proposals where based on light extensions to the UML meta-model, while we propose a heavyweight extension of the metamodel. On the other hand, this proposal is less ambitious than previous proposals, since we do not want to represent in UML any architectural style, but only one: C3
Utilizando CORBA para distribuir aplicaciones intensivas en cálculo
Actualmente se están utilizando supercomputadores para resolver problemas intensivos en cálculo tales como las previsiones meteorológicas, el aprendizaje de redes neuronales artificiales o incluso aplicaciones lúdicas como el ajedrez. El uso de esta tecnología queda limitado a las grandes corporaciones con medios financieros suficientes como para abordar la adquisición de tales ordenadores. La distribución del cálculo entre varios ordenadores es una solución más barata para aquellos casos en los que la aplicación es susceptible de ser distribuida. De hecho, es la única solución para muchas empresas que no pueden adquirir supercomputadores y que sin embargo soportan aplicaciones que precisan de mucha potencia de cálculo (por ejemplo, el análisis de imágenes). En este artículo mostraremos cómo utilizando un middelware, CORBA (Common Object Request Broker Architecture), y una implementación concreta de este, DST (Distributed Smalltalk), es posible distribuir una aplicación entre varios ordenadores de una manera elegante y escalable y cómo el trabajo cooperativo de varios ordenadores disminuye significativamente el tiempo total de cómputo. Creemos que esta forma de distribución puede solucionar muchos de los problemas de tiempos de ejecución con los que se enfrentan actualmente las empresas de desarrollo softwar
Application of knowledge engineering acquisition techniques to requirements capture: a case study
In this paper we want to point out, by means of a case study, the importance of incorporating some knowledge engineering techniques to the processes of software engineering. Precisely, we are referring to the knowledge eduction techniques. We know the difficulty of requirements acquisition and its importance to minimise the risks of a software project, both in the development phase and in the maintenance phase. To capture the functional requirements use cases are generally used. However, as we will show in this paper, this technique is insufficient when the problem domain knowledge is only in the "experts? mind". In this situation, the combination of the use case with eduction techniques, in every development phase, will let us to discover the correct requirements
Method to guide the design of project based learning activities based on educational theories
Project Based Learning (PjBL) has shown to be effective in engineering to acquire both professional and lifelong learning skills. Nevertheless, some authors assert it is not an easy instructional method to implement. It requires teaching skills and entails some difficulties for both students and teachers, specially related to the time and effort needed to put it into practice.
In some countries, the implementation of PjBL has a limited scope, restricted to single courses that do not have a great
repercussion in the curriculum. Moreover, some teachers tend to implement PjBL intuitively, based on their teaching
experience instead of following important PjBL principies or instructional practices. To facilítate the proliferation and
better establishment of PjBL in these countries, it is necessary to engage more teachers in best practices of this
methodology, applying its main instructional principies and adequate educational theories. In this way, they could
overeóme the difficulties mentioned above and obtain better results in their experiences. This study is aimed at defining a method to design activities based on PjBL. This method guides teachers in the use of PjBL principies and several instructional design models. In particular, the method deals with the definition and articulation of an appropriate problem.
In addition, it faces three fundamental issues in active learning and especially in PjBL: Students' Motivation, Supporting Students' Work and Autonomous Working. This proposal is specially focused on those academic contexts in which instructors are starting to use this methodology and students are not used to dealing with ill-structured projeets, and consequently they could find important difficulties in its implementation. The method has been put into practice in three courses, where first results seem to be satisfactory according to a survey conducted by the Universidad Politécnica de Madrid. Results spanning the last six years of this survey have been analyzed. Currently, it is being used to implement a multidisciplinary project which covers four courses in a Master's degree. Finally, a collaborative online tool and teacher workshop further supports this method
A taxonomy of the quality attributes for distributed applications
The software engineering community has paid little attention to non-functional requirements, or quality attributes, compared with studies performed on capture, analysis and validation of functional requirements.
This circumstance becomes more intense in the case of distributed applications. In these applications we have to take into account, besides the quality attributes such as correctness, robustness, extendibility, reusability, compatibility, efficiency, portability and ease of use, others like reliability, scalability, transparency, security, interoperability, concurrency, etc.
In this work we will show how these last attributes are related to different abstractions that coexist in the problem domain. To achieve this goal, we have established a taxonomy of quality attributes of distributed applications and have determined the set of necessary services to support such attributes
Measuring the influence of Cooperative Learning and Project Based Learning on problem solvin skill.
The aim of this study is to evaluate the effects obtained after applying two active learning methodologies (cooperative learning and project based learning) to the achievement of the competence problem solving. This study was carried out at the Technical University of Madrid, where these methodologies were applied to two Operating Systems courses. The first hypothesis tested was whether the implementation of active learning methodologies favours the achievement of ?problem solving?. The second hypothesis was focused on testing if students with higher rates in problem solving competence obtain better results in their academic performance. The results indicated that active learning methodologies do not produce any significant change in the generic competence ?problem solving? during the period analysed. Concerning this, we consider that students should work with these methodologies for a longer period, besides having a specific training. Nevertheless, a close correlation between problem solving self appraisal and academic performance has been detected
A Coordinated Plan for Teaching Software Engineering in the University Rey Juan Carlos.
Un plan para organizar las enseñanzas de la ingeniería del software en las titulaciones de informática de la URJC.
Nowadays both industry and academic environments are showing a lot of interest in the Software Engineering discipline. Therefore, it is a challenge for universities to provide students with appropriate training in this area, preparing them for their future professional practice. There are many difficulties to provide that training. The outstanding ones are: the Software Engineering area is too broad and class hours are scarce; the discipline requires a
high level of abstraction; it is difficult to reproduce real world situations in the classroom to provide a practical learning environment; the number of students per professor is very high (at least in Spain); companies develop software with a maturity level rarely over level 2 of the CMM for Software (again, at least in Spain) as opposed to what is taught at the University.
Besides, there are different levels and study plans, making more difficult to structure the contents to teach in each term and degree. In this paper we present a plan for teaching Software Engineering trying to overcome some of the difficulties above
Integration of three instructional design models within the organization of PBL activities
This work is aimed at defining a method to design courses based on Project Based Learning methodology. This proposal is specially focused on those academic contexts in which
instructors are starting to use this methodology and students are not used to dealing with illstructured
projects, and consequently they could find important difficulties in its implementation. To reach this goal, this method is based on several instructional design models, learning theories and PBL principles. In particular, the method faces three fundamental issues in active learning and especially in PBL: Students’ Motivation, Supporting
Students’ Work and Autonomous Working. Engaging instructors to follow these models when they are designing the course facilitates the subsequent success during the course
implementation. The method has been put into practice in three courses, where first results seem to be satisfactory according to a survey conducted by the University. Results of this survey over for the last six years have been analysed. Besides the description of the method,
we present a collaborative online tool that supports i
A Mixed Data-Based Deep Neural Network to Estimate Leaf Area Index in Wheat Breeding Trials
Remote and non-destructive estimation of leaf area index (LAI) has been a challenge in
the last few decades as the direct and indirect methods available are laborious and
time-consuming. The recent emergence of high-throughput plant phenotyping platforms has
increased the need to develop new phenotyping tools for better decision-making by breeders. In
this paper, a novel model based on artificial intelligence algorithms and nadir-view red green blue
(RGB) images taken from a terrestrial high throughput phenotyping platform is presented. The
model mixes numerical data collected in a wheat breeding field and visual features extracted from
the images to make rapid and accurate LAI estimations. Model-based LAI estimations were
validated against LAI measurements determined non-destructively using an allometric
relationship obtained in this study. The model performance was also compared with LAI estimates
obtained by other classical indirect methods based on bottom-up hemispherical images and gaps
fraction theory. Model-based LAI estimations were highly correlated with ground-truth LAI. The
model performance was slightly better than that of the hemispherical image-based method, which
tended to underestimate LAI. These results show the great potential of the developed model for
near real-time LAI estimation, which can be further improved in the future by increasing the
dataset used to train the model
Infraestructura para la comunicación entre componentes Java en el estilo arquitectónico C2
En este trabajo se describe el diseñno y la implementación de una infraestructura para la comunicación entre componentes que sigan el estilo arquitectóonico C2 sobre una plataforma Java. Un requisito de esta infraestructura es que componentes y conectores se ejecuten cada uno en su propia máquina virtual (JVM) en el mismo nodo o en nodos diferentes. Se ha diseñado un conjunto de clases que proporcionan mecanismos para la comunicación entre componentes y conectores C2. Como parte del trabajo, se han evaluado las tecnologías disponibles para Java que permiten construir la infraestructura, habiéndose elegido la invocación remota a método (RMI) como la base para la comunicación entre los componentes del sistem
- …