scholarly journals Methodology for Development of Event-driven Software Systems using CIAO Specification Language

2020 ◽  
Vol 19 (3) ◽  
pp. 481-514
Author(s):  
Irina Afanasieva ◽  
Fedor Novikov ◽  
Ludmila Fedorchenko

Event-driven software systems, belonging to the class of systems with complex behavior in the scientific literature, are reactive systems, which react to the same input effect in different ways depending on their state and background. It is convenient to describe such systems using state-transition models utilizing special language tools, both graphical and textual. Methodology for automated development of systems with complex behavior using the designed CIAO language (Cooperative Interaction of Automata Objects), which allows formally specifying the required behavior based on an informal description of the reacting system, is presented. An informal description of a reacting system can be provided verbally in a natural language or in another way adopted in a specific domain. Further, according to this specification in the CIAO language, a software system for interacting automata in the C++ programming language is generated with a special system. The generated program implements a behavior guaranteed to correspond to a given specification and original informal description. CIAO provides both graphical and textual notation. Graphic notation is based on an extended notation of state machine diagrams and component diagrams of the unified modeling language UML, which are well established in describing the behavior of event-driven systems. The text syntax of the CIAO language is described by context-free grammar in regular form. Automatically generated C++ code allows using of both library and any external functions written manually. At the same time, the evident correspondence of the formal specification and the generated code is preserved on conditions that the external functions conform to their specifications. As an example, an original solution to D. Knut's problem of a responsive elevator control system is proposed. The effectiveness of the proposed methodology is demonstrated, since the automaton-converter generating the C++ code is presented as a responsive system, is specified in the CIAO language and implemented by the bootstrapping. The proposed methodology is compared with other well-known formal methods for describing systems with complex behavior.

Author(s):  
Marouane Sayih ◽  
Martin Kuhn ◽  
Anne Brüggemann-Klein

GameX, a student project at Technische Universität München, is a 'serious' browser game that is intended to further systemic thinking in players. GameX is implemented almost exclusively with XML technology, which makes the game essentially platform independent. XML lends itself to involving domain experts in all phases of development, and to the model-driven designs which can adapt easily to changing requirements. Browser games, however, are quintessentially event-driven, reactive systems — how can such applications be built using the XML technology stack? GameX uses XForms, SVG, XProc, XSLT, and XQuery, as well as the native HTML DOM to put the event-driven programming paradigm into practice on an implementation platform of XML technology.


Author(s):  
Arief Hidayat ◽  
Victor Gayuh Utomo

Every student has their own learning style. Some students may prefer to read the learning material while some other students may prefer to discuss with their colleagues to help them understanding the information more effectively. One of the learning materials is Unified Modeling Language or UML. UML is an industry standard language to specify, visualize, construct, and document the artifacts of software systems. Today, many UML online learning sites are designed to give added information to students other than face-to-face interaction in the classroom. However, most of UML materials provided by the online learning resources are limited to text-based material which is suitable only for students with verbal learning styles. This research aims to identify and analyze the needs before developing a prototype of an adaptive online module. The research is also driven by the need to develop a prototype of adaptive online module that is based on the student's learning style categories in order to help students understand UML better. The result of this research is a prototype of adaptive online module which will identify students' learning styles and lead the students to learning environment that suits their learning style.


Author(s):  
Mohit Garg ◽  
Richard Lai

