“His book on components was the first one on this topic and opened directions towards a new and important technology. I used it in a course and it was very useful and insightful. I hope he updates it.”
Clemens Szyperski
Bellevue, Washington, United States
3K followers
500+ connections
Activity
-
After nearly 11 years of living and working in Switzerland, Diana and I are returning to the US (Berkeley, CA, where I received my PhD). Our time in…
After nearly 11 years of living and working in Switzerland, Diana and I are returning to the US (Berkeley, CA, where I received my PhD). Our time in…
Liked by Clemens Szyperski
Experience
Education
Volunteer Experience
-
Board Member
Meydenbauer Bay Yacht Club
- Present 1 year 7 months
Arts and Culture
This is not a charity but a volunteer-run yacht club, although the club does engage in some charitable activities.
Publications
-
The .NET Composition Primitives: A Common Foundation for Open, Dynamic, and Reflective Component Frameworks
International Conference on Software Composition
-
Software Ecosystem, MIT Press, 2003
Cambridge, MA
Software as a ware is a phenomenon that is mischaracterized when comparing it either to digital media (although software shares the virtual shape of digital encodings) or to traditional machines (although software shares many of the behavioral characteristics of machines). This book carves out that new niche populated uniquely by software, explores the many facets of ecosystems crosscut by software and their impact on other disciplines, including economy and regulation. Ultimately, the book's…
Software as a ware is a phenomenon that is mischaracterized when comparing it either to digital media (although software shares the virtual shape of digital encodings) or to traditional machines (although software shares many of the behavioral characteristics of machines). This book carves out that new niche populated uniquely by software, explores the many facets of ecosystems crosscut by software and their impact on other disciplines, including economy and regulation. Ultimately, the book's aim is to encourage researchers in such cross-cutting disciplines to consider the unique nature of software when forming discipline theories meant to extend to software.
Other authors -
Component Software - Beyond Object-Oriented Programming, Addison-Wesley 1997 and 2002
Reading, MA
Componentization of software takes a middle ground between code-oriented technology, including OOP, and service-oriented encapsulation of operated entities. This book explores the spectrum of that middle ground, its unique tradeoffs and challenges.
Other authorsSee publication
Patents
-
Transaction transforms
Issued US 8275793
A method and system for maintaining isolated data in an application is disclosed which data to be selectively isolated until a data client orders the changes to be committed or abandoned. A computer-readable medium for constructing an application capable of localized data isolation is also disclosed. An application specification is used to determine which data entities should be isolated, and one or more transaction transforms are implemented for each data entity to be isolated.
Other inventorsSee patent -
Observing and reporting changes in complex software dependencies
Issued US 8214340
An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component…
An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.
Other inventorsSee patent -
Generic XAD processing model
Issued US 8201147
Embodiments are directed to dynamically building software applications and dynamically updating software applications based on changed data values. In one embodiment, a computer system receives an indication that a software application is to be initiated. The computer system also receives an application description including tags describing software objects that are to be included in the software application, automatically maps portions of the application description identified by the tags to…
Embodiments are directed to dynamically building software applications and dynamically updating software applications based on changed data values. In one embodiment, a computer system receives an indication that a software application is to be initiated. The computer system also receives an application description including tags describing software objects that are to be included in the software application, automatically maps portions of the application description identified by the tags to software objects using reflection, where the reflecting includes accessing properties associated with the software objects, and automatically binds properties of the software objects to the portions of the application description based declarative rules included in the software object properties associated with the software object.
Other inventorsSee patent -
XML application framework
Issued US 8132148
The present invention relates to an XML application framework (XAF). XAF applications are data driven such that all operations with the computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how the data is displayed and what type of data is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an…
The present invention relates to an XML application framework (XAF). XAF applications are data driven such that all operations with the computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how the data is displayed and what type of data is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an action module. The action module generates a standard format action from the UI event and sends it to the data connector. The data connector translates the standard format action into a data-specific action that changes data in a data store. A data connector then sends a standard format data representation corresponding to the changed data back to the UI connector to provide the changed data to the UI.
Other inventorsSee patent -
Iterative component binding
Issued US 8108831
Component domains used to define a binding between various components associated with the component domain. The component domain tracks the various services to be imported by each component, and tracks the various services exported by each component. At runtime, rather than at compile time, the various interrelations between the components are bound using the service import and export data. Accordingly, depending on the components available and their characteristics, the bindings may differ…
Component domains used to define a binding between various components associated with the component domain. The component domain tracks the various services to be imported by each component, and tracks the various services exported by each component. At runtime, rather than at compile time, the various interrelations between the components are bound using the service import and export data. Accordingly, depending on the components available and their characteristics, the bindings may differ. This permits applications to be much more flexible. In one implementation, the binding is performed iteratively. For example, if after one iteration of binding service imports to service exports, some components may expand the services that they export, or the services that they desire to import.
Other inventorsSee patent -
Fully capturing outer variables as data objects
Issued US 8060868
Providing for read/write access to captured free variables expressed as environment data objects is disclosed herein. By way of example, free variables can be rewritten as a field of a private class, and accessed via an instance of the private class captured within the environment data object. In such a manner, no need of a placeholder or proxy function is required to access the free variable. Consequently, the subject innovation provides a simplified method for capturing free variables within…
Providing for read/write access to captured free variables expressed as environment data objects is disclosed herein. By way of example, free variables can be rewritten as a field of a private class, and accessed via an instance of the private class captured within the environment data object. In such a manner, no need of a placeholder or proxy function is required to access the free variable. Consequently, the subject innovation provides a simplified method for capturing free variables within expression trees and providing read/write access to such variables.
Other inventorsSee patent -
XML application framework
Issued US 8046737
The present invention relates to an XML application framework (XAF). XAF applications are data driven such that all operations with the computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how the data is displayed and what type of data is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an…
The present invention relates to an XML application framework (XAF). XAF applications are data driven such that all operations with the computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how the data is displayed and what type of data is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an action module. The action module generates a standard format action from the UI event and sends it to the data connector. The data connector translates the standard format action into a data-specific action that changes data in a data store. A data connector then sends a standard format data representation corresponding to the changed data back to the UI connector to provide the changed data to the UI.
Other inventorsSee patent -
Observing and reporting changes in complex software dependencies
Issued US 7899798
An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component…
An observation system includes mechanisms for efficiently tracking the state of source components, which include functions, arguments, or values, etc. In one implementation, an observing component requests that a source component processes a request. The observation system then identifies all possible components in a dependency chain for the request, and all such components that are configured for change notifications. A dependency registry stores a representation of each identified component that is configured for change notifications. Any time any component configured for change notifications changes, including indirectly related components, the observing component can be immediately notified of the change, without having to reprocess the entire set of component dependencies.
Other inventorsSee patent -
XML application framework
Issued US 7886269
An extensible markup language (XML) application framework (XAF) may be provided. XAF applications are data driven such that all operations with a computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how data is displayed and what data type is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an…
An extensible markup language (XML) application framework (XAF) may be provided. XAF applications are data driven such that all operations with a computer system are data focused. In addition, the components used in the XAF application are instantiated and connected according to how data is displayed and what data type is used. Applications within XAF comprise a user interface (UI) connector, an action module, and a data connector. UI connectors receive UI events and connect the UI event to an action module. The action module generates a standard format action from the UI event and sends it to the data connector. The data connector translates the standard format action into a data-specific action that changes data in a data store. A data connector then sends a standard format data representation corresponding to the changed data back to the UI connector to provide the changed data to the UI.
Other inventorsSee patent -
Consistently signaling state changes
Issued US 7860900
A signaling system of the present invention provides a synchronized approach to delivering, reporting, and/or otherwise processing status changes in a software dependency chain. In a first phase, the signaling system identifies all dependencies between software components, and further sets a binary indicator of each node in a first representation. After identifying any changes in a source node, the system (e.g., a value is updated), the system updates each binary indicator to a second setting…
A signaling system of the present invention provides a synchronized approach to delivering, reporting, and/or otherwise processing status changes in a software dependency chain. In a first phase, the signaling system identifies all dependencies between software components, and further sets a binary indicator of each node in a first representation. After identifying any changes in a source node, the system (e.g., a value is updated), the system updates each binary indicator to a second setting. In a second phase, the system initiates all listeners in the dependency chain in an essentially progressive order from source node, to intermediate node, and end-node, etc. Once all listeners have had a chance to perform one or more processes based on the updated value, the system can discard the dependency graph, allowing a new dependency graph to be built for subsequent value changes.
Other inventorsSee patent -
Accessing and manipulating data in a data flow graph
Issued US 7761586
The present invention extends to methods, systems, and computer program products for accessing and manipulating data in a data flow graph. A data flow graph includes one more transforms for transforming data from one or more data stores into different formats accessible to clients. Transforms can be configured to join and split data from the same or different data stores. A metadata tree logically represents the data flow graph including locations that provide output from transforms of the data…
The present invention extends to methods, systems, and computer program products for accessing and manipulating data in a data flow graph. A data flow graph includes one more transforms for transforming data from one or more data stores into different formats accessible to clients. Transforms can be configured to join and split data from the same or different data stores. A metadata tree logically represents the data flow graph including locations that provide output from transforms of the data flow graph. The locations can be referenced by clients to access transformed outputs. Clients can register dependencies on data at various locations and can request evaluation of the data in response to data changes at a corresponding data store. Clients can also request data changes be propagated back through the data flow graph to one or more data stores and implemented at the one or more data stores.
Other inventorsSee patent -
Entity domains
Issued US 7680935
Strategies are described for organizing the runtime components of an application into an entity domain framework. The entity domain framework includes one or more entity domains arranged in a hierarchical fashion. Each entity domain further groups one or more components together in a hierarchical fashion. Each entity domain can include one or more services that provide a policy to the components within the entity domain. Composite functionality couples the framework together, and further…
Strategies are described for organizing the runtime components of an application into an entity domain framework. The entity domain framework includes one or more entity domains arranged in a hierarchical fashion. Each entity domain further groups one or more components together in a hierarchical fashion. Each entity domain can include one or more services that provide a policy to the components within the entity domain. Composite functionality couples the framework together, and further provides a bus-like mechanism whereby an entity can forward service requests up through the hierarchy until a domain is found that satisfies the requests. Exemplary services provided by the entity domain framework include lifetime management services, error handling services, and so forth. The hierarchical structure provides an efficient way of exposing functionality to groups of components that will share this functionality in a common context, without requiring costly and complex atomistic coupling of services to components or duplication of service instances.
Other inventorsSee patent -
Multithreading with concurrency domains
Issued US 7581225
Methods, systems and computer products are provided for partitioning software application components into separate domains called concurrency domains. Computationally expensive, slow or long-running methods may be deployed into such domains, thus keeping the associated application more responsive to the end user. According to one aspect of the invention, a given concurrency domain is a partition of runtime objects for providing synchronization and thread isolation within the partition and for…
Methods, systems and computer products are provided for partitioning software application components into separate domains called concurrency domains. Computationally expensive, slow or long-running methods may be deployed into such domains, thus keeping the associated application more responsive to the end user. According to one aspect of the invention, a given concurrency domain is a partition of runtime objects for providing synchronization and thread isolation within the partition and for providing concurrency with other such partitions in a data-driven dynamically composed and reconfigured application.
Other inventorsSee patent -
System and method for identifying namespaces
Issued US 7269823
Described is a system and method that enable the incorporation of one namespace into another namespace while avoiding name collisions by defining namespaces with a common name and a unique identifier. In accordance with the invention, a namespace may incorporate another namespace by unique identifier and assign an alias to that incorporated namespace. The use of the alias provides a developer with the flexibility to reference the imported namespace and its declarations by common…
Described is a system and method that enable the incorporation of one namespace into another namespace while avoiding name collisions by defining namespaces with a common name and a unique identifier. In accordance with the invention, a namespace may incorporate another namespace by unique identifier and assign an alias to that incorporated namespace. The use of the alias provides a developer with the flexibility to reference the imported namespace and its declarations by common, understandable, or human-meaningful names. In addition, name collisions between the imported namespace and local declarations are avoided by the uniqueness provided by the unique identifier. Furthermore, by way of re-exports, multiple parallel namespace hierarchies can be formed over the same definitions to reflect multiple parallel taxonomies.
Languages
-
German
Native or bilingual proficiency
-
English
Native or bilingual proficiency
Organizations
-
ACM
-
- Present
Recommendations received
1 person has recommended Clemens
Join now to viewOther similar profiles
Explore collaborative articles
We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.
Explore More