An algebraic approach to modeling in software engineering
Abstract
Our work couples the formalism of universal algebras with the engineering techniques of mathematical modeling to develop a new approach to the software engineering process. Our purpose in using this combination is twofold. First, abstract data types and their specification using universal algebras can be considered a common point between the practical requirements of software engineering and the formal specification of software systems. Second, mathematical modeling principles provide us with a means for effectively analyzing real-world systems. We first use modeling techniques to analyze a system and then represent the analysis using universal algebras. The rest of the software engineering process exploits properties of universal algebras that preserve the structure of our original model. This paper describes our software engineering process and our experience using it on both research and commercial systems. We need a new approach because current software engineering practices often deliver software that is difficult to develop and maintain. Formal software engineering approaches use universal algebras to describe ``computer science`` objects like abstract data types, but in practice software errors are often caused because ``real-world`` objects are improperly modeled. There is a large semantic gap between the customer`s objects and abstract data types. In contrast, mathematical modelingmore »
- Authors:
-
- Superconducting Super Collider Lab., Dallas, TX (United States)
- Michigan Univ., Ann Arbor, MI (United States)
- Publication Date:
- Research Org.:
- Superconducting Super Collider Lab., Dallas, TX (United States)
- Sponsoring Org.:
- USDOE, Washington, DC (United States)
- OSTI Identifier:
- 10186325
- Report Number(s):
- SSCL-Preprint-405; CONF-9306272-1
ON: DE94001094; TRN: 94:000032
- DOE Contract Number:
- AC35-89ER40486
- Resource Type:
- Conference
- Resource Relation:
- Conference: AMAST `93: algebraic methodology and softward technology conference,Enschede (Netherlands),21-25 Jun 1993; Other Information: PBD: Sep 1993
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 99 GENERAL AND MISCELLANEOUS//MATHEMATICS, COMPUTING, AND INFORMATION SCIENCE; 43 PARTICLE ACCELERATORS; PROGRAMMING; ALGEBRA; SUPERCONDUCTING SUPER COLLIDER; ELECTRICAL ENGINEERING; MATHEMATICAL MODELS; DESIGN; 990200; 430100; MATHEMATICS AND COMPUTERS; DESIGN, DEVELOPMENT, AND OPERATION
Citation Formats
Loegel, G J, Michigan Univ., Ann Arbor, MI, and Ravishankar, C V. An algebraic approach to modeling in software engineering. United States: N. p., 1993.
Web.
Loegel, G J, Michigan Univ., Ann Arbor, MI, & Ravishankar, C V. An algebraic approach to modeling in software engineering. United States.
Loegel, G J, Michigan Univ., Ann Arbor, MI, and Ravishankar, C V. 1993.
"An algebraic approach to modeling in software engineering". United States. https://www.osti.gov/servlets/purl/10186325.
@article{osti_10186325,
title = {An algebraic approach to modeling in software engineering},
author = {Loegel, G J and Michigan Univ., Ann Arbor, MI and Ravishankar, C V},
abstractNote = {Our work couples the formalism of universal algebras with the engineering techniques of mathematical modeling to develop a new approach to the software engineering process. Our purpose in using this combination is twofold. First, abstract data types and their specification using universal algebras can be considered a common point between the practical requirements of software engineering and the formal specification of software systems. Second, mathematical modeling principles provide us with a means for effectively analyzing real-world systems. We first use modeling techniques to analyze a system and then represent the analysis using universal algebras. The rest of the software engineering process exploits properties of universal algebras that preserve the structure of our original model. This paper describes our software engineering process and our experience using it on both research and commercial systems. We need a new approach because current software engineering practices often deliver software that is difficult to develop and maintain. Formal software engineering approaches use universal algebras to describe ``computer science`` objects like abstract data types, but in practice software errors are often caused because ``real-world`` objects are improperly modeled. There is a large semantic gap between the customer`s objects and abstract data types. In contrast, mathematical modeling uses engineering techniques to construct valid models for real-world systems, but these models are often implemented in an ad hoc manner. A combination of the best features of both approaches would enable software engineering to formally specify and develop software systems that better model real systems. Software engineering, like mathematical modeling, should concern itself first and foremost with understanding a real system and its behavior under given circumstances, and then with expressing this knowledge in an executable form.},
doi = {},
url = {https://www.osti.gov/biblio/10186325},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Wed Sep 01 00:00:00 EDT 1993},
month = {Wed Sep 01 00:00:00 EDT 1993}
}