17 research outputs found
A Formal Approach based on Fuzzy Logic for the Specification of Component-Based Interactive Systems
Formal methods are widely recognized as a powerful engineering method for the
specification, simulation, development, and verification of distributed
interactive systems. However, most formal methods rely on a two-valued logic,
and are therefore limited to the axioms of that logic: a specification is valid
or invalid, component behavior is realizable or not, safety properties hold or
are violated, systems are available or unavailable. Especially when the problem
domain entails uncertainty, impreciseness, and vagueness, the appliance of such
methods becomes a challenging task. In order to overcome the limitations
resulting from the strict modus operandi of formal methods, the main objective
of this work is to relax the boolean notion of formal specifications by using
fuzzy logic. The present approach is based on Focus theory, a model-based and
strictly formal method for componentbased interactive systems. The contribution
of this work is twofold: i) we introduce a specification technique based on
fuzzy logic which can be used on top of Focus to develop formal specifications
in a qualitative fashion; ii) we partially extend Focus theory to a fuzzy one
which allows the specification of fuzzy components and fuzzy interactions.
While the former provides a methodology for approximating I/O behaviors under
imprecision, the latter enables to capture a more quantitative view of
specification properties such as realizability.Comment: In Proceedings FESCA 2015, arXiv:1503.0437
A method for tailoring the information content of a software process model
The framework is defined for a general method for selecting a necessary and sufficient subset of a general software life cycle's information products, to support new software development process. Procedures for characterizing problem domains in general and mapping to a tailored set of life cycle processes and products is presented. An overview of the method is shown using the following steps: (1) During the problem concept definition phase, perform standardized interviews and dialogs between developer and user, and between user and customer; (2) Generate a quality needs profile of the software to be developed, based on information gathered in step 1; (3) Translate the quality needs profile into a profile of quality criteria that must be met by the software to satisfy the quality needs; (4) Map the quality criteria to set of accepted processes and products for achieving each criterion; (5) Select the information products which match or support the accepted processes and product of step 4; and (6) Select the design methodology which produces the information products selected in step 5
Logic programming and software maintenance
The main objective of this short paper is to describe the relationship between software maintenance and logic programming (both declarative and procedural), and to show how ideas and methods from logic programming (in particular, methods invented by M. Gelfond) can be used in software maintenance. The material presented in this paper partly appeared in (Luqi and Cooke,
1995). The main difference is that (Luqi and Cooke, 1995) is aimed mainly at software engineers, so
it only briefly touches on the software engineering problems, while describing in great detail the
basics of logic programming. In contrast, in this paper, we assume that the corresponding logic
programming notions are well known, but describe the corresponding software engineering
applications in greater detail
A review of quality frameworks in information systems
Quality is a multidimensional concept that has different meanings in different contexts and perspectives. In the domain of Information system, quality is often understood as the result of an IS development process and as the quality of an IS product. Many models and frameworks have been proposed for evaluating IS quality. However, as yet there is not a commonly accepted framework or standard of IS quality. Typically, researchers propose a set of characteristics, so-called quality factors contributing to the quality of IS. Different stakeholders' perspectives are resulting in multiple definitions of quality factors of IS. For instance, some approaches are based on the IS delivery process for the selection of quality factors; while some other approaches do not clearly explain the rationale of their selection. Moreover, often relations or impacts among selected quality factors are not taken into account. Quality aspects of information are frequently considered isolated from IS quality. The impact of IS quality on information quality seems to be neglected in most approaches. Our research aims to incorporate these levels, by which we propose an IS quality framework based on IS architecture. Considering user and IS developer's perspectives, different quality factors are identified for various abstraction levels. Besides, the presentation on impacts among different quality factors helps to retrieve the root cause of IS defects. Thus, our framework provides a systematic view on quality of information and IS
Empirical Evidence Justifying the Adoption of a Model-Based Approach in the Course Web Applications Development
With the ever-increasing role of business people in software development there is a growing need for business schools to offer courses in e-business and e-commerce applications development. This paper presents the results of a student survey evaluating the applications development skills acquired by business students exposed to two different approaches to teaching the course E-business applications development. The first group was taught using a model-based approach, while the second one was taught using a traditional code-based approach. In the model-based approach the environment model of evaluation was used to introduce the basic programming constructs. The UML Web Modeler profile and statecharts were employed to abstract from the intricacies and the distributed nature of Webbased information systems. A major constituent of this approach was the development of a system model. The underlying assumption was that adopting a model-based approach would enhance students' ability to think and reason formally about, develop rigorously, and program better E-business applications. The contention was that learners would perceive coding as yet another view in the system model. It was believed that having defined the components ' interfaces, students would be bound to experience fewer difficulties when writing the code. In the code-based approach students are exposed to Web programming without being required to develop a system model
The GENESYS Architecture: A Conceptual Model for Component-Based Distributed Real-Time Systems
Abstract. This paper proposes a conceptual model and terminology for componentbased development of distributed real-time systems. Components are built on top of a platform, which offers core platform services as the basis for the implementation and integration of components. The core platform services enable emergence of global application services of the overall system out of local application services of the constituting components. Therefore, the core platform services provide elementary capabilities for the interaction of components, such as message-based communication between components or a global time base. Also, the core services are the instrument via which a component creates behavior that is externally visible at the component interface. In addition, the specification of a component's interface builds upon the concepts and operations of the core platform services. The component interface specification constrains the use of these operations and assigns contextual information (e.g., semantics in relation to the component environment) and significant properties (e.g., reliability requirements, energy constraints). Hence, the core platform services are a key aspect in the interaction between integrator and component developer
Requirements, design and business process reengineering as vital parts of any system development methodology
This thesis analyzes different aspects of system development life cycle, concentrating on the requirements and design stages. It describes various methodologies, methods and tools that have been developed over the years. It evaluates them and compares them against each other. Finally a conclusion is made that there is a very important stage missing in the system development life cycle, which is the Business Process Reengineering Stage
Independent verification of specification models for large software systems at the early phases of development lifecycle
One of the major challenges facing the software industry, in general and IV&V (Independent Verification and Validation) analysts in particular, is to find ways for analyzing dynamic behavior of requirement specifications of large software systems early in the development lifecycle. Such analysis can significantly improve the performance and reliability of the developed systems. This dissertation addresses the problem of developing an IV&V framework for extracting semantics of dynamic behavior from requirement specifications based on: (1) SART (Structured Analysis with Realtime) models, and (2) UML (Unified Modeling Language) models.;For SART, the framework presented here shows a direct mapping from SART specification models to CPN (Colored Petrinets) models. The semantics of the SART hierarchy at the individual levels are preserved in the mapping. This makes it easy for the analyst to perform the analysis and trace back to the corresponding SART model. CPN was selected because it supports rigorous dynamic analysis. A large scale case study based on a component of NASA EOS system was performed for a proof of the concept.;For UML specifications, an approach based on metamodels is presented. A special type of metamodel, called dynamic metamodel (DMM), is introduced. This approach holds several advantages over the direct mapping of UML to CPN. The mapping rules for generating DMM are not CPN specific, hence they would not change if a language other than CPN is used. Also it makes it more flexible to develop DMM because other types of models can be added to the existing UML models. A simple example of a pacemaker is used to illustrate the concepts of DMM
The integration of hazard evaluation procedures and requirements engineering for safety-critical embedded systems
Although much work has been done on assessing safety requirements in
programmable systems, one very important aspect, the integration of hazard
evaluation procedures and requirements engineering, has been somewhat neglected.
This thesis describes the derivation and application of a methodology, HAZAPS
(HAZard Assessment in Programmable Systems). The methodology assists at the
requirements stage in the development of safety-critical embedded systems. The
objectives are to identify hazards in programmable systems, construct and model the
associated safety requirements, and, finally, to assess these requirements. HAZAPS
integrates safety engineering and software modelling techniques. The analysis of
more than 300 computer related incidents provided the criteria used to identify, select
and modify safety engineering techniques. [Continues.