In a BACnet specification, the required functions and services are defined via Conformance Classes and Functional Groups. For each device, the manufacturer must provide a PICS to indicate which CCs and FGs are supported.
Conformance Classes 1 through 4 prescribe only services, no BACnet objects.
There is no unambiguous distinction made between clients and servers. Classes 1-3 apply only to servers whereas Class 4 describes mainly client services.
The Functional Groups are far more definitive than the Conformance Classes. They describe services for various applications (e.g., PC Workstations, Event Initiating Groups, ...). Here a distinction is made between client and server applications.
Rather than grouping objects and services together in ways that make it hard to fit the groups to real devices (which may be both clients and servers at different times), the BIBBs simply provide a shorthand way to specify which role a device must carry out to be a client or server for any particular service. Collections of BIBBs - possibly with the addition of certain required objects - can then be put together to define the communication requirements of real devices.