This is what's been going on with this website lately...
Uploaded Update to Lecture 62 Description of Traffic Light Model (September 2025)
This lecture was modified to provide more comprehensive and accurate coverage of the MathWorks Traffic Light Model that is used as one of the three example models in my Models & Simulation course.
You can download this lecture and all other Systems Modeling & Simulation-related lectures here.
Uploaded Update to Lecture 63 Description of Security System Model (September 2025)
This lecture was modified to provide more comprehensive and accurate coverage of my modified version of the MathWorks Security System Model that is used as one of the three example models in my Models & Simulation course. It should be noted that MathWorks has removed access to this model, and therefore students will not be able to obtain the original version of this model. My modified version of this model is significantly down-scoped to just one intrusion detection sensor. It also has some minor behavioral enhancements that provide a better simulation (an improved, but basic simulation) of the problem scenario.
You can download this lecture and all other Systems Modeling & Simulation-related lectures here.
Uploaded Update to Lecture 74 Setting Up Scope Displays in Simulink (September 2025)
This lecture was updated primarily to address changes to the way MathWorks has implemented the settings controls for the Simulink Scope Block.
You can download this lecture and all other Systems Modeling & Simulation-related lectures here.
Uploaded Update to Lecture 02 Systems Thinking (May 2025)
This lecture was updated to primarily remove less relevant material and thus reduce the page count of the document.
You can download this lecture and all other Systems Architecture-related lectures here.
Uploaded New Lecture 47 Functionality, Behavior, and Effects v02 (May 2025)
This lecture provides the student with a deeper understanding of the difference between 1) functionality designed to be implemented within a system, 2) the behavior that emerges from the system upon implementation of the as-designed system functionality, and 3) the effects within the operational environment that the stakeholders anticipate the system to produce. In addition, the concept of predicting future delivery of effects during development of a system is addressed, as well as how this constitutes an assumption on the part of system architects, versus the actual effects that the stakeholder expects to see produced during eventual operations of the system.
v02 addresses minor corrections.
You can download this lecture and all other Systems Architecture-related lectures here.
Uploaded Test Generation Utility v05 (February 2025)
Blackboard is a popular educational course management tool that allows instructors to design and populate course content online that students can then access remotely. This Excel-based tool generates Blackboard-importable files to populate Blackboard course resources with tests ready to be used by students in both Blackboard Original and the new Blackboard Ultra. My objective in developing this utility is to make available a procedure that involves the least manual data manipulation on my part as possible to generate tests in Blackboard.
You can download this resource here.
Uploaded Update to Lecture 30 Overview of Object-Process Methodology (January 2025)
Lecture 30 has been updated slightly to correct some misleading information and provide a better overview of the OPM. Also, the name of the lecture has been changed to be that of simply an overview of the OPM, as the content does not actually live up to the original title of Modeling Systems with Object-Process Methodology. It is intended to provide a more comprehensive lecture in the future that does actually address the modeling of systems with OPM.
You can download this lecture and all other Systems Architecture-related lectures here.
Uploaded Update to Lecture 05 Analysis of Function (January 2025)
Lecture 05 has been updated slightly to be more consistent with the new Lecture 08 covering Processes and Operands, and to duplicate material that needs emphasis in both lectures, and to eliminate needless redundancy between the two lectures.
You can download this lecture and all other Systems Architecture-related lectures here.
Uploaded New Lecture 08 Covering Processes and Operands (January 2025)
This lecture provides the student with a more focused coverage of system processes and the operands that are consumed and produced by such processes, since this seems to be a topic of particular difficulty in understanding by students. In addition, the concept of function is related to that of process.
You can download this lecture and all other Systems Architecture-related lectures here.
Uploaded New Lecture 43 Covering Cohesion and Coupling in System Architecture (January 2025)
This lecture provides the student with a definition of cohesion and coupling as it relates to system architectures. The lecture discusses the relationship between cohesion and coupling, and how one might affect the other, and also provides some example system descriptions to address how cohesion and coupling are observed in the example system architectures.
You can download this lecture and all other Systems Architecture-related lectures here.
Seven-Module Grading Tool Updated to v4.1.1 (December 2024)
This is the tool I use to perform daily grade management for a seven-module educational courses (spanning 14 weeks).
The improvements in this version over v4.1.0 are primarily bug fixes, which include:
- Sub cmdApplyGradeToAll_Click: Fix incorrect normal cell color for Weeks 4 and 12
- Sub cmdSaveThisGrade_Click: Break out processing based on flags p_bIsGroupAssignment And p_bInGroupGradingMode,
in other words, instead of processing these flags together, first check if p_bIsGroupAssignment is True, if so,
THEN check if p_bInGroupGradingMode is True - Sub cmdSaveThisGrade_Click: Convert group membership check to be a negative check that results in
error that kicks out of Sub - Sub lstSelectGradeList_Click: Only perform certain processing if not in group mode
- Sub cmdSaveThisGrade_Click: Correct wrong value for cell color for Week 12
You can download this resource here.
Uploaded New Lecture 14 Covering Architecture Descriptions and International Standard ISO/IEC/IEEE 42010 (December 2024)
This is another topic that was in need of being addressed in this courseware. The Architecture Description is a document (now considered to better be a collection of architecture models, and their technical descriptions) that is used to express (describe) a system architecture. ISO/IEC/IEEE 42010 is the International Standard that addresses the content of an architecture description.
You can download this lecture and other Systems Architecture-related lectures here.
Opened New Courseware Section on the Systems Modeling Language (SysML) and Uploaded Lecture 111 Covering the SysML Parametric Diagram (December 2024)
After much anticipation and grief over not having time to begin addressing this topic, I have finally opened up a new section of courseware titled The Systems Modeling Language (SysML). The first installment of this courseware (Lecture 111) covers the SysML Parametric Diagram.
You can download this lecture and all other upcoming Systems Modeling Language-related lectures here.
Uploaded New Lecture 68 Covering Various Simulink Modeling Techniques (December 2024)
This lecture provides the student with several example modeling techniques for constructing “environment” models in Simulink. These techniques could be of use to the student when attempting to devise solutions to given problems.
You can download this lecture and all other Systems Modeling & Simulation-related lectures here.
Uploaded New Lecture 73 Covering Setting Up of Dashboard Controls in Simulink (October 2024)
This lecture provides the student with a tutorial on applying Simulink Dashboard Blocks (dashboard controls) in a Simulink Model. Dashboard controls are more visually intuitive and user-friendly than older, standard means of controlling a Simulink simulation.
You can download this lecture and all other Systems Modeling & Simulation-related lectures here.
Uploaded New Lecture 74 Covering Setting Up of Scope Displays in Simulink (October 2024)
This lecture provides the student with a tutorial on setting up a Scope Block (oscilloscope-style display block) in a Simulink Model. The usage of scopes in Simulink is critical towards understanding what your model is doing and is invaluable in debugging a new or errant model.
You can download this lecture and all other Systems Modeling & Simulation-related lectures here.
Seven-Module Grading Tool Updated to v4.1.0 (October 2024)
This is the tool I use to perform daily grade management for a seven-module educational courses (spanning 14 weeks).
The improvements in this version over v4.0.0 are primarily bug fixes, which include:
- Sub cmdSaveThisData: Type mismatch: change p_sSelectedStudent to p_iSelectedIndex
- Sub cmdSaveThisData: Do NOT turn off command button “Save This Data”, as the user may want to continue performing the task until hitting “End This Task”
- Sub lstStudentList_change: When user wants to continue editing student data, and for the next student wants to select the same values for the below listboxes, the selections for those listboxes gets “stuck” forcing the user to select another value in the listbox, then go back and select the desired item in the listbox. This fix clears the selection in those listboxes so that the user can then select the desired item without difficulty.
- Sub lstStudentList_change: Type mismatch: change p_sSelectedStudent to p_iSelectedIndex
- Subs cmdSaveThisGrade_Click, cmdExitGrading_Click, cmdSaveThisGrade_Click, lstAssignment_AfterUpdate, ResetForNewAssignment, lstModule_AfterUpdate, lstStudentList_AfterUpdate, lstWeek_AfterUpdate, UserForm_Activate : Convert gblb_InGroupGradingMode from a global variable to a Private variable p_bInGroupGradingMode, and convert gblb_GroupGradingMode from a global variable to a Private variable p_bGroupGradingMode
- Subs cmdSaveThisGrade_Click, lstGroup_AfterUpdate : Convert gbls_SelectedGroup from a global variable to a Private variable p_bSelectedGroup
- Subs cmdApplyGradeToAll_Click, cmdClearAllGrades_Click, cmdSaveThisGrade_Click, lstModule_AfterUpdate, lstWeek_AfterUpdate, : Convert gbls_SelectedGroup from a global variable to a Private variable p_bSelectedGroup
- Subs lstSelectGradeList_Click, lstSelectGradeList_Click, lstStudentList_AfterUpdate, spnStudentList_SpinDown, spnStudentList_SpinUp, UserForm_Activate : Convert gbli_SelectedGrade from a global variable to a Private variable p_iSelectedGrade
- Subs lstSelectGradeList_Click : Convert gbli_SelectedStudentIndex from a global variable to a Private variable p_bSelectedGroup
- Add boolean flag p_bIsGroupAssignment to say whether this is group assignment or not
- Redesign management of whether in group mode or not
- Sub cmdSaveThisGrade_Click: Fix incorrect property reference from ‘SD_’ to ‘GR_’
- Sub cmdSaveThisGrade_Click: When recording grade in worksheet, find each student in sheet by going down ALL rows and looking for each student in group, RATHER THAN starting with first student and simply applying grade to the next ‘n’ students according to the number of students listed in the lstListOfStudents listbox, since students might not be assigned to groups linearly
- Sub cmdApplyGradeToAll_Click: When attempting to apply grade to all, code was referencing colStudentData (SD) rather than collStuentGrades (GR)
- Sub lstAssignment_AfterUpdate: Correct incorrect Named Range reference
- Sub lstWeek_AfterUpdate: Correct incorrect week number assignment that affected color selection for cells being graded by week
- Sub lstWeek_AfterUpdate: Change public array asAssignmentGrades to p_asAssignmentGrades and change from Long to String
- Subs cmdLate_Click, cmdLateAllowed_Click, cmdNeedsGrading_Click, cmdNeedsInvestigating_Click, cmdNormal_Click, cmdNotSubmitted_Click: Add “+ i” to change cell color for correct student (not just for first student)
You can download this resource here.
Uploaded New Lecture 69 Covering Fundamentals of Digital Circuits (June 2024)
This lecture provides the student with a wealth of basic information on digital (logical) circuits of the kind that can be used in Simulink to develop a simulation environment for a State-based Systems Engineering (SE) System Model built in Stateflow. The lecture covers the fundamentals of basic logic gates, and how such gates are used to construct combinational circuits to build useful modeling devices such as latches and flip-flops. The purpose of this material is to educate the student on how these devices are constructed and operate such that the student has enough background to use these devices to construct an environment for an SE model that is the subject of an SE problem. All SE subject models require an environment model to supply the environmental inputs and to receive control outputs from the SE model. The lecture also describes the limited number of latches and flip-flops provided in Simulink that students can use in the construction of the environmental models in Simulink.
You can download this lecture and all other Systems Modeling & Simulation-related lectures here.
Uploaded New Lecture 52 Covering the CMMI-DEV Model (May 2024)
This lecture addresses the application of the Capability Maturity Model Integration for Development (CMMI-DEV) Model for Architecture. It introduces the CMMI Model concept, describes the two improvement paths available (Continuous and Staged), the four Capability levels (for continuous improvement) and the five Maturity levels (for staged improvement). It then covers the General Goals and Practices, elaborating the concerns of the Technical Solution (TS) process area that includes the System Architecture Definition technical process. The lecture then concludes with a description of the Process Area-Specific Goals and Practices for the Technical Solution process area.
You can download this lecture and all other Systems Architecture-related lectures here.
System Architecture Course Artifacts Updated (May 2024)
I have added and updated a few documents associated with the Systems Architecture course material. I have a lot of updates to make and a lot of new material to add to this section of courseware. Sometimes, it just seems like it takes forever to get one item scratched off my list of things to do. But, hopefully, over time I will get to the point that most of this material is posted in near its final form – if that time EVER comes!
NEW – Document 01 – Architecture Management Plan Template – This is a template for production of an Architecture Management Plan (AMP) that I had assembled a couple of years ago based partially on material from various sources on the internet.
You can download these resources here.
Information on My Volunteering Activities Added (Updated October 2024)
I have now included some information regarding my volunteering activities during the period I was working, as well as the activities I am involved with now that I am retired. This information focuses mostly on my relationship with the Cowtown BEST Robotics activity that benefits high school students in the Fort Worth, TX area, as well as the SAE Aero Design activity that benefits college-age students across the globe.
I have also included information regarding the review of several International Technical Standards (mostly those of the ISO/IEC/IEEE) that I have reviewed while employed, and as a member of the International Council on Systems Engineering (INCOSE), and which I continue to support in retirement as a member of the INCOSE Architecture Working Group.
You can view this information here.
UPDATE – During the summer of 2025, I participated in the delivery of training to systems engineers interested in taking the INCOSE Systems Engineering Professional (SEP) Certification Exam. With this activity, I delivered nine 1-hour training sessions to an average of about 40 students per session.
UPDATE – As of May 12, 2025, I have completed my review of ISO/IEC/IEEE 42024 CD2, titled “Enterprise, Systems and Software – Architecture Fundamentals” and turned in my comments to the INCOSE Architecture Working Group for compilation into INCOSE’s response back to ISO/IEC/IEEE.
UPDATE – On April 4, 2025, I submitted my grading assessment for three teams in the Advanced Class for SAE Aero Design East.
UPDATE – On March 27, 2025, I submitted my grading assessment for three teams in the Advanced Class for SAE Aero Design West.
UPDATE – As of March 4, 2025, I have completed my review of ISO/IEC/IEEE 42042 CD1, titled “Enterprise, Systems and Software – Reference Architectures” and turned in my comments to the INCOSE Architecture Working Group for compilation into INCOSE’s response back to ISO/IEC/IEEE.
UPDATE – As of October 20, 2024, I have responded to a survey being conducted by the INCOSE Architecture Working Group titled “Grow An Architect Project: Survey 1A: Systems Architecture – Entry Level.” This survey aims to collect references to source material to be used to develop educational documentation for entry level architects. Most of my inputs are from the following types of sources: books, theses, technical papers, technical presentations, technical websites. I did not offer many suggestions for sources such as video, podcast, etc, since I tend not to look for educational material from those resources.
UPDATE – As of October 2, 2024, I have completed my review of ISO/IEC/IEEE 42024 CD1, titled “Enterprise, Systems and Software – Architecture Fundamentals” and turned in my comments to the INCOSE Architecture Working Group for compilation into INCOSE’s response back to ISO/IEC/IEEE.
UPDATE – As of July 27, 2024, I have now posted the notes I used when covering the SE Technical Processes discussed below. These won’t make much sense without a copy of the INCOSE Handbook v4 Tutorial presentation prepared by the INCOSE Hampton Roads Area Chapter. This tutorial is available for free to INCOSE Members and Non-Members alike. Login to the INCOSE Site, go to the INCOSE Store and download your copy of the tutorial.
UPDATE – As of July 24, 2024, I have completed my participation in the delivery by the North Texas Chapter of INCOSE of training to prospective candidates for the INCOSE Systems Engineering Professional (SEP) Certification Test. This training covered the Systems Engineering Handbook V4.0 Tutorial prepared by the INCOSE Hampton Roads Area (HRA) Chapter. I participated by covering the following INCOSE Technical Processes as described in versions 4 and 5 of the INCOSE Handbook: Business or Mission Analysis (BMA), Stakeholder Needs and Requirements Definition (SNRD), System Requirements Definition (SRD), Integration (INT), Verification (VER), Transition (TRAN), Validation (VAL), Operation (OPER), Maintenance (MAINT), Disposal (DISP).
UPDATE – As of April 18, 2024, I have completed my review of ISO/IEC/IEEE 42042 WD1, titled “Enterprise, Systems and Software – Reference Architectures” and turned in my comments to the INCOSE Architecture Working Group for compilation into INCOSE’s response back to ISO/IEC/IEEE.
UPDATE – As of April 7, 2024, I have completed my review of ISO/IEC/IEEE 42024 WD1, titled “Enterprise, Systems and Software – Architecture Fundamentals” and turned in my comments to the INCOSE Architecture Working Group for compilation into INCOSE’s response back to ISO/IEC/IEEE.
UPDATE – On April 1, 2024, I submitted my grading assessment for three teams in the Regular Class for SAE Aero Design West.
UPDATE – On February 25, 2024, I submitted my grading assessment for three teams in the Regular Class for SAE Aero Design East.
Updates to my Music Library Manager App (Updated October 2024)
During June-August of 2023, I have been quite busy trying to complete the design, build, and release of my Music Library Manager. This task has been completed and version 1.0.1 of the app is now published on this website. The objective of this app is to “smartly” manage the population of music and playlists onto my two Digital Audio Players (DAPs): the FiiO X5 and FiiO X7. I have an extensive music collection (over 15,000 songs) and manually managing the movement of this much data on and off of SD cards that the two DAPs use would be an absolutely impossible task. This project has turned out to be quite an involved undertaking, but also a great learning experience using the VBA language (I am not a software professional.) This project will offer an easy and direct way to manage all the music that goes onto these two DAPs, and I am finally now able to better control the music that goes on these devices, thereby making the use of these machines much more easy and pleasurable. Go here to find out more about how this project is coming along.
UPDATE – October 6, 2024 – I have run into some serious issues with Version 1.0.1 of John’s Music Library Manager App that have basically rendered the app unusable for movement of large amounts of music from the computer to my two DAPs. During my last development session, reported below, I was using a very small set of music files to transfer for purposes of checking the functionality of the app. When attempting a large and complex file movement, the app experience some serious issues. I am planning to return to this task to chase down those issues and release a new version of the app before the end of 2024. Stay tuned for that update.
UPDATE – August 17, 2023 – Version 1.0.1 of John’s Music Library Manager App has been uploaded to this website here. A User Manual for this version of the App can be found here.
The latest update described above only worked for a short time until I attempted to perform a massive move of playlists and songs during which the software crashed unceremoniously. I have not had ANY spare time to get back to work on this all year since August 2023. But, I plan on returning to this work during the Winter 2024 school break – to address the problems experienced last year, and hopefully get the software working more reliably so that I can get full use of my two FiiO Digital Audio Players (DAPs).
Winter 2024-2025. Well, nothing EVER goes according to plan or how you expect. During the winter break, I became overwhelmed with tasks to perform in support of our garden expansion project here at home. So, there was absolutely NO WAY I could put my head into the problem of fixing my Music Library Manager App. To do this kind of work, I need to be deeply focused on the complicated operations of this tool, and any interruptions in thought, which were occurring regularly, simply destroyed my concentration. It was a lost cause. I will just have to wait until this garden expansion project winds down so I can put all my attention to this task for about a week to figure out what is the problem with the app.