Towards LLM-augmented multiagent systems for agile software engineering
A cognitive multi-agent ecosystem designed for efficient software engineering using Agile methodologies can significantly improve software development processes. Key components include the integration of Multi-Agent Systems (MAS) and Large Language Models (LLMs), utilizing Dynamic Context techniques for agent profiling, and Theory of Mind to enhance collaboration. The CogniSim Ecosystem analyzes problems, proposes solutions, constructs and validates plans, and coordinates specialized agents playing roles such as developers, executors, quality checkers, and methodology reviewers. These agents produce documentation, models, and diagrams (e.g., UML) while adhering to predefined quality and performance measures. The ecosystem also simulates the impact of various team configurations on problem-solving effectiveness, helping organizations identify optimal team structures. Case studies and simulations demonstrate its practical applications.
- Conference Article
6
- 10.1109/aero.2008.4526595
- Mar 1, 2008
- Proceedings - IEEE Aerospace Conference
System engineers who are responsible for capturing the formal requirements of a system typically have relied on text-based tools and free-form diagrams, otherwise known as shall statements and PowerPoint In our work with the space interferometry mission (SIM) at NASA's Jet Propulsion Laboratory, we found the need to unambiguously represent behaviors and interfaces using common language and terminology across multiple project elements, for example, throughout different levels of system engineering and among system, software, and controls engineering. The system engineers adopted portions of the Unified Modeling Language (UML) [1] as a means to effectively communicate interfaces and desired system behaviors. UML sequence diagrams were used to capture scenarios and provide context for and understanding of the intent of the typical shall statements. UML Statechart diagrams were used to capture dynamic behavior. In practice, the system and software engineers would iterate together on these models. Iterating on models proved to be a highly effective method of fleshing-in loosely worded and ambiguous requirements. Requirements have typically been difficult for the software engineer to implement without understanding the intent behind the requirements. Through the process of modeling, we found that system and software engineers effectively communicated interfaces and behavior. Modeling provided other benefits as well, notably, the ability to auto-generate portions of the flight code from these models and to apply formal methods to prove various correctness properties regarding the model. In this paper, we will describe in further detail how system engineers used modeling as an effective communication tool to capture requirements, their context, and the ensuing design throughout multiple levels of the system and within a subsystem. This increased software engineers' understanding of and insight into the system, making the software design process more efficient. In addition, we will describe how software engineers leveraged the models to improve the quality and reduce the cost of the final software product.
- Research Article
3
- 10.4271/2012-01-2139
- Oct 22, 2012
- SAE International Journal of Aerospace
<div class="section abstract"><div class="htmlview paragraph">Avionics systems are complex systems that integrate hardware, communication media, have many interactions with other subsystems, within or outside of the aircraft, and for the system discussed in this presentation, integrate software that must be developed according to DO-178B guidelines. System engineering and software engineering are two engineering disciplines that are historically handled by teams with different cultures, and when their engineering processes are supported by tools, use different and incompatible tools. This often leads to a difficult collaboration, with at some point, redundant information and inconsistencies.</div><div class="htmlview paragraph">This presentation introduces a solution, based on the SysML standard for system modeling, and on the SCADE Suite product from Esterel Technologies for the development of DO-178B certified software components. This solution, named SCADE System, allows system and software engineers to work with the right formalism for their respective domains while improving cooperation due to a unified tool framework for System and Software models, the same requirements traceability and documentation generation tools, and a synchronization mechanism for the data that are at the frontier between the two engineering domains.</div><div class="htmlview paragraph">This solution can be the basis to develop systems that have to adhere to both functional standards, such as ARINC 653 (IMA) or ARINC 661 (CDS), and certification standards like ARP 4754 (Systems), DO-178B (Software), or DO-297 (IMA). The presentation details, in particular, how this solution can be applied in the system and software engineering processes evolving in parallel in industrial avionics projects, and how the work in the system and software engineering can be synchronized.</div><div class="htmlview paragraph">The system and software engineering flow is demonstrated on an avionics application use case from Eurocopter.</div><div class="htmlview paragraph">It starts with a description of the intended application functionality. A description of the IMA equipment, modules, and partitions is then provided. This is followed by a description of the application architecture together with a tabular description of the allocation of the system functions to the architecture physical components and a description of the allocation of functional data to physical messages.</div><div class="htmlview paragraph">Finally, the software blocks are mapped to a SCADE Suite software model. This interface is the basis for synchronization between system and software engineering activities. The synchronization action shall be explicit and it can be triggered either by the system team or software team.</div><div class="htmlview paragraph">When the software design and verification is completed, the code can be compiled and loaded on the target. ARINC 653 configuration files (IMA) and glue code can be automatically generated from scripts based on the system and software model APIs.</div></div>
- Research Article
16
- 10.1002/j.2334-5837.2014.tb03178.x
- Jul 1, 2014
- INCOSE International Symposium
Abstract“Systems engineering is an interdisciplinary approach and means to enable the realization of successful systems” as defined in the INCOSE Systems Engineering handbook. When software development teams apply agile software methodologies such as scrum, test driven development and continuous integration (collectively referred to as “Agile software development” hereafter); there are challenges in coordination with traditional systems engineering efforts. This paper, developed by the INCOSE Agile Systems Engineering Working Group, proposes methods for cross‐functional teams that include Systems and Software Engineers working on customer “pull” projects to produce software products. This paper defines a proposed Agile SE Framework that aligns with agile software development methodology, and describes the role of the Systems Engineer in this context. It presents an iterative approach to the aspects of development (requirements, design, etc.) that are relevant to systems engineering practice. This approach delivers frequent releasable products that result in the ability to absorb changes in mission requirements through collaboration between systems engineers and software engineers. The Agile SE Framework defines a way to scale agile from individual agile software teams with a few members to large projects that require a planned architecture and coordinated efforts.
- Book Chapter
15
- 10.1007/978-3-642-25264-8_2
- Jan 1, 2011
The International Council on Systems Engineering (INCOSE) defines system engineering as an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, and then proceeding with design synthesis and system validation.The main challenges of System Engineering are related to providing non-ambiguous and coherent specification, making all relevant information readily available to all stakeholders, establishing traceability between all activities, and providing the appropriate level of verification and validation. Model Based technology can play a central role in System Engineering. Among the benefits, MBSE shall avoid duplication of information, parallel evolution of data between system teams and software teams, hence reducing the nightmare of information resynchronization.I will introduce the SCADE System product line for embedded systems modeling and generation based on the SysML standard and the Eclipse Papyrus open source technology. SCADE System has been developed in the framework of Listerel, a joint laboratory of Esterel Technologies, provider of the SCADE tools, and CEA LIST, project leader of MDT Papyrus.From an architecture point of view, the Esterel SCADE tools are built on top of the SCADE platform which includes both SCADE Suite, a model-based development environment dedicated to critical embedded software, and SCADE System for system engineering. SCADE System includes MDT Papyrus, an open source component (under EPL license) based on Eclipse. This allows system and software teams to share the same environment. Furthermore, and thanks to Eclipse, other model-based tools can be added to the environment.The SCADE System modeler focuses on ease of use, hiding the intricacies of UML profiling to the system engineers. Hence, domain views that have been consistently requested by the system engineering users, such as a tabular view to describe blocks and interfaces, are added to the tool. The core functionality of the Papyrus SysML modeler has also been augmented with requirements traceability and automatic production of system design documents.Once the system description is complete and checked, the individual software blocks in the system can be refined in the form of models in SCADE Suite and SCADE Display, or for some of them in the form of manually developed source code. SCADE System avoids duplication of efforts and inconsistencies between system structural descriptions made of SysML block diagrams, IBD and BDD, and the full software behavioral description designed through both SCADE Suite and SCADE Display models. Automatic and DO-178B Level A qualified code generation can be applied to the SCADE Suite and SCADE Display models. Moreover, the SCADE System description can be used as the basis to develop scripts that will automatically integrate the complete application software.KeywordsSystem EngineerCritical SystemComprehensive FrameworkCore FunctionalityAutomatic ProductionThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
- Single Book
- 10.29003/m4300.978-5-317-07289-6
- Nov 5, 2024
Systems engineering is a transdisciplinary scientific and applied direction that combines the principles of a systems approach, methods, tools and standards that provide an integrated methodology and relevant technologies for the design and development of complex systems, their comprehensive analysis and verification, efficient and safe use. The modern approach to systems engineering is characterized by an accentuated modeling of systems throughout their life cycle with the ultimate goal of creating their digital twins. It is called model-based systems engineering (MBSE). Consistent integration of MBSE with software engineering leads to the formation of the MBSSE (Model-Based Systems and Software Engineering) direction. This textbook is devoted to this area, the main objective of which is to study the conceptual and scientific-methodological foundations of MBSE and MBSSE, models and methods of life cycle management of systems and software, basic standards of systems engineering, study and mastery of the UML and SysML systems modeling languages and the corresponding modeling tools, study of requirements engineering methods and development of a description of the system architecture, familiarization with the concept of digital twins and their role in MBSE, study of the MBSSE reference model and its relationship with the process standards of systems engineering, study of the methodological aspects of the system and software integration process. The final chapter of the textbook is devoted to the study of the mathematical foundations of systems engineering. The main aspects of the mathematical theory of systems by A. Wayne Wymore, which became an important stimulus for the development of the model-oriented approach in systems engineering, and modern research, including the apparatus of finite automata by David Harel, the formalism of modeling of discrete systems DEVS, research into category theory as a formal mathematical basis for model-based system design are considered. The authors recommend this course as a basic course for training IT professionals.
- Research Article
25
- 10.1016/j.procs.2019.05.079
- Jan 1, 2019
- Procedia Computer Science
The Ontology of Systems Engineering: Towards a Computational Digital Engineering Semantic Framework
- Research Article
- 10.1002/iis2.13133
- Jul 1, 2024
- INCOSE International Symposium
The importance of system security continues to grow as systems become more complex, more connected, and more vulnerable. The INCOSE Vision 2035 sets goals for systems engineering (SE) as a discipline in enabling engineering solutions for a better world: “By 2035, cybersecurity will be as foundational a perspective in systems design as system performance and safety are today” (INCOSE, 2024). A key objective of the INCOSE Future of Systems Engineering (FuSE) Security Foundations Roadmap is to recognize system security as a fundamental part of the mission, integrated into the system architecture, and not “bolted‐on” as a separate subsystem or set of features in the detailed design. To achieve this, systems engineering must address system security early in the system lifecycle, during the mission analysis and concept development phase and ensure it is addressed as a functional requirement throughout the systems engineering lifecycle. System security needs must be treated as fundamental system capability.The INCOSE FuSE Security foundations roadmap identifies six (6) objectives and eleven (11) foundational concepts necessary to achieve the FuSE vision for system security (Dove, et al., 2021). Five of the objectives and five of the foundational concepts are directly related to systems acquisition and engineering lifecycle processes. The five key foundational concepts are: Stakeholder Alignment, Security as a Capability, Security as a Functional Requirement, Loss Driven Engineering and Modeled Trustworthiness.The Operational Test and Evaluation (OT&E) community has extensive cyber assessment and execution processes mandated through numerous Department of Defense (DoD) and individual service policies, directives and guidebooks. This paper studies several of the cybersecurity assessment and process guidebooks, analyzing the processes and methods to identify areas where systems engineering should be responsible, and which SE activities and outputs are needed to enable the requirements of each guidebook.This paper examines six OT&E cyber security guidebooks, and the methods and processes they describe to achieve system security in relation to the five foundation concepts. In addition to their test and evaluation processes, each describes systems engineering processes, activities and outputs that could be used to form the initial foundation of a system security technical process.While the original INCOSE vision statement uses the term “cybersecurity,” the FuSE Security initiative is adopting the term “system security” to emphasize that this is a system engineering responsibility as opposed to software engineering or information technology task. As a result, the analysis of the cybersecurity guidebooks will be in the context of “system security.”
- Book Chapter
2
- 10.1007/978-3-642-37395-4_19
- Jan 1, 2013
This paper provides an update and extension of a 2005 paper on The Future of Systems and Software Engineering Processes. Some of its challenges and opportunities are similar, such as the need to simultaneously achieve high levels of both agility and assurance. Others have emerged as increasingly important, such as the opportunities and challenges of dealing with smart systems involving ultralarge volumes of data; with multicore chips; with social networking services; and with cloud computing or software as a service. The paper is organized around eight relatively surprise-free trends and two “wild cards” whose trends and implications are harder to foresee. The eight surprise-free trends are: 1. Increasing emphasis on rapid development and adaptability; 2. Increasing software criticality and need for assurance; 3. Increased complexity, global systems of systems, and need for scalability and interoperability; 4. Increased needs to accommodate COTS, software services, and legacy systems; 5. Smart systems with increasingly large volumes of data and ways to learn from them; 6. Increased emphasis on users, social networking services, web applications, and end value; 7. Computational plenty and multicore chips; 8. Increasing integration of software and systems engineering. The two wild-card trends are: 9. Increasing software autonomy; and 10. Combinations of biology and computing.
- Conference Article
31
- 10.1109/aero.2015.7119108
- Mar 1, 2015
Product Lines are a group of related products manufactured or produced within or between collaborating organizations. To effectively manage a product line, one needs to understand both the similarities and differences between the different products and optimize the development lifecycle to leverage the similarities, and concentrate development on the differences. ISO 26550:2013 Software & Systems Engineering - Reference Model for Product Line Management & Engineering provides a standard for defining these similarities and differences as well as the choices between them. Model-Based Systems and Software Engineering (MBSE) using the Systems Modeling Language (SysML) and the Unified Modeling Language (UML) provide a means of modeling systems and software. Bringing the two together allows users to model product lines in industry standard formats. Combining these with an execution engine means that product models can be created for specific products, whilst maintaining the original product line model. This provides significant ROI for aerospace companies.
- Book Chapter
141
- 10.1007/978-3-319-25178-3_6
- Jan 1, 2016
This chapter begins with a brief introduction to systems engineering in Sect. 6.1, which describes systems engineering as an interdisciplinary field of engineering primarily focused on how to successfully design, implement, evaluate, and manage complex engineered systems over their life cycles. It also introduces the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) ISO/IEC 15288:2008 standard. Section 6.2 describes the design challenges of cyber-physical systems (CPS) and their impact on systems engineering with reference to requirements definition and management using Cradle Cradle is a requirements management and systems engineering tool that integrates the entire project life cycle into one, massively scalable, integrated, multiuser software product. Section 6.3 introduces the principal concept of software engineering with special focus on the V-model and Agile software development methodology. Section 6.4 introduces the different requirements in software design in CPS It also includes the software requirements standard American National Standards Institute/Institute of Electrical and Electronics Engineers (ANSI/IEEE) 29148-2011. Section 6.5 provides a maritime area case study which focuses on tracking and monitoring containers at ports and on ships as well as tracking and monitoring containers transported from a sea gate port to a dry port. Section 6.6 contains comprehensive questions from the introduction to systems engineering topics, followed by references and suggestions for further reading.
- Research Article
- 10.4028/www.scientific.net/amr.442.418
- Jan 1, 2012
- Advanced Materials Research
As that of coordination and ISO 15288, discipline system engineering and software engineering processes, methods have a lot in common, and concerns. In most of the system software interest, now offers an important function, more and more is the most significant factors determine the non-functional attributes. In the implementation of the system collection and failure are often attributed to the system and/or software engineering recovery. Need to use systems engineering software design and development, and need to incorporate software engineering concepts into system engineering, suggests that the decision of the two disciplines the close relationship between is appropriate. This article describes a definite theory integrating the two disciplines, defines a framework on establishing a vocabulary integration, and gives the use of this framework preliminary results to describe the system and software integration of defense plans.
- Single Book
72
- 10.1007/978-90-481-3660-5
- Jan 1, 2010
Advanced Techniques in Computing Sciences and Software Engineering includes a set of rigorously reviewed world-class manuscripts addressing and detailing state-of-the-art research projects in the areas of Computer Science, Software Engineering, Computer Engineering, and Systems Engineering and Sciences. Advanced Techniques in Computing Sciences and Software Engineering includes selected papers form the conference proceedings of the International Conference on Systems, Computing Sciences and Software Engineering (SCSS 2008) which was part of the International Joint Conferences on Computer, Information and Systems Sciences and Engineering (CISSE 2008).
- Conference Article
1
- 10.18260/1-2--22459
- Sep 4, 2020
Software and System Engineering Education: Commonalities and DifferencesWith the ever increasing complexity of engineered systems, and the increasing role of softwarein those systems, there is a need for educating and training qualified systems engineers to meetfuture demand. As the role of software increases in the overall operation and success of systemsit becomes necessary for the system engineers to understand and appreciate the softwareengineering methods and practices. The same is true for software engineers, where they need tounderstand the overall complexity of the system they deal with, and understand the systemsengineering methods and practices. Over the past five years, educators and professional softwareand systems engineers from around the world have been working on the development of twograduate reference curriculum called, Graduate Software Engineering Reference curriculum(GSWE 2009TM), and Graduate Reference Curriculum for Systems Engineering (GRCSETM),which is scheduled to be released by December 2012. These works have been supported bymany international organizations such as the IEEE Computer Society, and the IEEE SystemsCouncil, INCOSE, and ACM.This paper provides an overview of both GSWE and GRCSE document, and how it mightinfluence the quality and effectiveness of the development future Software Intensive Systems(SIS). In addition it will present some of the commonalities and differences between softwareengineering and system engineering graduate education. Finally, a discussion of challengesinvolved in graduating engineers, qualified for work on software intensive systems, is included.
- Single Book
65
- 10.1007/978-90-481-3658-2
- Jan 1, 2010
Innovations and Advances in Computer Sciences and Engineering includes a set of rigorously reviewed world-class manuscripts addressing and detailing state-of-the-art research projects in the areas of Computer Science, Software Engineering, Computer Engineering, and Systems Engineering and Sciences. Innovations and Advances in Computer Sciences and Engineering includes selected papers form the conference proceedings of the International Conference on Systems, Computing Sciences and Software Engineering (SCSS 2008) which was part of the International Joint Conferences on Computer, Information and Systems Sciences and Engineering (CISSE 2008).
- Single Book
77
- 10.1007/978-1-4020-8741-7
- Jan 1, 2008
Advances in Computer and Information Sciences and Engineering includes a set of rigorously reviewed world-class manuscripts addressing and detailing state-of-the-art research projects in the areas of Computer Science, Software Engineering, Computer Engineering, and Systems Engineering and Sciences. Advances in Computer and Information Sciences and Engineering includes selected papers from the conference proceedings of the International Conference on Systems, Computing Sciences and Software Engineering (SCSS 2007) which was part of the International Joint Conferences on Computer, Information and Systems Sciences and Engineering (CISSE 2007).