6 research outputs found
Towards a Formal Approach to Validating and Verifying Functional Design for Complex Safety Critical Systems
The quality and reliability of safety criticalsoftware systems are highly dependent on proper systemvalidation and verification. In model-driven softwaredevelopment, semi-formal notations are often used inrequirements capture. Though semi-formal notations possessadvantages, their major disadvantage is their imprecision. Atechnique to eliminate imprecision is to transform semi-formalmodels into an analyzable representation using formalspecification techniques (FSTs). With this approach to systemvalidation and verification, safety critical systems can bedeveloped more reliably. This work documents early experienceof applying FSTs on UML class diagrams as attributeconstraints, and pre- post-conditions on procedures. Thevalidation and verification of the requirements of a system tomonitor unmanned aerial vehicles in unrestricted airspace is theorigin of this work. The challenge is the development of a systemwith incomplete specifications; multiple conflicting stakeholders’interests; existence of a prototype system; the need forstandardized compliance, where validation and verification areparamount, which necessitates forward and reverse engineeringactivities
Preventive measures of struck-by accidents at the construction site: Perspectives from construction personnel in Johor
Struck-by accidents are among the main contributor to fatality number in the Malaysian construction
industry. From the standpoint of construction safety professionals, this study explores the main preventive
measures for struck-by accidents at the construction site. The data for this study was gathered through
the questionnaire distributed to construction site safety workers in Johor, Malaysia, and about 116
answered questionnaires were received. Data were analyzed using the Relative Importance Index (RII)
and Spearman’s rank correlation. The main preventive measure factor identified was related to training.
This study provides eye-opening findings in terms of the weak correlational relation between the views
of safety personnel and the most effective preventive strategy. This research raises awareness of the
problem, and more action should be made to lower the fatality rate in struck-by-object accidents
Incidencia de un sistema de control curricular en la gestión academica del docente
La ayuda que brinda el Ministerio de Educación de Ecuador a través de su portal, con aplicaciones web para las instituciones educativas, capacitaciones a los docentes y administrar sus datos personales (SIGEE, SIPROFE, SIME), pero no existe una aplicación que ayude al docente a administrar y gestionar su labor dentro y fuera de las horas curriculares estableciendo un margen de error en su labor, permitiendo que el avance tecnológico y las inversiones del gobierno generen una desigualdad el momento de dar sus reportes. La población objeto de estudio son los docentes de la Unidad Educativa Eloy Alfaro, los cuales se buscó un parámetro común para brindar la ayuda al momento de registrar las actividades de los alumnos y generar reportes del seguimiento y control de los procesos y acciones en la actividad escolar. Es por esta razón que se implementó una aplicación web de gestor de archivos que va ayudar a la comunidad educativa a tener un mejor control y dar reportes actualizados y seguimiento a las acciones que los alumnos realizan dentro de la institución, ayudando al maestro en su labor diaria
Vers une nouvelle approche de la modernisation des systèmes légataires à travers la migration vers un environnement dirigé par les modèles
Les organisations sont fortement dépendantes de leurs logiciels dans l'exercice de leurs activités quotidiennes. Malheureusement, les changements répétés qui sont appliqués à ces systèmes rendent leur évolution difficile. Cette évolution peut être rendue nécessaire afin de maintenir le logiciel, de le remplacer ou de le moderniser. Dans le cas de systèmes légataires complexes et mal documentés, la modernisation est la seule solution réalisable afin d'atteindre les objectifs d'évolution, le but de la modernisation étant de faire évoluer un système lorsque les pratiques conventionnelles ne le permettent plus. Mais, il s'agit d'une tâche complexe. Notamment, la prévision des risques et des coûts est difficile. Afin de faire face aux difficultés de la modernisation, l'OMG a créé l'initiative « Architecture-Driven Modernization » ADM qui propose entre autres de réaliser la modernisation par l'ingénierie dirigée par les modèles (IDM). Dans ce contexte, la modernisation d'un système légataire, non développé dans un environnement IDM, débute par sa migration vers ce type d'environnement. Ce qui pose la problématique de la découverte des modèles nécessaires à l'utilisation d'IDM représentant ce système. Une seconde problématique est que le processus IDM manque de précision au sujet des modèles à employer et de l'application des transformations pour passer d'un à l'autre. Dans cette thèse, nous présentons une nouvelle approche de modernisation ADM afin d'utiliser l'IDM pour moderniser un système légataire non IDM. Nous y définissons les modèles nécessaires et les transformations à réaliser pour passer d'un à l'autre. La plate-forme d'implémentation y est représentée par deux modèles. Le premier est un profil UML décrivant ses concepts et le second est un ensemble de modèles de transformations paramétrés capturant son code d'infrastructure. Le modèle représentant les éléments du domaine du problème prend la forme d'un diagramme de classes UML. Aussi, nous proposons des algorithmes pour la découverte de ces modèles en analysant le code source du système légataire. Notre approche a été validée sur plusieurs systèmes écrits en Java et a donné de bons résultats pour les systèmes bien structurés avec un bon style de programmation.\ud
_____________________________________________________________________________
Programming Language Evolution and Source Code Rejuvenation
Programmers rely on programming idioms, design patterns, and workaround
techniques to express fundamental design not directly supported by the language.
Evolving languages often address frequently encountered problems by adding language
and library support to subsequent releases. By using new features, programmers can
express their intent more directly. As new concerns, such as parallelism or security,
arise, early idioms and language facilities can become serious liabilities. Modern code
sometimes bene fits from optimization techniques not feasible for code that uses less
expressive constructs. Manual source code migration is expensive, time-consuming,
and prone to errors.
This dissertation discusses the introduction of new language features and libraries,
exemplifi ed by open-methods and a non-blocking growable array library. We
describe the relationship of open-methods to various alternative implementation techniques.
The benefi ts of open-methods materialize in simpler code, better performance,
and similar memory footprint when compared to using alternative implementation
techniques.
Based on these findings, we develop the notion of source code rejuvenation, the
automated migration of legacy code. Source code rejuvenation leverages enhanced
program language and library facilities by finding and replacing coding patterns that can be expressed through higher-level software abstractions. Raising the level of
abstraction improves code quality by lowering software entropy. In conjunction with
extensions to programming languages, source code rejuvenation o ers an evolutionary
trajectory towards more reliable, more secure, and better performing code.
We describe the tools that allow us efficient implementations of code rejuvenations.
The Pivot source-to-source translation infrastructure and its traversal mechanism
forms the core of our machinery. In order to free programmers from representation
details, we use a light-weight pattern matching generator that turns a C like
input language into pattern matching code. The generated code integrates seamlessly
with the rest of the analysis framework.
We utilize the framework to build analysis systems that find common workaround
techniques for designated language extensions of C 0x (e.g., initializer lists). Moreover,
we describe a novel system (TACE | template analysis and concept extraction)
for the analysis of uninstantiated template code. Our tool automatically extracts
requirements from the body of template functions. TACE helps programmers understand
the requirements that their code de facto imposes on arguments and compare
those de facto requirements to formal and informal specifications