Papers by Opeyemi Adesina

This paper presents the initial exploration work and proposal for our research to integrate forma... more This paper presents the initial exploration work and proposal for our research to integrate formal methods with model-driven engineering. An extensive literature exists with the goal of facilitating the adoption of formal methods for educational and industrial practices, yet its adoption for teaching introductory software engineering courses and analyzing critical software systems in the industry is poor. The goal of this research is to provide an easy-to-use approach for using formal methods for industrial and academic purposes. Our approach is based on generating formal representations of static and dynamic abstractions of software expressed in a textual language, calledions of software expressed in a textual language, called Umple, which is derived from UML. To enrich the modeling experience, we adopt a pattern-based approach to specify various object-oriented and transition patterns. To maintain scalability of the dynamic aspects, we adopted a compositional approach to integrate...
Science of Computer Programming, 2021
Umple is an open-source software modeling tool and compiler. It incorporates textual language con... more Umple is an open-source software modeling tool and compiler. It incorporates textual language constructs for UML modeling, including associations and state machines. It includes traits, aspects, and mixins for separation of concerns. It supports embedding methods written in many object-oriented languages, enabling it to generate complete multilingual systems. It provides comprehensive analysis of models and generates many kinds of diagrams, some of which can be edited to update the Umple code. Umple runs on the command line, in a web browser or in integrated development environments. It is designed to help developers reduce code volume, while they develop in an agile, model-driven manner. Umple is also targeted at educational users where students are motivated by its ability to generate real systems from their software models.

Improving formal analysis of state machines with particular emphasis on and-cross transitions
Computer Languages, Systems & Structures
In this paper, we present an approach to formally encode state machines expressed in Umple for sy... more In this paper, we present an approach to formally encode state machines expressed in Umple for symbolic verification. We illustrate this with a real-world modeling example that encodes and analyzes and-cross transitions. This paper discusses a formal description of our approach to represent state machine systems under analysis (SSUAs); a systematic approach to certifying that SSUAs are deterministic; and an evaluation of performance (memory usage and execution time) on the case study. Method: We describe a formalization of state machines in Umple that enables their translation to model checking tools and also to code that is consistent with this. We present three alternative modeling solutions for a sample problem and a solution based on the use of and-cross transitions. State machine models corresponding to these solutions are represented in Umple, a model-oriented programming language. These are automatically transformed to SMV, the input language of the nuXmv (or NuSMV) model checker. By cleanly separating concerns, we systematically integrate components of hierarchical state systems as opposed to the traditional flattening approach, yet manage the complexity introduced by concurrency and and-crossing. We then compose and verify a set of requirements (e.g., correctness, safety, liveliness, etc.) on the resulting systems of all the modeling approaches to empirically compare the different modeling alternatives with the use of and-cross transitions. Results: We can encode and formally analyse complex state machines with and-cross transition(s). We observed a large reduction in the number of required transitions for encoding the SSUA, as opposed to the alternative approaches. We asserted that solutions derived from the approaches are identical behavior-wise even though each approach models the SSUA differently. Each of the approaches yielded the same result for potentially conflicting pairs which is a false positive (i.e., the SSUAs are deterministic). We observe that each approach maintains the same global state-space irrespective of the variations in their number of transitions. Furthermore, we observe that it is untrue that a more abstract method applied to an SSUA outperforms its less abstract counterpart whenever parameters (such as execution time, memory usage and the number of Binary Decision Diagrams - BDDs) are the factors under consideration. Contributions: A systematic approach to encode state machines with and-cross transitions (including unusual transitions). An enhanced but fully automated approach to discovering non-determinism in state machines even in the presence of unbounded domains and multiple and-cross transitions within the same enclosing orthogonal state. An empirical study of the impact of abstraction on some performance parameters. We also present an extended formalization of Umple state machines.
Design and implementation of distributed expert systems: On a control strategy to manage the execution flow of rule activation
Expert Systems with Applications
A Fully Automated Approach to Discovering Nondeterminism in State Machine Diagrams
2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC), 2016
In this paper, we propose a solution based upon Umple for data transformation of Financial Inform... more In this paper, we propose a solution based upon Umple for data transformation of Financial Information eXchange protocol (FIXML). The proposed solution includes syntactic and semantic analysis and automatic code generation. We discuss our solution based on development effort, modularity, complexity, accuracy, fault tolerance, and execution time factors. We have applied our technique to a set of FIXML test cases and evaluated the results in terms of error detection and execution time. Results reveal that Umple is suitable for the transformation of FIXML data to object-oriented languages.
In this paper, we propose a solution based upon Umple for data transformation of Financial Inform... more In this paper, we propose a solution based upon Umple for data transformation of Financial Information eXchange protocol (FIXML). The proposed solution includes syntactic and semantic analysis and automatic code generation. We discuss our solution based on development effort, modularity, complexity, accuracy, fault tolerance, and execution time factors. We have applied our technique to a set of FIXML test cases and evaluated the results in terms of error detection and execution time. Results reveal that Umple is suitable for the transformation of FIXML data to object-oriented languages.

Due to large data sets and accompanied large number of parameters being produced by high throughp... more Due to large data sets and accompanied large number of parameters being produced by high throughput techniques, it became necessary to develop high performance computers based on clustering technologies and high performance distributed platforms. Research efforts in achieving a high performance distributed platforms yield grid computing. However, grid is complex as a result of heterogeneous nature of the underlying softwares and hardware resources forming it. Managing these issues has become an important research and development challenges. In the literature, various implementation solutions have been proposed for managing heterogeneity in distributed systems. Programming language and platform dependency problems of these solutions are the motivation of this paper. We have proposed software infrastructure for managing the heterogeneity in grid computing environment. Our proposed solution is based on the standards and specifications of Web services framework.
Merging Modeling and Programming Using Umple
Lecture Notes in Computer Science, 2016
We discuss how Umple merges modeling and programming by adding modeling constructs to programming... more We discuss how Umple merges modeling and programming by adding modeling constructs to programming languages and vice-versa. Umple has what we call model-code duality; we show how it fulfills key attributes of being both a programming language and a modeling technology. Umple also has what we call text-diagram duality in that the model or code can be updated by editing the textual or diagram form. We give an example of Umple, and explain how key benefits of textual programming languages are found in Umple, as are important features of modeling technology.
Uploads
Papers by Opeyemi Adesina