The Artima Developer Community
Sponsored Link

Agile Buzz Forum
VisualWorks 7.3 Subsystems

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
VisualWorks 7.3 Subsystems Posted: May 28, 2005 8:19 AM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: VisualWorks 7.3 Subsystems
Feed Title: Richard Demers Blog
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rademers-rss.xml
Feed Description: Richard Demers on Smalltalk
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Richard Demers Blog

Advertisement

VisualWorks 7.3 Smalltalk now includes a class hierarchy with Subsystem as its abstract root. I spent some time yesterday reading the code and comments of these classes. It took me a while to figure out what the word "subsystem" means in this context, and whether it refers to anything like what I understand a subsystem to be.

First off, a VW subsystem represents some aspect of the functionality of the total system; for each, a separate subclass of Subsystem. For example, there is a subclass for the CoreSystem, the BasicGraphicsSystem, and the WindowingSystem. There is also a subclass for UserApplication, which is intended to be for application defined subsystems. These subsystems can be loaded or not, and be "active" or not. Methods are provided for activating and deactivating subsystems. This includes prerequisite checking for other subsystems required to be active.

Initially, I wondered how these subsystems differed from packages, which also support prerequisite checking. But then I realized that package prerequisites are only concerned with what is loaded in the image. Subsystem prerequisites are about what is "active" and running in the system. What differentiates them is that a Subsystem class has to be instantiated as an object, and it is the subsystem object that is activated. A package is just a static packaging of a bunch of classes.

Clearly, the VW engineers are using these subsystems as a new way to structure and manage the functionality of their increasingly complex system -- nothing to argue with there. I have long been a believer in the aphorism "To build good systems, build good subsystems." Hopefully, the VW 7.3 support for subsystems is just a first step.

"Just a first step" because subsystems should (in my opinion) be viewed as entities at a level of abstraction beyond the "objects" one finds in a Smalltalk image. Rather than elaborate on this here, I'll just point to a paper I wrote on Subsystem Exception Handling in Smalltalk.

Read: VisualWorks 7.3 Subsystems

Topic: Agile Content for the Spring 2005 issue of Methods & Tools Previous Topic   Next Topic Topic: Wearing your tinfoil hat?

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use