The rapid growth of software-based functionalities has made automotive Electronic Control Units (ECUs) significantly complex. Factors affecting the software complexity of components embedded in an ECU depend not only on their interface and interaction properties, but also on the structural constraints characterized by a component’s functional semantics and timing constraints described by AUTomotive Open System ARchitecture (AUTOSAR) languages. Traditional constraint complexity measures are not adequate for the components in embedded software systems as they do not yet sufficiently provide a measure of the complexity due to timing constraints which are important for quantifying the dynamic behavior of components at run-time. This paper presents a method for measuring the constraint complexity of components in automotive embedded software systems at the specification level. It first enables system designers to define non-deterministic constraints on the event chains associated with components using the AUTOSAR-based Modeling and Analysis of Real-Time and Embedded systems (MARTE)-UML and Timing Augmented Description Language (TADL). Then, system analysts use Unified Modeling Language (UML)-compliant Object Constraint Language (OCL) and its Real-time extension (RT-OCL) to specify the structural and timing constraints on events and event chains and estimate the constraint complexity of components using a measure we have developed. A preliminary version of the method was presented in M. Garg and R. Lai, Measuring the constraint complexity of automotive embedded software systems, in Proc. Int. Conf. Data and Software Engineering, 2014, pp. 1–6. To demonstrate the usefulness of our method, we have applied it to an automotive Anti-lock Brake System (ABS).


Author(s):  
Juan Marcelo Parra-Ullauri ◽  
Antonio García-Domínguez ◽  
Nelly Bencomo ◽  
Changgang Zheng ◽  
Chen Zhen ◽  
...  

AbstractModern software systems are increasingly expected to show higher degrees of autonomy and self-management to cope with uncertain and diverse situations. As a consequence, autonomous systems can exhibit unexpected and surprising behaviours. This is exacerbated due to the ubiquity and complexity of Artificial Intelligence (AI)-based systems. This is the case of Reinforcement Learning (RL), where autonomous agents learn through trial-and-error how to find good solutions to a problem. Thus, the underlying decision-making criteria may become opaque to users that interact with the system and who may require explanations about the system’s reasoning. Available work for eXplainable Reinforcement Learning (XRL) offers different trade-offs: e.g. for runtime explanations, the approaches are model-specific or can only analyse results after-the-fact. Different from these approaches, this paper aims to provide an online model-agnostic approach for XRL towards trustworthy and understandable AI. We present ETeMoX, an architecture based on temporal models to keep track of the decision-making processes of RL systems. In cases where the resources are limited (e.g. storage capacity or time to response), the architecture also integrates complex event processing, an event-driven approach, for detecting matches to event patterns that need to be stored, instead of keeping the entire history. The approach is applied to a mobile communications case study that uses RL for its decision-making. In order to test the generalisability of our approach, three variants of the underlying RL algorithms are used: Q-Learning, SARSA and DQN. The encouraging results show that using the proposed configurable architecture, RL developers are able to obtain explanations about the evolution of a metric, relationships between metrics, and were able to track situations of interest happening over time windows.


2008 ◽  
Vol 5 (2) ◽  
pp. 1-17 ◽  
Author(s):  
Maria Pereira ◽  
Marjan Mernik ◽  
Cruz da ◽  
Pedro Henriques

In the past, we have been looking for program comprehension tools that are able to interconnect operational and behavioral views, aiming at aiding the software analyst to relate problem and program domains in order to reach a full understanding of software systems. In this paper we are concerned with Program Comprehension issues applied to Domain Specific Languages (DSLs). We are now willing to understand how techniques and tools for the comprehension of traditional programming languages fit in the understanding of DSLs. Being the language tailored for the description of problems in a specific domain, we believe that specific visualizations (at a higher abstraction level, closer to the problem level) could and should be defined to enhance the comprehension of the descriptions in that particular domain. .


2017 ◽  
Vol 10 (1) ◽  
pp. 99-121 ◽  
Author(s):  
Johnatan Oliveira ◽  
Eduardo Fernandes ◽  
Maurício Souza ◽  
Eduardo Figueiredo

Software reuse is a development strategy in which existing software components are used to implement new software systems. There are many advantages of applying software reuse, such as minimization of development efforts and improvement of software quality. Few methods have been proposed in the literature for recommendation of reuse opportunities. In this paper, we propose a method for identification and recommendation of reuse opportunities based on the similarity of the names of classes. Our method, called JReuse, computes a similarity function to identify similarly named classes from a set of software systems from a specific domain. The identified classes compose a repository with reuse opportunities. We also present a prototype tool to support the proposed method. We applied our method, through the tool, to 72 software systems mined from GitHub, in 4 different domains: accounting, restaurant, hospital, and e-commerce. In total, these systems have 1,567,337 lines of code, 57,017 methods, and 12,598 classes. As a result, we observe that JReuse is able to identify the main classes that are frequent in each selected domain.


