Explore chapters and articles related to this topic
Learning Engineering is Engineering
Published in Jim Goodell, Janet Kolodner, Learning Engineering Toolkit, 2023
Avron Barr, Brandt Dargue, Jim Goodell, Brandt Redd
Design patterns are repeatable solutions to commonly occurring engineering problems. A civil engineer is familiar with common bridge architectures and which types work best in certain contexts. In software engineering, design patterns establish best practices and promote shared understanding that improves the quality, consistency, and maintainability of code. Software engineers use named design patterns so that everyone on the team can work together and employ consistent coding approaches based on those known patterns. Learning engineering teams can also use design patterns; for example, the learning sciences concepts in Chapter 9 lend themselves to design pattern templates. Here’s an example design pattern for a deliberate practice technique (with constructive feedback) applicable to tutoring or coach contexts.
New Design Patterns for Time-Predictable Execution of Function Blocks
Published in Alois Zoitl, Thomas Strasser, Distributed Control Applications, 2017
Matthew M. Y. Kuo, Partha S. Roop
Design patterns are reusable solutions that solve recurring design problems by using a well defined structure [6, 12]. When presented with a new task, it is typical practice for designers to reuse and adapt proven solutions. There are many categories of patterns ranging from access control to communication and interactive systems [6]. Design patterns can be programming language dependent or programming language independent. One of the most popular programming language independent design pattern is the model view control (MVC) pattern [18]. Traditionally, the MVC pattern was designed for object-orientated programming for implementing user interfaces, by separating the software into three components. The model implements the behavior of the application and is independent of the visual representation. The view implements the visual representation of some or all of the data of the model. The controller manages inputs from the user or the environment and sends them as commands to the model. The MVC pattern has been adapted for IEC 61499 with some modifications [8]. The model is a function block that implements the behavior of the system being controlled (i.e., the plant). The view is a function block that implements the graphical interface associated with the model (i.e., the visualizer). The controller is a function block that implements the controller of the system (i.e., the controller).
Advances in Computing Infrastructure
Published in Siyong Kim, John Wong, Advanced and Emerging Technologies in Radiation Oncology Physics, 2018
Yulong Yan, Alicia Yingling, Steve Jiang
Design patterns are object-oriented, language-agnostic best practices that reduce cost of change and improve maintainability of software codes. Advanced concepts require greater development acuity and are strongly encouraged for software development efforts expected to grow and add functionality over time. Examples of development include scripting additional functionality in applications, programming automated exchange between systems for improved workflow efficiency and accuracy, and modeling new simulations of treatment plans. The complexity of programming or software engineering efforts should be matched appropriately to adequate levels of modularity, encapsulation, and isolation.
EduGene: A UIDP-Based Educational App Generator for Multiple Devices and Platforms
Published in International Journal of Human–Computer Interaction, 2019
Cesar Augusto Cortes-Camarillo, Giner Alor-Hernández, Laura Nely Sánchez-Morales, Viviana Yarel Rosales-Morales, Lisbeth Rodríguez-Mazahua, José Luis Sánchez-Cervantes
The development of mobile and Web applications must rely on good design to achieve appropriate user interaction. To this end, UIDPs emerged as an effective solution to enhance the friendliness of an application’s interface (Hussein, Mahmud, & Md Tap, 2014). Design patterns are recognized as powerful conceptual tools that improve design quality and reduce the time and cost of the development process, because they allow developers to reuse design solutions (Cremonesi, Elahi, & Garzotto, 2016). In this sense, Balayan, Conoza, Tolentino, Solamo, and Feria (2014) analyzed SkillVille as a learning aid for language and spelling, searching and sorting, and memory skills. SkillVille is a game-based learning application developed using Corona SDK for Android™. The findings showed that SkillVille has potential as a learning tool for children.
(AIAM2019) Artificial Intelligence in Software Engineering and inverse: Review
Published in International Journal of Computer Integrated Manufacturing, 2020
Mohammad Shehab, Laith Abualigah, Muath Ibrahim Jarrah, Osama Ahmad Alomari, Mohammad Sh. Daoud
Design patterns are recurring patterns of programming code or component software architecture. In a mobile agent context, Aridor and Lange (1998) suggested a classification scheme for design patterns. The objectives are to increase quality and reusability of the code and reduce the development effort of mobile agent-based systems. Rana and Biancheri (1999) applied a Petri net-based approach to model the meeting pattern of mobile agents. A seven-layer architecture pattern was proposed for agents, and sets of patterns belonged to each of the layers (Kendall, Malkoun, and Jiang 1997).
An overview of current technologies and emerging trends in factory automation
Published in International Journal of Production Research, 2019
Mariagrazia Dotoli, Alexander Fay, Marek Miśkowicz, Carla Seatzu
Another concept developed in software engineering and recently been transferred to the engineering of automation systems (Eckert et al. 2015) are ‘design patterns’. Design patterns describe principle solutions to recurring design problems and can serve to limit the number of similar solutions and to improve re-use of proven solutions in the automation domain.