In this paper, a problem of visual programming of PLC (programmable logic controller) devices is described. A programming by demonstration method is developed so that a problem-domain expert can program such devices w...
详细信息
ISBN:
(纸本)9781424400225
In this paper, a problem of visual programming of PLC (programmable logic controller) devices is described. A programming by demonstration method is developed so that a problem-domain expert can program such devices without computer programming skill. The method is novel in the sense that, unlike other programming-by-demonstration methods, it requires little a priori knowledge of the controlled system model, nor it needs to interact with a real system. A simulation model, which captures the laws of nature governing the system behavior, is jointly programmed with a control device (PLC). A PLC programming tool, developed based on the proposed joint controller-simulator programming by demonstration paradigm, can generate a high-level structure text program code, from the demonstrated actions as performed by a user.
The separation of concerns as a conceptual paradigm, aims to manage the complexity of the software systems by dividing them into different concerns and aspects. The benefits of this paradigm such as adaptability, reus...
详细信息
ISBN:
(纸本)9781450361019
The separation of concerns as a conceptual paradigm, aims to manage the complexity of the software systems by dividing them into different concerns and aspects. The benefits of this paradigm such as adaptability, reuse and maintenance, have been key drivers of its adoption and usability. These quality attributes have been discussed in aspect-oriented programming (AOP) which is a complement to traditional programming methods, whether object-oriented programming or procedural programming. The main concept of AOP is to gather the treatments related to a specific concern (problem) in a centralized unit called aspect. In this paper, two case studies of AOP are conducted with AspectJ: i) through three different implementations, addressing three distinct issues: Logging, Adding features and Using the Observer design pattern, and ii) through the design of aspect mobile application that is easy to use and quickly accessible and especially through Android devices. Also, the different technologies of AspectJ are used to design our application and illustrate the modularity and the composition of components (database manager, development software, and plugins). For each case study, we present the advantages and disadvantages to better understand and decompose the applications using this programming paradigm. Potential implementation examples are provided to support the explanation of the different situations and justify the use of the AOP to solve these issues. OSGi framework can also be used in the future work to offer dynamic manner of mobile applications.
Context: Modern systems require programmers to develop code that dynamically adapts to different contexts, leading to the evolution of new context-oriented programming languages. These languages introduce new software...
详细信息
Context: Modern systems require programmers to develop code that dynamically adapts to different contexts, leading to the evolution of new context-oriented programming languages. These languages introduce new software-engineering challenges, such as: how to maintain the separation of concerns of the codebase? how to model the changing behaviors? how to verify the system behavior? and more. Objective: This paper introduces Context-Oriented Behavioral programming (COBP) - a novel paradigm for developing context-aware systems, centered on natural and incremental specification of context-dependent behaviors. As the name suggests, we combine behavioral-programming (BP) - a scenario-based modeling paradigm - with context idioms that explicitly specify when scenarios are relevant and what information they need. The core idea is to connect the behavioral model with a data model that represents the context, allowing an intuitive connection between the models via update and select queries. Combining behavioral-programming with context-oriented programming brings the best of the two worlds, solving issues that arise when using each of the approaches in separation. Methods: We begin with providing abstract semantics for COBP and two implementations for the semantics, laying the foundations for applying reasoning algorithms to context-aware behavioral programs. Next, we exemplify the semantics with formal specifications of systems, including a variant of Conway's Game of Life. Then, we provide two case studies of real-life context-aware systems (one in robotics and another in IoT) that were developed using this tool. Throughout the examples and case studies, we provide design patterns and a methodology for coping with the above challenges. Results: The case studies show that the proposed approach is applicable for developing real-life systems, and presents measurable advantages over the alternatives - behavioral programming alone and context-oriented programming alone. Conclusio
Robot programming often sparks students' interest in programming, but it is not easy for them to program both procedure and reactivity of robot movements that are essential requirements. In this study, we reviewed...
详细信息
Robot programming often sparks students' interest in programming, but it is not easy for them to program both procedure and reactivity of robot movements that are essential requirements. In this study, we reviewed in detail a new programming language, State-Based Squeak. It allows novice students to implement both procedure and reactivity of robots easily. The effect of this new language on robot programming education was also examined using a group of 28 middle school students. According to the results of analyzing the students' understanding of programming, reading and programming abilities the group that used State-Based Squeak (the experimental group) showed a higher completion ratio than the other (control) group. The significance of this study is that a robot programming language has been developed that addresses the concepts of both procedure and reactivity in such a way that middle school students can more easily learn how to program robots, something that is often difficult to attempt even for professional programmers.
Many languages viz. COBOL, C, C++, Java, Python etc have emerged and evolved in the arena of formal systems over the past few decades,. programming language processors are designed to convert a high level language wri...
详细信息
Many languages viz. COBOL, C, C++, Java, Python etc have emerged and evolved in the arena of formal systems over the past few decades,. programming language processors are designed to convert a high level language written source code to equivalent object code viz. interpreter, compiler etc. There exist variations in programming paradigm, like procedure-oriented, object–based, object oriented, low-level and logic/invariant. But irrespective of the programming methodology, trivial issues related with errors or bugs are often faced. Bug is always undesired to occur. So, need for a debugger embedded to compiler exists. Almost every language has a debugger module mostly dependent on involvement of developers. But again programmer needs to eliminate errors from the source code manually by dint of debugger module. The presented approach, a framework is proposed in which the elimination of the errors from the program source code is developer independent. The function of this module is to remove of the error one by one and to generate a debugged i.e. error-free form of the whole program. Then we will execute than debugged form of the source code to obtain our intended result. The framework is well-documented in the works of Gupta et al. [1] , [2] . However, the issue ‘if the debugged form of the source code is non-unique i.e. more than one debugged form is found’ is not widely circulated in the literature. Effort has been made to get rid of the problems. The work presents an auto-debugger module in the interdisciplinary area of compiler design and machine intelligence that can take care of non-unique errors. The concept is accompanied by a developed compiler named SHARP. SHARP facilitates use of variable length of data type and further a framework of floating-point arithmetic different from the standard practice of mantissa-exponent scheme. It is expected that this will navigate the study of automated language processor to a new horizon.
As Dynamic System Oriented Model Based programming (DSO-MBP) platforms, such as Simulink, becomes more and more popular, more and more students desire to learn such kind of programming. However, college students in co...
详细信息
As Dynamic System Oriented Model Based programming (DSO-MBP) platforms, such as Simulink, becomes more and more popular, more and more students desire to learn such kind of programming. However, college students in computer science or related disciplines cultivated with traditional textbased programming, such as structured, procedural and OOP, find it frustrating to learn DSO-MBP. Our experience exhibited that it is the distinct programming paradigm of DSO-MBP that causes the trouble. This paper reports our understanding on elements of DSO-MBP paradigm, including model based, block supported, GUI interfaced, Subsystem organized, time-variant signal driven, new parameter passing, call-back functioning, and more accessible look and feel. We point out their differences and similarities with respect to traditional programming paradigm elements. We hope our contribution can help newcomers easily switch from traditional programming paradigms to the DSO-MBP paradigm and learn DSO-MBP effectively.
暂无评论