Author(s):  
Bhaskar Raj Sinha ◽  
Pradip Peter Dey ◽  
Mohammad Amin

With the rapid technology advances, there is an emerging consensus that the size and complexity of software designs are increasing so rapidly that they proportionally affect the magnitude of administrative and development efforts. An important consideration is how to estimate software complexity. This subject continues to be a research topic in the literature. The software design process researched here uses the Unified Modeling Language (UML) diagrams and the database design for extracting pertinent information. The Entity Relationship (ER) model of Peter Chen (of MIT) is a conceptual method of describing the data in a relational structure. An Entity Relationship Diagram (ERD) and an Entity Relationship Schema (ERS) represents the ER model, containing the entities, attributes, primary and foreign keys, and the relationships between the entities. Extending this ERS modeling construct, this paper uses an additional enhanced schema, called the Object Relationship Schema (ORS), which, together with the existing ERS, creates an enhanced view of the requirements and the design of the database. In addition, functional dependency, security, computational complexity, use cases, component structure and interpretations are considered for estimating functional complexity of modern software systems which is very valuable in higher education for new workforce development. 


2018 ◽  
Vol 26 (02) ◽  
pp. 124
Author(s):  
Lucas Rodrigues De Oliveira ◽  
Ana Carolina Gondim Inocêncio ◽  
Heitor Augustus Xavier Costa ◽  
Paulo Afonso Parreira Júnior

UML (Unified Modeling Language) is a general purpose language for software modeling, moreover, is the language most known and used for graphical representation of models. Just the elements preexisting in the UML (Unified Modeling Language) may not be sufficient to facilitate understanding of specific domain models. An example of specific problem domain is the Digital Educational Games (DEGs). In this paper, we describe the UP4EG, a UML profile for DEGs modeling, using UML class diagrams. The UP4EG gathers many stereotypes and tagged values divided into six packages that represent the main elements that a DEG should present. From an experimental study on the proposed profile with computer science students, it was realized that number of errors and the time spent for the identification of the main elements of a DEG can be improved when this profile is used in the modeling of this type of software.


Author(s):  
Adrian Paschke ◽  
Harold Boley

Event-driven reactive functionalities are urgently needed in present-day distributed systems and dynamic Web-based environments. Reaction rules constitute a promising approach to specify and program such reactive systems in a declarative manner. In particular, they provide the ability to reason over events, actions and their effects, and allow detecting events and responding to them automatically. Various reaction rule approaches have been developed, which for the most part have been advanced separately, hence led to different views and terminologies. This chapter surveys and classifies the wide variety of rule-based calculi approaches, engines and languages for event, action and state processing, and describes their main features. Founded on the original formalisms, major lines of development are traced to the present and extrapolated to the future.


Author(s):  
Yuslena Sari ◽  
Irfan Prasetia

This paper presents concept of a database system on a computer software systems. Requirements in analysis and design are a serious problem in developing a manual system into a computer software system that is fully automated. To link the two systems (manual and automatic), a modeling language Unified Modeling Language (UML) is now accepted as the de facto standard for the design and specification of object-oriented systems. In this study, ULM modeling language used to design a management information system (MIS) of Toilet Maintenance on the Faculty of Engineering, Lambung Mangkurat University using Access 2013. From this system, dean as admin of the system, can immediately know the damage or the need of maintenance in real time every day. Such information would greatly assist the management on making decision related to monitoring, maintenance and repair of toilet in the Faculty of Engineering, Lambung Mangkurat University. The final results is to keep the cleanliness and reliability of toilet in the Faculty of Engineering, Lambung Mangkurat University.


Sign in / Sign up

Export Citation Format

Share Document